"""HVAKR API schema definitions."""

from hvakr.schemas.common import (
    Box,
    DisplayUnitSystemId,
    Point,
    Polygon,
    Rect,
    Size,
)
from hvakr.schemas.graph import (
    AdjacencyType,
    AssociatedAdjacencyData,
    AssociatedNodeData,
    CentralUnitNodeData,
    CircleDuctSize,
    CoordinateNodeData,
    DuctAdjacencyData,
    DuctSize,
    DuctSizeType,
    FittingNodeData,
    FlowType,
    Graph,
    GraphAdjacency,
    GraphNode,
    LinkAdjacencyData,
    NodeData,
    NodeType,
    PortalNodeData,
    RectangleDuctSize,
    RegisterNodeData,
    RegisterPlacementType,
    RegisterSpecificData,
    Selection,
    TerminalUnitNodeData,
)
from hvakr.schemas.outputs import (
    APIOutputType,
    APIProjectOutputDrySideGraph,
    APIProjectOutputLoads,
    APIProjectOutputRegisterSchedule,
    CoolingLoads,
    ErrorInfo,
    HeatingLoads,
    HourlyLoads,
    MetaDrySideAdjacencyData,
    MetaDrySideDuctAdjacency,
    MetaDrySideGraph,
    MetaDrySideGraphNode,
    MetaDrySideLinkAdjacency,
    MetaDrySideNodeData,
    MonthlyLoads,
    RegisterModelType,
    SpaceRegisterScheduleRow,
)
from hvakr.schemas.project import (
    BuildingData,
    CentralUnitConfiguration,
    CentralUnitDimensionData,
    ComputedProjectData,
    Constraint,
    Contact,
    CoolingCoilData,
    CoolingCoilType,
    CoolingPercent,
    DiversityData,
    DoorData,
    DoorTypeData,
    DrySideData,
    DuctSizingData,
    DuctTypeData,
    Edge,
    EdgeExposure,
    ElbowData,
    ExpandedProject,
    ExpandedProjectPatch,
    ExpandedProjectPost,
    ExternalShadingData,
    FittingsConfig,
    HeatingCoilData,
    HeatingCoilType,
    HeatingPercent,
    InfiltrationRequirementMethod,
    InternalShadingData,
    MapSpec,
    MapType,
    OutsideAirData,
    OutsideAirMethod,
    PipeTypeData,
    Project,
    ProjectData,
    ProjectPost,
    ProjectSubcollections,
    ProjectType,
    ProjectUserData,
    ProjectUserRole,
    RegisterTypeData,
    ReturnAirData,
    Revision,
    RoofTypeData,
    SheetData,
    SheetFileData,
    SkylightData,
    SlabTypeData,
    SpaceData,
    SpaceTypeData,
    Standard,
    SupplyAirData,
    SystemData,
    TransitionData,
    VentilationStandard,
    VersionSetData,
    WallTypeData,
    WeatherSpec,
    WindowData,
    WindowTypeData,
    WyeData,
    ZoneData,
)
from hvakr.schemas.revit import (
    RevitBoundarySegment,
    RevitData,
    RevitSpaceData,
)
from hvakr.schemas.weather import (
    MonthlyBulbTemps,
    WeatherStationData,
)

__all__ = [
    # Common
    "Box",
    "DisplayUnitSystemId",
    "Point",
    "Polygon",
    "Rect",
    "Size",
    # Graph
    "AdjacencyType",
    "AssociatedAdjacencyData",
    "AssociatedNodeData",
    "CentralUnitNodeData",
    "CircleDuctSize",
    "CoordinateNodeData",
    "DuctAdjacencyData",
    "DuctSize",
    "DuctSizeType",
    "FittingNodeData",
    "FlowType",
    "Graph",
    "GraphAdjacency",
    "GraphNode",
    "LinkAdjacencyData",
    "NodeData",
    "NodeType",
    "PortalNodeData",
    "RectangleDuctSize",
    "RegisterNodeData",
    "RegisterPlacementType",
    "RegisterSpecificData",
    "Selection",
    "TerminalUnitNodeData",
    # Outputs
    "APIOutputType",
    "APIProjectOutputDrySideGraph",
    "APIProjectOutputLoads",
    "APIProjectOutputRegisterSchedule",
    "CoolingLoads",
    "ErrorInfo",
    "HeatingLoads",
    "HourlyLoads",
    "MetaDrySideAdjacencyData",
    "MetaDrySideDuctAdjacency",
    "MetaDrySideGraph",
    "MetaDrySideGraphNode",
    "MetaDrySideLinkAdjacency",
    "MetaDrySideNodeData",
    "MonthlyLoads",
    "RegisterModelType",
    "SpaceRegisterScheduleRow",
    # Project
    "BuildingData",
    "CentralUnitConfiguration",
    "CentralUnitDimensionData",
    "ComputedProjectData",
    "Constraint",
    "Contact",
    "CoolingCoilData",
    "CoolingCoilType",
    "CoolingPercent",
    "DiversityData",
    "DoorData",
    "DoorTypeData",
    "DrySideData",
    "DuctSizingData",
    "DuctTypeData",
    "Edge",
    "EdgeExposure",
    "ElbowData",
    "ExpandedProject",
    "ExpandedProjectPatch",
    "ExpandedProjectPost",
    "ExternalShadingData",
    "FittingsConfig",
    "HeatingCoilData",
    "HeatingCoilType",
    "HeatingPercent",
    "InfiltrationRequirementMethod",
    "InternalShadingData",
    "MapSpec",
    "MapType",
    "OutsideAirData",
    "OutsideAirMethod",
    "PipeTypeData",
    "Project",
    "ProjectData",
    "ProjectPost",
    "ProjectSubcollections",
    "ProjectType",
    "ProjectUserData",
    "ProjectUserRole",
    "RegisterTypeData",
    "ReturnAirData",
    "Revision",
    "RoofTypeData",
    "SheetData",
    "SheetFileData",
    "SkylightData",
    "SlabTypeData",
    "SpaceData",
    "SpaceTypeData",
    "Standard",
    "SupplyAirData",
    "SystemData",
    "TransitionData",
    "VentilationStandard",
    "VersionSetData",
    "WallTypeData",
    "WeatherSpec",
    "WindowData",
    "WindowTypeData",
    "WyeData",
    "ZoneData",
    # Revit
    "RevitBoundarySegment",
    "RevitData",
    "RevitSpaceData",
    # Weather
    "MonthlyBulbTemps",
    "WeatherStationData",
]
