import { PerspectiveCamera } from "three";
import { CollisionsManager } from "../collisions/CollisionsManager";
import { Vect3 } from "../math";
import { TweakPane } from "../tweakpane/TweakPane";
export declare class CameraManager {
    private targetElement;
    private collisionsManager;
    readonly camera: PerspectiveCamera;
    private flyCamera;
    private orbitControls;
    private isMainCameraActive;
    initialDistance: number;
    minDistance: number;
    maxDistance: number;
    damping: number;
    zoomScale: number;
    zoomDamping: number;
    initialFOV: number;
    maxFOV: number;
    minFOV: number;
    invertFOVMapping: boolean;
    fov: number;
    private targetFOV;
    minPolarAngle: number;
    private maxPolarAngle;
    distance: number;
    targetDistance: number;
    desiredDistance: number;
    private phi;
    private targetPhi;
    private theta;
    private targetTheta;
    private target;
    private hadTarget;
    private cameraRay;
    private tempVec3;
    private eventHandlerCollection;
    private finalTarget;
    private isLerping;
    private lerpTarget;
    private lerpFactor;
    private lerpDuration;
    private tempMatr4;
    private activePointers;
    constructor(targetElement: HTMLElement, collisionsManager: CollisionsManager, initialPhi?: number, initialTheta?: number);
    private createEventHandlers;
    private disposeEventHandlers;
    private preventDefaultAndStopPropagation;
    setupTweakPane(tweakPane: TweakPane): void;
    private onPointerDown;
    private onPointerUp;
    private getAveragePointerPositionAndSpread;
    private onPointerMove;
    private onMouseWheel;
    private zoom;
    private onContextMenu;
    setTarget(target: Vect3): void;
    setLerpedTarget(target: Vect3, targetDistance: number): void;
    reverseUpdateFromPositions(): void;
    adjustCameraPosition(): void;
    dispose(): void;
    private easeOutExpo;
    updateAspect(aspect: number): void;
    recomputeFoV(immediately?: boolean): void;
    isFlyCameraOn(): boolean;
    toggleFlyCamera(): void;
    get activeCamera(): PerspectiveCamera;
    update(): void;
    hasActiveInput(): boolean;
}
//# sourceMappingURL=CameraManager.d.ts.map