import type { FloorOpeningNode, FloorplanGeometry, GeometryContext } from '@pascal-app/core'; /** * A floor opening on the plan: a dashed amber outline (the void the surfaces * around it show), and — while selected — the same corner, midpoint and edge * handles slabs and zones use. */ export declare function buildFloorOpeningFloorplan(node: FloorOpeningNode, ctx: GeometryContext): FloorplanGeometry | null; export declare const floorOpeningMoveVertexAffordance: import("@pascal-app/core").FloorplanAffordance<{ object: "node"; name?: string | undefined; parentId: string | null; visible: boolean; camera?: { position: [number, number, number]; target: [number, number, number]; mode: "orthographic" | "perspective"; fov?: number | undefined; zoom?: number | undefined; } | undefined; metadata: Record; provenance?: { refs: { ns?: string | undefined; id: string; role?: "absorbed" | "alias" | "derived" | "piece" | "primary" | undefined; }[]; lineage?: { op: "attach" | "convert" | "duplicate" | "import" | "make-independent" | "merge" | "promote" | "split"; fromIds: string[]; } | undefined; } | undefined; id: `floor-opening_${string}`; type: "floor-opening"; polygon: [number, number][]; hostZoneId?: string | undefined; legacyPlateCuts?: Record | undefined; legacyCeilingCuts?: Record | undefined; source: string; ownerId?: string | undefined; surfaceId?: string | undefined; drawnOn: "ceiling" | "floor"; cutsPrimary: boolean; cutsAdjacent: boolean; }>; export declare const floorOpeningAddVertexAffordance: import("@pascal-app/core").FloorplanAffordance<{ object: "node"; name?: string | undefined; parentId: string | null; visible: boolean; camera?: { position: [number, number, number]; target: [number, number, number]; mode: "orthographic" | "perspective"; fov?: number | undefined; zoom?: number | undefined; } | undefined; metadata: Record; provenance?: { refs: { ns?: string | undefined; id: string; role?: "absorbed" | "alias" | "derived" | "piece" | "primary" | undefined; }[]; lineage?: { op: "attach" | "convert" | "duplicate" | "import" | "make-independent" | "merge" | "promote" | "split"; fromIds: string[]; } | undefined; } | undefined; id: `floor-opening_${string}`; type: "floor-opening"; polygon: [number, number][]; hostZoneId?: string | undefined; legacyPlateCuts?: Record | undefined; legacyCeilingCuts?: Record | undefined; source: string; ownerId?: string | undefined; surfaceId?: string | undefined; drawnOn: "ceiling" | "floor"; cutsPrimary: boolean; cutsAdjacent: boolean; }>; export declare const floorOpeningMoveEdgeAffordance: import("@pascal-app/core").FloorplanAffordance<{ object: "node"; name?: string | undefined; parentId: string | null; visible: boolean; camera?: { position: [number, number, number]; target: [number, number, number]; mode: "orthographic" | "perspective"; fov?: number | undefined; zoom?: number | undefined; } | undefined; metadata: Record; provenance?: { refs: { ns?: string | undefined; id: string; role?: "absorbed" | "alias" | "derived" | "piece" | "primary" | undefined; }[]; lineage?: { op: "attach" | "convert" | "duplicate" | "import" | "make-independent" | "merge" | "promote" | "split"; fromIds: string[]; } | undefined; } | undefined; id: `floor-opening_${string}`; type: "floor-opening"; polygon: [number, number][]; hostZoneId?: string | undefined; legacyPlateCuts?: Record | undefined; legacyCeilingCuts?: Record | undefined; source: string; ownerId?: string | undefined; surfaceId?: string | undefined; drawnOn: "ceiling" | "floor"; cutsPrimary: boolean; cutsAdjacent: boolean; }>; export declare const floorOpeningDeleteVertexAffordance: import("@pascal-app/core").FloorplanAffordance<{ object: "node"; name?: string | undefined; parentId: string | null; visible: boolean; camera?: { position: [number, number, number]; target: [number, number, number]; mode: "orthographic" | "perspective"; fov?: number | undefined; zoom?: number | undefined; } | undefined; metadata: Record; provenance?: { refs: { ns?: string | undefined; id: string; role?: "absorbed" | "alias" | "derived" | "piece" | "primary" | undefined; }[]; lineage?: { op: "attach" | "convert" | "duplicate" | "import" | "make-independent" | "merge" | "promote" | "split"; fromIds: string[]; } | undefined; } | undefined; id: `floor-opening_${string}`; type: "floor-opening"; polygon: [number, number][]; hostZoneId?: string | undefined; legacyPlateCuts?: Record | undefined; legacyCeilingCuts?: Record | undefined; source: string; ownerId?: string | undefined; surfaceId?: string | undefined; drawnOn: "ceiling" | "floor"; cutsPrimary: boolean; cutsAdjacent: boolean; }>; //# sourceMappingURL=floorplan.d.ts.map