import { Vector3, Quaternion } from "three"; import { World } from '../core/World'; import { Object3DEntity } from "../core/entities"; export declare const PhysicsCharacterControllerGroup = 1; export declare const CharacterPhysicsGroup = 1; export declare const CharacterInteractionGroup: number; export declare const CharacterShapecastInteractionGroup: number; export declare const PhysicsCharacterControllerActions: { Move: string; Jump: string; Sprint: string; Crouch: string; }; interface PhysicsCharacterControllerProps { walkSpeed: number; drag: number; maxWalkSpeed: number; jumpForce: number; inAirModifier: number; inAirDrag: number; crouchModifier: number; crouchJumpModifier: number; minSlideSpeed: number; slideModifier: number; slideDrag: number; slideCooldown: number; sprintModifier: number; maxSprintSpeed: number; } export declare const PhysicsCharacterControllerComponent: import("../core/ECS").MapComponent; export declare function addPhysicsCharacterControllerComponent(world: World, eid: number, props?: Partial): void; interface InternalPhysicsCharacterController { moveForce: Vector3; dragForce: Vector3; linearVelocity: Vector3; shapeCastPosition: Vector3; shapeCastRotation: Quaternion; isSliding: boolean; slideForce: Vector3; lastSlideTime: number; } export declare const InternalPhysicsCharacterControllerComponent: import("../core/ECS").MapComponent; export declare function addPhysicsCharacterControllerEntity(world: World, parent?: number): Object3DEntity; export declare const PhysicsCharacterControllerSystem: (world: World) => World; export {};