import { Handler } from '../../core/Handler.js';
import * as DomEvent from '../../dom/DomEvent.js';
import { LatLngBounds } from '../../geo/LatLngBounds.js';
export type BoxZoomEventProps = {
    /**
     * The geographical bounds of the box the map zooms to.
     */
    boxZoomBounds: LatLngBounds;
};
import type { Point } from '../../geometry/Point.js';
/**
 * @typedef {Object} BoxZoomEventProps
 * @property {LatLngBounds} boxZoomBounds The geographical bounds of the box the map zooms to.
 */
/** @import {Point} from '../../geometry/Point.js' */
export declare class BoxZoomHandler extends Handler {
    _moved: boolean | undefined;
    /** @type {Point} */
    _startPoint: Point;
    /** @type {HTMLDivElement} */
    _box: HTMLDivElement;
    /** @type {Point} */
    _point: Point;
    _resetStateTimeout: number | undefined;
    addHooks(): void;
    removeHooks(): void;
    /** Returns `true` if a box is being drawn or was just drawn, e.g. to ignore the click that ends it. */
    moved(): boolean | undefined;
    _resetState(): void;
    /** @param {typeof DomEvent.on} onOff */
    _toggleListeners(onOff: typeof DomEvent.on): void;
    /** @param {PointerEvent} e */
    _onPointerDown(e: PointerEvent): false | undefined;
    /** @param {PointerEvent} e */
    _onPointerMove(e: PointerEvent): void;
    _finish(): void;
    /** @param {PointerEvent} e */
    _onPointerUp(e: PointerEvent): void;
    /** @param {KeyboardEvent} e */
    _onKeyDown(e: KeyboardEvent): void;
}
