/**
 * Synthetic Event
 *
 * Names of all synthetic events and their event shape.
 * Methods are also included for comparing and validated event objects.
 *
 * https://facebook.github.io/react/docs/events.html
 */
export declare const types: {
    clipboard: {
        listeners: string[];
        eventShape: {
            clipboardData: any;
            bubbles: any;
            cancelable: any;
            currentTarget: any;
            defaultPrevented: any;
            eventPhase: any;
            isTrusted: any;
            nativeEvent: any;
            persist: () => any;
            preventDefault: () => any;
            isDefaultPrevented: () => any;
            stopPropagation: () => any;
            isPropagationStopped: () => any;
            target: any;
            timeStamp: any;
            type: any;
        };
    };
    composition: {
        listeners: string[];
        eventShape: {
            data: any;
            bubbles: any;
            cancelable: any;
            currentTarget: any;
            defaultPrevented: any;
            eventPhase: any;
            isTrusted: any;
            nativeEvent: any;
            persist: () => any;
            preventDefault: () => any;
            isDefaultPrevented: () => any;
            stopPropagation: () => any;
            isPropagationStopped: () => any;
            target: any;
            timeStamp: any;
            type: any;
        };
    };
    keyboard: {
        listeners: string[];
        eventShape: {
            altKey: any;
            charCode: any;
            ctrlKey: any;
            getModifierState: () => any;
            key: any;
            keyCode: any;
            locale: any;
            location: any;
            metaKey: any;
            repeat: any;
            shiftKey: any;
            which: any;
            bubbles: any;
            cancelable: any;
            currentTarget: any;
            defaultPrevented: any;
            eventPhase: any;
            isTrusted: any;
            nativeEvent: any;
            persist: () => any;
            preventDefault: () => any;
            isDefaultPrevented: () => any;
            stopPropagation: () => any;
            isPropagationStopped: () => any;
            target: any;
            timeStamp: any;
            type: any;
        };
    };
    focus: {
        listeners: string[];
        eventShape: {
            relatedTarget: any;
            bubbles: any;
            cancelable: any;
            currentTarget: any;
            defaultPrevented: any;
            eventPhase: any;
            isTrusted: any;
            nativeEvent: any;
            persist: () => any;
            preventDefault: () => any;
            isDefaultPrevented: () => any;
            stopPropagation: () => any;
            isPropagationStopped: () => any;
            target: any;
            timeStamp: any;
            type: any;
        };
    };
    form: {
        listeners: string[];
        eventShape: {
            bubbles: any;
            cancelable: any;
            currentTarget: any;
            defaultPrevented: any;
            eventPhase: any;
            isTrusted: any;
            nativeEvent: any;
            persist: () => any;
            preventDefault: () => any;
            isDefaultPrevented: () => any;
            stopPropagation: () => any;
            isPropagationStopped: () => any;
            target: any;
            timeStamp: any;
            type: any;
        };
    };
    mouse: {
        listeners: string[];
        eventShape: {
            altKey: any;
            button: any;
            buttons: any;
            clientX: any;
            clientY: any;
            ctrlKey: any;
            getModifierState: () => any;
            metaKey: any;
            pageX: any;
            pageY: any;
            relatedTarget: any;
            screenX: any;
            screenY: any;
            shiftKey: any;
            bubbles: any;
            cancelable: any;
            currentTarget: any;
            defaultPrevented: any;
            eventPhase: any;
            isTrusted: any;
            nativeEvent: any;
            persist: () => any;
            preventDefault: () => any;
            isDefaultPrevented: () => any;
            stopPropagation: () => any;
            isPropagationStopped: () => any;
            target: any;
            timeStamp: any;
            type: any;
        };
    };
    selection: {
        listeners: string[];
        eventShape: {
            bubbles: any;
            cancelable: any;
            currentTarget: any;
            defaultPrevented: any;
            eventPhase: any;
            isTrusted: any;
            nativeEvent: any;
            persist: () => any;
            preventDefault: () => any;
            isDefaultPrevented: () => any;
            stopPropagation: () => any;
            isPropagationStopped: () => any;
            target: any;
            timeStamp: any;
            type: any;
        };
    };
    touch: {
        listeners: string[];
        eventShape: {
            altKey: any;
            changedTouches: any;
            ctrlKey: any;
            getModifierState: () => any;
            metaKey: any;
            shiftKey: any;
            targetTouches: any;
            touches: any;
            bubbles: any;
            cancelable: any;
            currentTarget: any;
            defaultPrevented: any;
            eventPhase: any;
            isTrusted: any;
            nativeEvent: any;
            persist: () => any;
            preventDefault: () => any;
            isDefaultPrevented: () => any;
            stopPropagation: () => any;
            isPropagationStopped: () => any;
            target: any;
            timeStamp: any;
            type: any;
        };
    };
    ui: {
        listeners: string[];
        eventShape: {
            detail: any;
            view: any;
            bubbles: any;
            cancelable: any;
            currentTarget: any;
            defaultPrevented: any;
            eventPhase: any;
            isTrusted: any;
            nativeEvent: any;
            persist: () => any;
            preventDefault: () => any;
            isDefaultPrevented: () => any;
            stopPropagation: () => any;
            isPropagationStopped: () => any;
            target: any;
            timeStamp: any;
            type: any;
        };
    };
    wheel: {
        listeners: string[];
        eventShape: {
            deltaMode: any;
            deltaX: any;
            deltaY: any;
            deltaZ: any;
            bubbles: any;
            cancelable: any;
            currentTarget: any;
            defaultPrevented: any;
            eventPhase: any;
            isTrusted: any;
            nativeEvent: any;
            persist: () => any;
            preventDefault: () => any;
            isDefaultPrevented: () => any;
            stopPropagation: () => any;
            isPropagationStopped: () => any;
            target: any;
            timeStamp: any;
            type: any;
        };
    };
    media: {
        listeners: string[];
        eventShape: {
            bubbles: any;
            cancelable: any;
            currentTarget: any;
            defaultPrevented: any;
            eventPhase: any;
            isTrusted: any;
            nativeEvent: any;
            persist: () => any;
            preventDefault: () => any;
            isDefaultPrevented: () => any;
            stopPropagation: () => any;
            isPropagationStopped: () => any;
            target: any;
            timeStamp: any;
            type: any;
        };
    };
    image: {
        listeners: string[];
        eventShape: {
            bubbles: any;
            cancelable: any;
            currentTarget: any;
            defaultPrevented: any;
            eventPhase: any;
            isTrusted: any;
            nativeEvent: any;
            persist: () => any;
            preventDefault: () => any;
            isDefaultPrevented: () => any;
            stopPropagation: () => any;
            isPropagationStopped: () => any;
            target: any;
            timeStamp: any;
            type: any;
        };
    };
    animation: {
        listeners: string[];
        eventShape: {
            animationName: any;
            pseudoElement: any;
            elapsedTime: any;
            bubbles: any;
            cancelable: any;
            currentTarget: any;
            defaultPrevented: any;
            eventPhase: any;
            isTrusted: any;
            nativeEvent: any;
            persist: () => any;
            preventDefault: () => any;
            isDefaultPrevented: () => any;
            stopPropagation: () => any;
            isPropagationStopped: () => any;
            target: any;
            timeStamp: any;
            type: any;
        };
    };
    transition: {
        listeners: string[];
        eventShape: {
            propertyName: any;
            pseudoElement: any;
            elapsedTime: any;
            bubbles: any;
            cancelable: any;
            currentTarget: any;
            defaultPrevented: any;
            eventPhase: any;
            isTrusted: any;
            nativeEvent: any;
            persist: () => any;
            preventDefault: () => any;
            isDefaultPrevented: () => any;
            stopPropagation: () => any;
            isPropagationStopped: () => any;
            target: any;
            timeStamp: any;
            type: any;
        };
    };
};
/**
 * Determine if an event object has the shape of the event type specified.
 * @param event - The event object to test.
 * @param type - The string name of the event shape or actual event shape to compare against.
 */
export declare const hasShape: (event: object, type: string | object) => boolean;
