import type { SceneSpatialObservation, Vector3Value } from "@skenora/contracts"; import { type SceneExplosionOptions } from "../description/explosion.js"; import { type SceneMutationContext } from "./mutations.js"; export interface SceneExplosionPlanOptions extends SceneExplosionOptions { mode?: "radial" | "axis"; axis?: "x" | "y" | "z"; /** World-space distance; axis mode separates successive input parts by this amount. */ distance?: number; center?: Vector3Value; /** Explicit world-space overrides for selected parts only. */ offsets?: Readonly>; } export declare function planSceneExplosion(entityIds: readonly string[], observation: SceneSpatialObservation, context: SceneMutationContext, options?: SceneExplosionPlanOptions): { readonly ok: false; readonly diagnostics: readonly import("..").ScenePlanDiagnostic[]; readonly preview?: import("./details.js").SceneChangePreview; } | { explosion: import("..").SceneExplosion; ok: true; patch: import("..").ScenePatch; preview: import("./details.js").SceneChangePreview; diagnostics: readonly import("..").ScenePlanDiagnostic[]; }; //# sourceMappingURL=explosion.d.ts.map