import type { KmtInputStateMachine } from "../../input-interpretation/input-state-machine";
/**
 * @category Event Parser
 */
export interface KMTEventParser {
    disabled: boolean;
    setUp(): void;
    tearDown(): void;
    attach(canvas: HTMLCanvasElement): void;
}
/**
 * @description The minimum pointer event.
 * This is for the interoperability between the vanilla javascript and the pixijs event system.
 *
 * @category Event Parser
 */
export type MinimumPointerEvent = {
    button: number;
    pointerType: string;
    clientX: number;
    clientY: number;
    buttons: number;
};
/**
 * @description The minimum wheel event.
 * This is for the interoperability between the vanilla javascript and the pixijs event system.
 *
 * @category Event Parser
 */
export type MinimumWheelEvent = {
    preventDefault: () => void;
    deltaX: number;
    deltaY: number;
    ctrlKey: boolean;
    clientX: number;
    clientY: number;
};
/**
 * @description The minimum keyboard event.
 * This is for the interoperability between the vanilla javascript and the pixijs event system.
 *
 * @category Event Parser
 */
export type MinimumKeyboardEvent = {
    preventDefault: () => void;
    key: string;
};
/**
 * @description The event target with pointer events.
 * This is for the interoperability between the vanilla javascript and the pixijs event system.
 *
 * @category Event Parser
 */
export type EventTargetWithPointerEvents = {
    addEventListener: (type: string, listener: (event: any) => void, options?: {
        passive: boolean;
    }) => void;
    removeEventListener: (type: string, listener: (event: any) => void) => void;
};
/**
 * @description The vanilla keyboard mouse and trackpad(KMT) event parser.
 * This parser converts the raw events to events that can be used by the input state machine.
 *
 * @category Event Parser
 */
export declare class VanillaKMTEventParser implements KMTEventParser {
    private _disabled;
    private _stateMachine;
    private _keyfirstPressed;
    private _abortController;
    private _canvas;
    constructor(canvas: HTMLCanvasElement, kmtInputStateMachine: KmtInputStateMachine);
    get disabled(): boolean;
    set disabled(value: boolean);
    get stateMachine(): KmtInputStateMachine;
    addEventListeners(signal: AbortSignal): void;
    setUp(): void;
    tearDown(): void;
    bindFunctions(): void;
    pointerDownHandler(e: MinimumPointerEvent): void;
    pointerUpHandler(e: MinimumPointerEvent): void;
    pointerMoveHandler(e: MinimumPointerEvent): void;
    scrollHandler(e: MinimumWheelEvent): void;
    keypressHandler(e: KeyboardEvent): void;
    keyupHandler(e: KeyboardEvent): void;
    attach(canvas: HTMLCanvasElement): void;
}
