import { EarthMap } from '../earthmap';
import Point from '../geo/point';
import { Map } from '../map';
/**
 * The `BoxZoomHandler` allows the user to zoom the map to fit within a bounding box.
 * The bounding box is defined by clicking and holding `shift` while dragging the cursor.
 */
declare class BoxZoomHandler {
    private map;
    private el;
    private container;
    private enabled;
    private active;
    private startPos;
    private lastPos;
    private box;
    private clickTolerance;
    /**
     * @private
     */
    constructor(map: Map | EarthMap, options: {
        clickTolerance: number;
    });
    /**
     * Returns a Boolean indicating whether the "box zoom" interaction is enabled.
     *
     * @returns {boolean} `true` if the "box zoom" interaction is enabled.
     */
    isEnabled(): boolean;
    /**
     * Returns a Boolean indicating whether the "box zoom" interaction is active, i.e. currently being used.
     *
     * @returns {boolean} `true` if the "box zoom" interaction is active.
     */
    isActive(): boolean;
    /**
     * Enables the "box zoom" interaction.
     *
     * @example
     *   map.boxZoom.enable();
     */
    enable(): void;
    /**
     * Disables the "box zoom" interaction.
     *
     * @example
     *   map.boxZoom.disable();
     */
    disable(): void;
    mousedown(e: MouseEvent, point: Point): void;
    mousemoveWindow(e: MouseEvent, point: Point): void;
    mouseupWindow(e: MouseEvent, point: Point): {
        cameraAnimation: (map: Map) => boolean | Map;
    } | undefined;
    keydown(e: KeyboardEvent): void;
    reset(): void;
    fireEvent(type: string, e: any): boolean;
}
export default BoxZoomHandler;
