import { type Vec3 } from '../math/vec3.js'; import { type StepSlideMoveOutcome } from './slide.js'; import type { PmoveCmd, PmoveTraceFn } from './types.js'; export interface FlyMoveParams { readonly origin: Vec3; readonly velocity: Vec3; readonly cmd: PmoveCmd; readonly forward: Vec3; readonly right: Vec3; readonly frametime: number; readonly pmFriction: number; readonly pmStopSpeed: number; readonly pmMaxSpeed: number; readonly pmAccelerate: number; readonly pmWaterSpeed: number; readonly doclip: boolean; readonly mins?: Vec3; readonly maxs?: Vec3; readonly trace?: PmoveTraceFn; readonly overbounce?: number; readonly stepSize?: number; readonly maxBumps?: number; readonly maxClipPlanes?: number; } export type FlyMoveResult = StepSlideMoveOutcome; /** * Pure translation of PM_FlyMove from rerelease `p_move.cpp`: applies the * spectator/noclip friction and acceleration rules, then either advances the * origin freely or resolves movement through `stepSlideMove` when clipping is * requested. This keeps the spectator and noclip physics deterministic between * the client and server. */ export declare function applyPmoveFlyMove(params: FlyMoveParams): FlyMoveResult; //# sourceMappingURL=fly.d.ts.map