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

import builtins
import typing
__all__ = [
    "OptimizeSpec",
]

@typing.final
class OptimizeSpec:
    r"""
    Parameters for the ``Optimize`` (travel optimization) transformer.
    """
    @property
    def allow_flip(self) -> builtins.bool:
        r"""
        Whether flipping subpaths is allowed.
        """
    @property
    def preserve_first(self) -> builtins.bool:
        r"""
        Keep the first workpiece in place.
        """
    @property
    def preserve_order(self) -> builtins.list[builtins.str]:
        r"""
        Workpiece UIDs whose order to preserve.
        """
    def __eq__(self, other: builtins.object, /) -> builtins.bool: ...
    def __new__(cls, allow_flip: builtins.bool, preserve_first: builtins.bool, preserve_order: typing.Sequence[builtins.str]) -> OptimizeSpec: ...

