import { type WallNode } from '@pascal-app/core'; /** * Keep the door handle at the same relative height when the door is resized: * scale it by the height ratio, then clamp to the panel's slider bounds * [0.5, height - 0.1] so it never lands outside the (possibly shrunk) door. * Used by both the height-resize arrow and the panel's Height slider so the * handle tracks the door whichever way it's resized. */ export declare function scaleHandleHeight(handleHeight: number, oldHeight: number, newHeight: number): number; /** * Converts wall-local (X along wall, Y = height above wall base, Z = offset * from the wall centre plane along its normal) to world XYZ. */ export declare function wallLocalToWorld(wallNode: WallNode, localX: number, localY: number, levelYOffset?: number, slabElevation?: number, localZ?: number): [number, number, number]; /** Door centre on its wall: the shared rule in core (`clampDoorToWall`). */ export { clampDoorToWall as clampToWall } from '@pascal-app/core/building'; export { hasWallChildOverlap } from '../shared/wall-attach-target.js'; //# sourceMappingURL=door-math.d.ts.map