import type { PointerTouch } from "./InputSnapshot";
export interface PointerEventLike {
    readonly clientX: number;
    readonly clientY: number;
    readonly button?: number;
    readonly buttons?: number;
    readonly pointerId?: number;
    preventDefault?(): void;
}
export interface WheelEventLike {
    readonly deltaX: number;
    readonly deltaY: number;
    preventDefault?(): void;
}
export declare class PointerDevice {
    x: number;
    y: number;
    deltaX: number;
    deltaY: number;
    wheelX: number;
    wheelY: number;
    private readonly buttons;
    private previousButtons;
    private readonly touches;
    private pixelRatio;
    setDevicePixelRatio(value: number): void;
    move(event: PointerEventLike): void;
    down(event: PointerEventLike): void;
    up(event: PointerEventLike): void;
    wheel(event: WheelEventLike): void;
    blur(): void;
    snapshotData(): {
        pointer: {
            x: number;
            y: number;
            deltaX: number;
            deltaY: number;
            wheelX: number;
            wheelY: number;
            buttons: Map<number, {
                down: boolean;
                pressed: boolean;
                released: boolean;
            }>;
            touches: PointerTouch[];
        };
        previousPointerButtons: Set<number>;
    };
    endFrame(): void;
}
//# sourceMappingURL=PointerDevice.d.ts.map