import { type AnyNode, type LevelNode, type RoofNode, type RoofSupport } from '@pascal-app/core'; export type ConicalRoofLevelPlacement = { valid: true; kind: 'level'; position: [number, number, number]; wallHeight: number; support: Extract; }; export type ConicalRoofSurfacePlacement = { valid: true; kind: 'roof'; position: [number, number, number]; wallHeight: number; hostRoofId: RoofNode['id']; support: Extract; }; export type ConicalRoofInvalidPlacement = { valid: false; reason: 'no-roof-support'; }; export type ConicalRoofPlacement = ConicalRoofLevelPlacement | ConicalRoofSurfacePlacement | ConicalRoofInvalidPlacement; export type ResolveConicalRoofPlacementInput = { nodes: Readonly>; levelId: LevelNode['id']; center: readonly [number, number]; radius: number; curbHeight: number; allowRoofSupport: boolean; requireRoofSupport: boolean; }; export declare function resolveConicalRoofPlacement({ nodes, levelId, center, radius, curbHeight, allowRoofSupport, requireRoofSupport, }: ResolveConicalRoofPlacementInput): ConicalRoofPlacement; //# sourceMappingURL=conical-roof-placement.d.ts.map