import { TouchInputStateMachine } from "../../input-interpretation/input-state-machine/touch-input-state-machine";
/**
 * @description The touch event parser.
 * This is for the interoperability between the vanilla javascript and the pixijs event system.
 *
 * @category Event Parser
 */
export interface TouchEventParser {
    disabled: boolean;
    panDisabled: boolean;
    zoomDisabled: boolean;
    rotateDisabled: boolean;
    enableStrategy(): void;
    disableStrategy(): void;
    setUp(): void;
    tearDown(): void;
    attach(canvas: HTMLCanvasElement): void;
}
/**
 * @description The vanilla touch 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 VanillaTouchEventParser implements TouchEventParser {
    private _canvas;
    private _touchInputTracker;
    private _disabled;
    private _panDisabled;
    private _zoomDisabled;
    private _rotateDisabled;
    private touchSM;
    private _abortController;
    constructor(canvas: HTMLCanvasElement, touchInputStateMachine: TouchInputStateMachine);
    get touchStateMachine(): TouchInputStateMachine;
    bindListeners(): void;
    enableStrategy(): void;
    disableStrategy(): void;
    setUp(): void;
    tearDown(): void;
    get disabled(): boolean;
    get alignCoordinateSystem(): boolean;
    set alignCoordinateSystem(alignCoordinateSystem: boolean);
    get panDisabled(): boolean;
    set panDisabled(panDisabled: boolean);
    get zoomDisabled(): boolean;
    set zoomDisabled(zoomDisabled: boolean);
    get rotateDisabled(): boolean;
    set rotateDisabled(rotateDisabled: boolean);
    touchstartHandler(e: TouchEvent): void;
    touchcancelHandler(e: TouchEvent): void;
    touchendHandler(e: TouchEvent): void;
    touchmoveHandler(e: TouchEvent): void;
    attach(canvas: HTMLCanvasElement): void;
}
