# SPDX-License-Identifier: LGPL-2.1-or-later
# SPDX-FileCopyrightText: 2025 Billy Huddleston <billy@ivdc.com>
# SPDX-FileNotice: Part of the FreeCAD project.

################################################################################
#                                                                              #
#   FreeCAD is free software: you can redistribute it and/or modify            #
#   it under the terms of the GNU Lesser General Public License as             #
#   published by the Free Software Foundation, either version 2.1              #
#   of the License, or (at your option) any later version.                     #
#                                                                              #
#   FreeCAD is distributed in the hope that it will be useful,                 #
#   but WITHOUT ANY WARRANTY; without even the implied warranty                #
#   of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.                    #
#   See the GNU Lesser General Public License for more details.                #
#                                                                              #
#   You should have received a copy of the GNU Lesser General Public           #
#   License along with FreeCAD. If not, see https://www.gnu.org/licenses       #
#                                                                              #
################################################################################

from .machine import (
    Machine,
    MachineFactory,
    LinearAxis,
    RotaryAxis,
    Toolhead,
    ToolheadType,
    MachineUnits,
    OutputUnits,
    OutputOptions,
    ProcessingOptions,
)

# Legacy compatibility aliases
Spindle = Toolhead
SpindleType = ToolheadType

__all__ = [
    "Machine",
    "MachineFactory",
    "LinearAxis",
    "RotaryAxis",
    "Toolhead",
    "ToolheadType",
    "Spindle",  # Legacy alias
    "SpindleType",  # Legacy alias
    "MachineUnits",
    "OutputUnits",
    "OutputOptions",
    "ProcessingOptions",
]
