import { type EventizedObject } from '@spearwolf/eventize';
import { InputControlBase } from './InputControlBase.js';
export interface PanViewState {
    x: number;
    y: number;
    pixelRatio?: number;
}
export interface PanControl2DOptions {
    state?: PanViewState;
    cursorPanStyle?: string;
    cursorStylesTarget?: HTMLElement;
    speed?: number;
    mouseButton?: number;
    keyCodes?: [number, number, number, number];
    disablePointer?: boolean;
    disableKeyboard?: boolean;
}
export interface PanControl2D extends EventizedObject {
}
export declare class PanControl2D extends InputControlBase {
    #private;
    pixelsPerSecond: number;
    speedNorth: number;
    speedEast: number;
    speedSouth: number;
    speedWest: number;
    mouseButton: number;
    keyCodes: [number, number, number, number];
    constructor(options?: PanControl2DOptions);
    get cursorPanStyle(): string;
    set cursorPanStyle(value: string);
    get panView(): PanViewState;
    set panView(panView: PanViewState | undefined);
    get keyboardDisabled(): boolean;
    set keyboardDisabled(value: boolean);
    get pointerDisabled(): boolean;
    set pointerDisabled(value: boolean);
    update(t: number): void;
    dispose(): void;
}
//# sourceMappingURL=PanControl2D.d.ts.map