import type { Vec3 } from '../math/vec3.js'; import { type StepSlideMoveOutcome } from './slide.js'; import type { PmoveCmd, PmoveTraceFn } from './types.js'; import { type PmFlags, PmType, WaterLevel } from './constants.js'; interface BaseMoveParams { readonly origin: Vec3; readonly velocity: Vec3; readonly frametime: number; readonly mins: Vec3; readonly maxs: Vec3; readonly trace: PmoveTraceFn; readonly overbounce?: number; readonly stepSize?: number; readonly maxBumps?: number; readonly maxClipPlanes?: number; readonly hasTime?: boolean; } export interface AirMoveParams extends BaseMoveParams { readonly cmd: PmoveCmd; readonly forward: Vec3; readonly right: Vec3; readonly pmFlags: PmFlags; readonly onGround: boolean; readonly gravity: number; readonly pmType: PmType; readonly pmAccelerate: number; readonly pmAirAccelerate?: number; readonly pmMaxSpeed: number; readonly pmDuckSpeed: number; readonly onLadder: boolean; readonly waterlevel: WaterLevel; readonly watertype: number; readonly groundContents: number; readonly viewPitch: number; readonly ladderMod: number; readonly pmWaterSpeed: number; } export interface WaterMoveParams extends BaseMoveParams { readonly cmd: PmoveCmd; readonly forward: Vec3; readonly right: Vec3; readonly pmFlags: PmFlags; readonly onGround: boolean; readonly pmMaxSpeed: number; readonly pmDuckSpeed: number; readonly pmWaterAccelerate: number; readonly pmWaterSpeed: number; readonly onLadder: boolean; readonly watertype: number; readonly groundContents: number; readonly waterlevel: WaterLevel; readonly viewPitch: number; readonly ladderMod: number; } export interface WalkMoveParams extends BaseMoveParams { readonly cmd: PmoveCmd; readonly forward: Vec3; readonly right: Vec3; readonly pmFlags: PmFlags; readonly onGround: boolean; readonly gravity: number; readonly pmType: PmType; readonly pmAccelerate: number; readonly pmMaxSpeed: number; readonly pmDuckSpeed: number; readonly onLadder: boolean; readonly waterlevel: WaterLevel; readonly watertype: number; readonly groundContents: number; readonly viewPitch: number; readonly ladderMod: number; readonly pmWaterSpeed: number; } export declare function applyPmoveAirMove(params: AirMoveParams): StepSlideMoveOutcome; export declare function applyPmoveWaterMove(params: WaterMoveParams): StepSlideMoveOutcome; export declare function applyPmoveWalkMove(params: WalkMoveParams): StepSlideMoveOutcome; export {}; //# sourceMappingURL=move.d.ts.map