import type { SceneCapturedPose, SceneSpatialObservation, StaticSurfaceObservation, Vector3Value } from "@skenora/contracts"; import { type MotionPathBakeOptions, type SpatialArrangement } from "@skenora/geometry"; import { type SceneMutationContext, type SceneMutationResult } from "./mutations.js"; export { bakeMotionPath, createSpatialArrangement, SPATIAL_LAYOUT_LIMITS, } from "@skenora/geometry"; export type { MotionPathBakeOptions, MotionPathBakeResult, SpatialArrangement, } from "@skenora/geometry"; export type SceneBoundsAnchor = "center" | "top-center" | "bottom-center" | "left-center" | "right-center" | "front-center" | "back-center"; /** World-axis AABB anchors, not inferred semantic front/up or collision solving. */ export declare function planSceneBoundsPlacement(entityId: string, targetEntityId: string, observation: SceneSpatialObservation, context: SceneMutationContext, options?: { sourceAnchor?: SceneBoundsAnchor; targetAnchor?: SceneBoundsAnchor; offset?: Vector3Value; }): SceneMutationResult; /** Preserve input order and the other axes; gap is measured between world AABB faces. */ export declare function planSceneSpacing(entityIds: readonly string[], observation: SceneSpatialObservation, context: SceneMutationContext, options: { axis: "x" | "y" | "z"; gap: number; center?: number; }): SceneMutationResult; export declare function planSceneArrangement(entityIds: readonly string[], pattern: SpatialArrangement, observation: SceneSpatialObservation, context: SceneMutationContext): SceneMutationResult; /** Translation only: move the current AABB's support plane onto the observed surface. */ export declare function planSceneSurfacePlacement(entityId: string, surface: StaticSurfaceObservation, observation: SceneSpatialObservation, context: SceneMutationContext, options?: { offset?: number; anchorId?: string; }): SceneMutationResult; /** Explicit point/anchor alignment, with rotations and scaling preserved. */ export declare function planSceneAnchorAlignment(entityId: string, anchorId: string, target: { entityId: string; anchorId: string; } | { point: Vector3Value; }, observation: SceneSpatialObservation, context: SceneMutationContext): SceneMutationResult; export declare function planSceneMotionPath(options: MotionPathBakeOptions, context: SceneMutationContext): SceneMutationResult; export declare function planSceneCapturedPose(pose: SceneCapturedPose, context: SceneMutationContext): SceneMutationResult; //# sourceMappingURL=spatial.d.ts.map