import type { InputSnapshot } from "../InputSnapshot";
import { type CameraTransformLike, type Vec3Like } from "./ControlTypes";
export declare const DEFAULT_ORBIT_MAX_POLAR: number;
export interface OrbitControlsOptions {
    readonly enabled?: boolean;
    readonly enablePan?: boolean;
    readonly enableZoom?: boolean;
    readonly enableRotate?: boolean;
    readonly target?: Vec3Like;
    readonly distance?: number;
    readonly minDistance?: number;
    readonly maxDistance?: number;
    readonly minPolar?: number;
    readonly maxPolar?: number;
    readonly rotateSpeed?: number;
    readonly zoomSpeed?: number;
    readonly panSpeed?: number;
}
export declare class OrbitControls {
    private readonly camera;
    enabled: boolean;
    enablePan: boolean;
    enableZoom: boolean;
    enableRotate: boolean;
    readonly target: Vec3Like;
    private azimuth;
    private polar;
    private distance;
    private readonly initial;
    private readonly minDistance;
    private readonly maxDistance;
    private readonly minPolar;
    private readonly maxPolar;
    private readonly rotateSpeed;
    private readonly zoomSpeed;
    private readonly panSpeed;
    constructor(camera: CameraTransformLike, options?: OrbitControlsOptions);
    update(snapshot: InputSnapshot): void;
    getPolarAngle(): number;
    getAzimuthalAngle(): number;
    getDistance(): number;
    saveState(): void;
    reset(): void;
    dispose(): void;
    private pan;
    private dollyFromWheel;
    private apply;
}
//# sourceMappingURL=OrbitControls.d.ts.map