import { type StairNode } from '@pascal-app/core'; export declare function useStairTotalRise(stair: StairNode): number; export declare function useStairRenderData(stair: StairNode): { stair: { 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: `stair_${string}`; type: "stair"; material?: { id?: string | undefined; preset?: "brick" | "concrete" | "custom" | "glass" | "marble" | "metal" | "plaster" | "tile" | "white" | "wood" | undefined; properties?: { color: string; roughness: number; metalness: number; opacity: number; transparent: boolean; side: "back" | "double" | "front"; } | undefined; texture?: { url: string; repeat?: [number, number] | undefined; scale?: number | undefined; } | undefined; } | undefined; materialPreset?: string | undefined; railingMaterial?: { id?: string | undefined; preset?: "brick" | "concrete" | "custom" | "glass" | "marble" | "metal" | "plaster" | "tile" | "white" | "wood" | undefined; properties?: { color: string; roughness: number; metalness: number; opacity: number; transparent: boolean; side: "back" | "double" | "front"; } | undefined; texture?: { url: string; repeat?: [number, number] | undefined; scale?: number | undefined; } | undefined; } | undefined; railingMaterialPreset?: string | undefined; treadMaterial?: { id?: string | undefined; preset?: "brick" | "concrete" | "custom" | "glass" | "marble" | "metal" | "plaster" | "tile" | "white" | "wood" | undefined; properties?: { color: string; roughness: number; metalness: number; opacity: number; transparent: boolean; side: "back" | "double" | "front"; } | undefined; texture?: { url: string; repeat?: [number, number] | undefined; scale?: number | undefined; } | undefined; } | undefined; treadMaterialPreset?: string | undefined; sideMaterial?: { id?: string | undefined; preset?: "brick" | "concrete" | "custom" | "glass" | "marble" | "metal" | "plaster" | "tile" | "white" | "wood" | undefined; properties?: { color: string; roughness: number; metalness: number; opacity: number; transparent: boolean; side: "back" | "double" | "front"; } | undefined; texture?: { url: string; repeat?: [number, number] | undefined; scale?: number | undefined; } | undefined; } | undefined; sideMaterialPreset?: string | undefined; slots?: Record | undefined; position: [number, number, number]; rotation: number; supportSlabId?: string | undefined; stairType: "curved" | "spiral" | "straight"; fromLevelId: string | null; toLevelId: string | null; deckSlabId?: string | undefined; slabOpeningMode: "destination" | "none"; openingOffset: number; width: number; totalRise?: number | undefined; designTargets?: { maxRiserHeight: number; minimumGoing: number; targetGoing: number; minimumHeadroom: number; } | undefined; uniformRisers?: boolean | undefined; stepCount: number; autoSurfaceSnap?: boolean | undefined; destinationSurfaceId?: string | undefined; thickness: number; fillToFloor: boolean; construction?: { mode: "center-stringer" | "open" | "side-stringers" | "solid" | "waist"; waistThickness: number; treadThickness: number; riserThickness: number; nosing: number; finishThickness: number; closedRisers: boolean; stringerWidth: number; stringerDepth: number; } | undefined; innerRadius: number; sweepAngle: number; topLandingMode: "integrated" | "none"; topLandingDepth: number; showCenterColumn: boolean; showStepSupports: boolean; railingMode: "both" | "left" | "none" | "right"; railingHeight: number; railingStyle?: "balusters" | "boards" | "cable" | "glass" | "metal" | "post-and-rail" | undefined; railingPath?: "continuous" | "original" | undefined; handrail?: { mode: "both" | "left" | "none" | "right"; height: number; diameter: number; offset: number; bottom?: { extension: number; return: "floor" | "none" | "post" | "wall"; returnLength: number; } | undefined; top?: { extension: number; return: "floor" | "none" | "post" | "wall"; returnLength: number; } | undefined; } | undefined; railingTopPost?: boolean | undefined; railingTopReach?: number | undefined; railingPostThrough?: boolean | undefined; children: `sseg_${string}`[]; }; segments: { 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: `sseg_${string}`; type: "stair-segment"; material?: { id?: string | undefined; preset?: "brick" | "concrete" | "custom" | "glass" | "marble" | "metal" | "plaster" | "tile" | "white" | "wood" | undefined; properties?: { color: string; roughness: number; metalness: number; opacity: number; transparent: boolean; side: "back" | "double" | "front"; } | undefined; texture?: { url: string; repeat?: [number, number] | undefined; scale?: number | undefined; } | undefined; } | undefined; materialPreset?: string | undefined; slots?: Record | undefined; position: [number, number, number]; rotation: number; segmentType: "landing" | "stair"; width: number; length: number; height: number; stepCount: number; attachmentSide: "front" | "left" | "right"; fillToFloor: boolean; construction?: { mode: "center-stringer" | "open" | "side-stringers" | "solid" | "waist"; waistThickness: number; treadThickness: number; riserThickness: number; nosing: number; finishThickness: number; closedRisers: boolean; stringerWidth: number; stringerDepth: number; } | undefined; winder?: { turn: "left" | "right"; innerGap: number; walkingLineOffset: number; division: "equal-angle" | "equal-going"; } | undefined; thickness: number; }[]; nodes: { [k: string]: { 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: `sseg_${string}`; type: "stair-segment"; material?: { id?: string | undefined; preset?: "brick" | "concrete" | "custom" | "glass" | "marble" | "metal" | "plaster" | "tile" | "white" | "wood" | undefined; properties?: { color: string; roughness: number; metalness: number; opacity: number; transparent: boolean; side: "back" | "double" | "front"; } | undefined; texture?: { url: string; repeat?: [number, number] | undefined; scale?: number | undefined; } | undefined; } | undefined; materialPreset?: string | undefined; slots?: Record | undefined; position: [number, number, number]; rotation: number; segmentType: "landing" | "stair"; width: number; length: number; height: number; stepCount: number; attachmentSide: "front" | "left" | "right"; fillToFloor: boolean; construction?: { mode: "center-stringer" | "open" | "side-stringers" | "solid" | "waist"; waistThickness: number; treadThickness: number; riserThickness: number; nosing: number; finishThickness: number; closedRisers: boolean; stringerWidth: number; stringerDepth: number; } | undefined; winder?: { turn: "left" | "right"; innerGap: number; walkingLineOffset: number; division: "equal-angle" | "equal-going"; } | undefined; thickness: number; }; }; totalRise: number; }; export type StairRenderData = ReturnType; //# sourceMappingURL=use-stair-render-data.d.ts.map