/// <reference types="emscripten" />
type PointerEventsNames = {
    [K in keyof HTMLElementEventMap]: HTMLElementEventMap[K] extends PointerEvent ? K : never;
}[keyof HTMLElementEventMap];
type TouchEventsNames = {
    [K in keyof HTMLElementEventMap]: HTMLElementEventMap[K] extends TouchEvent ? K : never;
}[keyof HTMLElementEventMap];
type MSPointerEventsNames = "MSGotPointerCapture" | "MSLostPointerCapture" | "MSPointerCancel" | "MSPointerDown" | "MSPointerEnter" | "MSPointerLeave" | "MSPointerMove" | "MSPointerOut" | "MSPointerOver" | "MSPointerUp";
declare class PointerEventsDetector {
    static prefixEventMap: Record<PointerEventsNames, MSPointerEventsNames>;
    hasApi: boolean;
    hasTouch: boolean;
    private requiresPrefix;
    detect(): void;
    prefixIfNeeded(value: PointerEventsNames): MSPointerEventsNames | PointerEventsNames;
}
declare const _default: PointerEventsDetector;

export { type PointerEventsNames, type TouchEventsNames, _default as default };
