import { type AnyNode, type AnyNodeId, type FenceConstructionOptions as FenceCommitOptions, FenceNode, type SceneApi, type WallNode } from '@pascal-app/core'; import { type WallPlanPoint } from '@pascal-app/editor'; export type FencePlanPoint = WallPlanPoint; export type FenceDraftContext = { sceneApi: SceneApi; levelId: AnyNodeId | null; }; export declare function getFenceInheritedDefaults(start: FencePlanPoint, context: FenceDraftContext, currentNodes?: ReturnType): Partial | null; export declare function getFenceDrawingSurface(nodes?: Record, id?: unknown, levelId?: `level_${string}` | null, levelMode?: "exploded" | "manual" | "solo" | "stacked"): { id: string; boundary: readonly (readonly [number, number])[]; levelElevation: number; elevation: number; } | null; export declare function snapFenceDraftPoint(args: { point: FencePlanPoint; walls: WallNode[]; fences: FenceNode[]; start?: FencePlanPoint; angleSnap?: boolean; ignoreFenceIds?: string[]; bypassSnap?: boolean; magnetic?: boolean; /** Override the grid step. */ step?: number; /** * Optional grid-snap function. When provided, replaces the default * local-axis snap — lets the 2D floor-plan keep snapping to the * world XZ grid even when the building is rotated. Wall / fence * endpoint snap precedence is preserved. */ gridSnap?: (point: FencePlanPoint) => FencePlanPoint; }): FencePlanPoint; export declare function createFenceOnCurrentLevel(start: FencePlanPoint, end: FencePlanPoint, options: FenceCommitOptions | undefined, context: FenceDraftContext): FenceNode | null; /** * Commit a smooth spline fence from a list of drawn control points. The * centerline becomes a Catmull-Rom curve through `path`; `start`/`end` are * pinned to the first/last point so endpoint handles, bbox, and miter * references stay valid. Requires >= 2 points spanning a usable distance. */ export declare function createSplineFenceOnCurrentLevel(path: FencePlanPoint[], tangents: FenceNode['tangents'] | undefined, context: FenceDraftContext): FenceNode | null; //# sourceMappingURL=drafting.d.ts.map