/** @packageDocumentation
 * @module Tools
 */
import { BeButtonEvent, BeTouchEvent, BeWheelEvent, EventHandled, InteractiveTool } from "./Tool";
/**
 * The default "idle" tool. If no tool is active, or the active tool does not respond to a given
 * event, input events are forwarded to the idle tool. The default idle tool converts middle mouse button events
 * and touch gestures into view navigation operations like pan, zoom, rotate, and fit.
 *
 * Controls are as follows:
 * - Mouse/keyboard:
 *   - mmb: pan
 *   - shift-mmb: rotate
 *   - wheel: zoom in/out
 *   - double-mmb: fit view
 * - Touch:
 *   - single-finger drag: rotate
 *   - two-finger drag: pan
 *   - pinch: zoom in/out
 *   - double-tap: fit view
 *
 * Touch inputs can be combined e.g. drag two fingers while moving them closer together => pan + zoom in
 * @public
 */
export declare class IdleTool extends InteractiveTool {
    static toolId: string;
    static hidden: boolean;
    onMouseStartDrag(ev: BeButtonEvent): Promise<EventHandled>;
    onMiddleButtonUp(ev: BeButtonEvent): Promise<EventHandled>;
    onMouseWheel(ev: BeWheelEvent): Promise<EventHandled>;
    onTouchMoveStart(ev: BeTouchEvent, startEv: BeTouchEvent): Promise<EventHandled>;
    onTouchTap(ev: BeTouchEvent): Promise<EventHandled>;
    exitTool(): Promise<void>;
    run(): Promise<boolean>;
}
//# sourceMappingURL=IdleTool.d.ts.map