import { Box3, Vector3 } from 'three';
import { OBB } from 'three/examples/jsm/math/OBB.js';
export declare class AsyncPause {
    private lastPauseTime;
    needsWait: boolean;
    tick(maxDelta: number): void;
    wait(waitTime: number): Promise<void>;
}
export declare class World {
    private readonly boxes;
    readonly worldBox: Box3;
    private readonly VecBuff;
    private readonly BoxBuff0;
    private readonly BoxBuff1;
    private _worldOrigin;
    get worldSize(): {
        x: number;
        y: number;
        z: number;
    };
    get worldOrigin(): Vector3;
    expandWorld(box: Box3): void;
    reduceWorld(box: Box3): void;
    updateWorld(): void;
    resetWorld(): void;
    getRelativeOffset(offsetAmount?: number): number;
    getRelativeOffsetBox(box: Box3, offsetAmount?: number): Box3;
    static expandBoxRelative<T extends OBB | Box3>(box: T, offsetAmount?: number): T;
    private static expandBox3Relative;
    private static expandOBBRelative;
}
