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

import collections.abc
__all__ = [
    "find_slot_path",
]

def find_slot_path(slot_polygon: collections.abc.Sequence[tuple[float, float]], entry_edges: collections.abc.Sequence[int], entry_point: tuple[float, float], tool_radius: float = 3) -> list[tuple[float, float]] | None:
    r"""
    Find the 2D carrier axis for a slot clearing operation.
    
    Returns a ``[(x1, y1), (x2, y2)]`` list representing the longitudinal
    axis of the slot, with the first point on the entry side. Both points
    are valid tool centres that fit within the eroded slot.
    
    :param slot_polygon: Slot polygon as ``[(x, y), ...]``.
    :param entry_edges: Indices of entry edges into the slot polygon.
    :param entry_point: Entry point ``(x, y)`` (used only for side
        determination).
    :param tool_radius: Tool radius in mm (default 3.0).
    :returns: ``[(x1, y1), (x2, y2)]`` or ``None`` if the slot is too
        narrow.
    """

