# This file is automatically generated by pyo3_stub_gen
# ruff: noqa: E501, F401, F403, F405

import collections.abc
import raygeo
__all__ = [
    "emit_resume_travel",
    "try_resume",
]

def emit_resume_travel(part: raygeo.ops.part.Part, ops: raygeo.ops.Ops, to_pt: tuple[float, float, float], radius: float = 3, cut_z: float = -5, cleared: raygeo.ops.part.cleared_area.ClearedArea | None = None, from_pt: tuple[float, float, float] = (0, 0, 0), axis: raygeo.geo.algo.medial_axis.MedialAxis | None = None) -> None:
    r"""
    Emit a resume travel to *to_pt* using the routing strategies.
    """

def try_resume(part: raygeo.ops.part.Part, cleared: raygeo.ops.part.cleared_area.ClearedArea, ops: raygeo.ops.Ops, tool: raygeo.ops.assembly.adaptive.tool.Tool, radius: float = 3, step_over: float = 1.5, cut_z: float = -5, max_deflection_deg: float = 30, valid_tool_area: collections.abc.Sequence[collections.abc.Sequence[tuple[float, float]]] = [], axis: raygeo.geo.algo.medial_axis.MedialAxis | None = None, last_resume_area: float = -1, cut_direction: str = 'ccw', segment_start: tuple[float, float, float] = (0, 0, 0), segment_heading: float = 0) -> bool:
    r"""
    Try to recover after the tool stalls or is detected as stuck.
    
    :param cut_direction: ``"cw"`` or ``"ccw"``.
    """

