import type { GameContext } from "../runtime/gameContextTypes.js"; import type { MotionIntents } from "../runtime/motionIntents.js"; /** The game selects affected players, coupling, target bits and its acceleration limit. */ export interface EnvironmentMotionTarget { entityId: string; motion: Pick; /** Wind coupling in 1/second; supported range 0..1e12. */ windResponse: number; /** Maximum combined acceleration in metres/second²; supported range 0..1e12. */ maxAcceleration: number; mask?: number; /** Opt into authored shelter exposure scaling for wind and localized forces. */ sheltered?: boolean; } /** Inject authoritative spatial forces before existing movement consumes its motion intents. * @capability environment-motion apply capped spatial wind and vortex forces to game-selected actors through shared motion intents */ export declare function installEnvironmentMotion(ctx: GameContext, options: { targets: () => readonly EnvironmentMotionTarget[]; maxTargets?: number; }): () => void;