import { type World } from '@dimforge/rapier3d-compat';
import { type CurrentWritable, type Stage } from '@threlte/core';
import { Object3D, Quaternion, Vector3 } from 'three';
import type { ColliderEvents, Framerate, RigidBodyEvents } from '../types/types';
type PhysicsUserData = {
    currentPosition: Vector3;
    currentQuaternion: Quaternion;
    lastPosition: Vector3;
    lastQuaternion: Quaternion;
    resetPosition: boolean;
    resetRotation: boolean;
};
export declare const initializeRigidBodyUserData: (obj: Object3D) => PhysicsUserData;
export declare const setInitialRigidBodyState: (obj: Object3D, initialPosition: Vector3, initialQuaternion: Quaternion) => void;
export declare const createPhysicsTasks: (world: World, framerate: CurrentWritable<Framerate>, simulationOffset: CurrentWritable<number>, rigidBodyObjects: Map<number, Object3D>, updateRigidBodySimulationData: CurrentWritable<boolean>, colliderEventDispatchers: Map<number, ColliderEvents>, rigidBodyEventDispatchers: Map<number, RigidBodyEvents>, simulationStage: Stage, synchronizationStage: Stage) => {
    simulationTask: import("@threlte/core").Task;
    synchronizationTask: import("@threlte/core").Task;
};
export {};
