import { EventDispatcher, Box3, TOUCH, MOUSE } from 'three';
import type { Camera } from 'three';
interface MouseButtons {
    LEFT: MOUSE | null;
    MIDDLE: MOUSE | null;
    RIGHT: MOUSE | null;
}
interface Touches {
    ONE: TOUCH | null;
    TWO: TOUCH | null;
}
export declare class PanZoomControls extends EventDispatcher<{
    change: any;
}> {
    readonly object: Camera;
    readonly domElement: HTMLElement;
    enabled: boolean;
    enablePan: boolean;
    enableZoom: boolean;
    enableDamping: boolean;
    dampingFactor: number;
    panSpeed: number;
    minZoom: number;
    maxZoom: number;
    zoomSpeed: number;
    screenSpacePanning: boolean;
    zoomToCursor: boolean;
    panThreshold: number;
    dollyThreshold: number;
    private _panMoveDistanceTotal;
    private _dollyMoveDistanceTotal;
    clampPosition: boolean;
    positionBounds: Box3;
    mouseButtons: MouseButtons;
    touches: Touches;
    dispose: () => void;
    update: (delta: number | null) => void;
    constructor(object: Camera, domElement: HTMLElement);
}
export {};
