import * as React from 'react';
import { CallEvent } from "./eventManager";
export declare type CallbackRef = (ref: EventTarget | null) => any;
declare type RenderCallback = (ref: CallbackRef) => React.ReactNode | null;
export declare type InjectorProps<T> = {
    children: React.ReactElement<any> | RenderCallback;
    settings?: {
        passive?: boolean;
        capture?: boolean;
    };
    pure?: any;
} & React.DOMAttributes<T>;
interface State {
    injectedEvents: CallEvent[];
}
export declare class EventInjector<T extends EventTarget> extends React.Component<InjectorProps<T>, State> implements EventTarget {
    static propTypes: {
        children: import("prop-types").Requireable<import("prop-types").ReactNodeLike>;
        pure: import("prop-types").Requireable<boolean>;
        settings: import("prop-types").Requireable<import("prop-types").InferProps<{
            passive: import("prop-types").Requireable<boolean>;
            capture: import("prop-types").Requireable<boolean>;
        }>>;
        onCopy?: undefined;
        onCopyCapture?: undefined;
        onCut?: undefined;
        onCutCapture?: undefined;
        onPaste?: undefined;
        onPasteCapture?: undefined;
        onCompositionEnd?: undefined;
        onCompositionEndCapture?: undefined;
        onCompositionStart?: undefined;
        onCompositionStartCapture?: undefined;
        onCompositionUpdate?: undefined;
        onCompositionUpdateCapture?: undefined;
        onFocus?: undefined;
        onFocusCapture?: undefined;
        onBlur?: undefined;
        onBlurCapture?: undefined;
        onChange?: undefined;
        onChangeCapture?: undefined;
        onInput?: undefined;
        onInputCapture?: undefined;
        onReset?: undefined;
        onResetCapture?: undefined;
        onSubmit?: undefined;
        onSubmitCapture?: undefined;
        onInvalid?: undefined;
        onInvalidCapture?: undefined;
        onLoad?: undefined;
        onLoadCapture?: undefined;
        onError?: undefined;
        onErrorCapture?: undefined;
        onKeyDown?: undefined;
        onKeyDownCapture?: undefined;
        onKeyPress?: undefined;
        onKeyPressCapture?: undefined;
        onKeyUp?: undefined;
        onKeyUpCapture?: undefined;
        onAbort?: undefined;
        onAbortCapture?: undefined;
        onCanPlay?: undefined;
        onCanPlayCapture?: undefined;
        onCanPlayThrough?: undefined;
        onCanPlayThroughCapture?: undefined;
        onDurationChange?: undefined;
        onDurationChangeCapture?: undefined;
        onEmptied?: undefined;
        onEmptiedCapture?: undefined;
        onEncrypted?: undefined;
        onEncryptedCapture?: undefined;
        onEnded?: undefined;
        onEndedCapture?: undefined;
        onLoadedData?: undefined;
        onLoadedDataCapture?: undefined;
        onLoadedMetadata?: undefined;
        onLoadedMetadataCapture?: undefined;
        onLoadStart?: undefined;
        onLoadStartCapture?: undefined;
        onPause?: undefined;
        onPauseCapture?: undefined;
        onPlay?: undefined;
        onPlayCapture?: undefined;
        onPlaying?: undefined;
        onPlayingCapture?: undefined;
        onProgress?: undefined;
        onProgressCapture?: undefined;
        onRateChange?: undefined;
        onRateChangeCapture?: undefined;
        onSeeked?: undefined;
        onSeekedCapture?: undefined;
        onSeeking?: undefined;
        onSeekingCapture?: undefined;
        onStalled?: undefined;
        onStalledCapture?: undefined;
        onSuspend?: undefined;
        onSuspendCapture?: undefined;
        onTimeUpdate?: undefined;
        onTimeUpdateCapture?: undefined;
        onVolumeChange?: undefined;
        onVolumeChangeCapture?: undefined;
        onWaiting?: undefined;
        onWaitingCapture?: undefined;
        onClick?: undefined;
        onClickCapture?: undefined;
        onContextMenu?: undefined;
        onContextMenuCapture?: undefined;
        onDoubleClick?: undefined;
        onDoubleClickCapture?: undefined;
        onDrag?: undefined;
        onDragCapture?: undefined;
        onDragEnd?: undefined;
        onDragEndCapture?: undefined;
        onDragEnter?: undefined;
        onDragEnterCapture?: undefined;
        onDragExit?: undefined;
        onDragExitCapture?: undefined;
        onDragLeave?: undefined;
        onDragLeaveCapture?: undefined;
        onDragOver?: undefined;
        onDragOverCapture?: undefined;
        onDragStart?: undefined;
        onDragStartCapture?: undefined;
        onDrop?: undefined;
        onDropCapture?: undefined;
        onMouseDown?: undefined;
        onMouseDownCapture?: undefined;
        onMouseEnter?: undefined;
        onMouseLeave?: undefined;
        onMouseMove?: undefined;
        onMouseMoveCapture?: undefined;
        onMouseOut?: undefined;
        onMouseOutCapture?: undefined;
        onMouseOver?: undefined;
        onMouseOverCapture?: undefined;
        onMouseUp?: undefined;
        onMouseUpCapture?: undefined;
        onSelect?: undefined;
        onSelectCapture?: undefined;
        onTouchCancel?: undefined;
        onTouchCancelCapture?: undefined;
        onTouchEnd?: undefined;
        onTouchEndCapture?: undefined;
        onTouchMove?: undefined;
        onTouchMoveCapture?: undefined;
        onTouchStart?: undefined;
        onTouchStartCapture?: undefined;
        onPointerDown?: undefined;
        onPointerDownCapture?: undefined;
        onPointerMove?: undefined;
        onPointerMoveCapture?: undefined;
        onPointerUp?: undefined;
        onPointerUpCapture?: undefined;
        onPointerCancel?: undefined;
        onPointerCancelCapture?: undefined;
        onPointerEnter?: undefined;
        onPointerEnterCapture?: undefined;
        onPointerLeave?: undefined;
        onPointerLeaveCapture?: undefined;
        onPointerOver?: undefined;
        onPointerOverCapture?: undefined;
        onPointerOut?: undefined;
        onPointerOutCapture?: undefined;
        onGotPointerCapture?: undefined;
        onGotPointerCaptureCapture?: undefined;
        onLostPointerCapture?: undefined;
        onLostPointerCaptureCapture?: undefined;
        onScroll?: undefined;
        onScrollCapture?: undefined;
        onWheel?: undefined;
        onWheelCapture?: undefined;
        onAnimationStart?: undefined;
        onAnimationStartCapture?: undefined;
        onAnimationEnd?: undefined;
        onAnimationEndCapture?: undefined;
        onAnimationIteration?: undefined;
        onAnimationIterationCapture?: undefined;
        onTransitionEnd?: undefined;
        onTransitionEndCapture?: undefined;
    } | {
        children: import("prop-types").Requireable<import("prop-types").ReactNodeLike>;
        pure: import("prop-types").Requireable<boolean>;
        settings: import("prop-types").Requireable<import("prop-types").InferProps<{
            passive: import("prop-types").Requireable<boolean>;
            capture: import("prop-types").Requireable<boolean>;
        }>>;
        onCopy: import("prop-types").Requireable<(...args: any[]) => any>;
        onCopyCapture: import("prop-types").Requireable<(...args: any[]) => any>;
        onCut: import("prop-types").Requireable<(...args: any[]) => any>;
        onCutCapture: import("prop-types").Requireable<(...args: any[]) => any>;
        onPaste: import("prop-types").Requireable<(...args: any[]) => any>;
        onPasteCapture: import("prop-types").Requireable<(...args: any[]) => any>;
        onCompositionEnd: import("prop-types").Requireable<(...args: any[]) => any>;
        onCompositionEndCapture: import("prop-types").Requireable<(...args: any[]) => any>;
        onCompositionStart: import("prop-types").Requireable<(...args: any[]) => any>;
        onCompositionStartCapture: import("prop-types").Requireable<(...args: any[]) => any>;
        onCompositionUpdate: import("prop-types").Requireable<(...args: any[]) => any>;
        onCompositionUpdateCapture: import("prop-types").Requireable<(...args: any[]) => any>;
        onFocus: import("prop-types").Requireable<(...args: any[]) => any>;
        onFocusCapture: import("prop-types").Requireable<(...args: any[]) => any>;
        onBlur: import("prop-types").Requireable<(...args: any[]) => any>;
        onBlurCapture: import("prop-types").Requireable<(...args: any[]) => any>;
        onChange: import("prop-types").Requireable<(...args: any[]) => any>;
        onChangeCapture: import("prop-types").Requireable<(...args: any[]) => any>;
        onInput: import("prop-types").Requireable<(...args: any[]) => any>;
        onInputCapture: import("prop-types").Requireable<(...args: any[]) => any>;
        onReset: import("prop-types").Requireable<(...args: any[]) => any>;
        onResetCapture: import("prop-types").Requireable<(...args: any[]) => any>;
        onSubmit: import("prop-types").Requireable<(...args: any[]) => any>;
        onSubmitCapture: import("prop-types").Requireable<(...args: any[]) => any>;
        onInvalid: import("prop-types").Requireable<(...args: any[]) => any>;
        onInvalidCapture: import("prop-types").Requireable<(...args: any[]) => any>;
        onLoad: import("prop-types").Requireable<(...args: any[]) => any>;
        onLoadCapture: import("prop-types").Requireable<(...args: any[]) => any>;
        onError: import("prop-types").Requireable<(...args: any[]) => any>;
        onErrorCapture: import("prop-types").Requireable<(...args: any[]) => any>;
        onKeyDown: import("prop-types").Requireable<(...args: any[]) => any>;
        onKeyDownCapture: import("prop-types").Requireable<(...args: any[]) => any>;
        onKeyPress: import("prop-types").Requireable<(...args: any[]) => any>;
        onKeyPressCapture: import("prop-types").Requireable<(...args: any[]) => any>;
        onKeyUp: import("prop-types").Requireable<(...args: any[]) => any>;
        onKeyUpCapture: import("prop-types").Requireable<(...args: any[]) => any>;
        onAbort: import("prop-types").Requireable<(...args: any[]) => any>;
        onAbortCapture: import("prop-types").Requireable<(...args: any[]) => any>;
        onCanPlay: import("prop-types").Requireable<(...args: any[]) => any>;
        onCanPlayCapture: import("prop-types").Requireable<(...args: any[]) => any>;
        onCanPlayThrough: import("prop-types").Requireable<(...args: any[]) => any>;
        onCanPlayThroughCapture: import("prop-types").Requireable<(...args: any[]) => any>;
        onDurationChange: import("prop-types").Requireable<(...args: any[]) => any>;
        onDurationChangeCapture: import("prop-types").Requireable<(...args: any[]) => any>;
        onEmptied: import("prop-types").Requireable<(...args: any[]) => any>;
        onEmptiedCapture: import("prop-types").Requireable<(...args: any[]) => any>;
        onEncrypted: import("prop-types").Requireable<(...args: any[]) => any>;
        onEncryptedCapture: import("prop-types").Requireable<(...args: any[]) => any>;
        onEnded: import("prop-types").Requireable<(...args: any[]) => any>;
        onEndedCapture: import("prop-types").Requireable<(...args: any[]) => any>;
        onLoadedData: import("prop-types").Requireable<(...args: any[]) => any>;
        onLoadedDataCapture: import("prop-types").Requireable<(...args: any[]) => any>;
        onLoadedMetadata: import("prop-types").Requireable<(...args: any[]) => any>;
        onLoadedMetadataCapture: import("prop-types").Requireable<(...args: any[]) => any>;
        onLoadStart: import("prop-types").Requireable<(...args: any[]) => any>;
        onLoadStartCapture: import("prop-types").Requireable<(...args: any[]) => any>;
        onPause: import("prop-types").Requireable<(...args: any[]) => any>;
        onPauseCapture: import("prop-types").Requireable<(...args: any[]) => any>;
        onPlay: import("prop-types").Requireable<(...args: any[]) => any>;
        onPlayCapture: import("prop-types").Requireable<(...args: any[]) => any>;
        onPlaying: import("prop-types").Requireable<(...args: any[]) => any>;
        onPlayingCapture: import("prop-types").Requireable<(...args: any[]) => any>;
        onProgress: import("prop-types").Requireable<(...args: any[]) => any>;
        onProgressCapture: import("prop-types").Requireable<(...args: any[]) => any>;
        onRateChange: import("prop-types").Requireable<(...args: any[]) => any>;
        onRateChangeCapture: import("prop-types").Requireable<(...args: any[]) => any>;
        onSeeked: import("prop-types").Requireable<(...args: any[]) => any>;
        onSeekedCapture: import("prop-types").Requireable<(...args: any[]) => any>;
        onSeeking: import("prop-types").Requireable<(...args: any[]) => any>;
        onSeekingCapture: import("prop-types").Requireable<(...args: any[]) => any>;
        onStalled: import("prop-types").Requireable<(...args: any[]) => any>;
        onStalledCapture: import("prop-types").Requireable<(...args: any[]) => any>;
        onSuspend: import("prop-types").Requireable<(...args: any[]) => any>;
        onSuspendCapture: import("prop-types").Requireable<(...args: any[]) => any>;
        onTimeUpdate: import("prop-types").Requireable<(...args: any[]) => any>;
        onTimeUpdateCapture: import("prop-types").Requireable<(...args: any[]) => any>;
        onVolumeChange: import("prop-types").Requireable<(...args: any[]) => any>;
        onVolumeChangeCapture: import("prop-types").Requireable<(...args: any[]) => any>;
        onWaiting: import("prop-types").Requireable<(...args: any[]) => any>;
        onWaitingCapture: import("prop-types").Requireable<(...args: any[]) => any>;
        onClick: import("prop-types").Requireable<(...args: any[]) => any>;
        onClickCapture: import("prop-types").Requireable<(...args: any[]) => any>;
        onContextMenu: import("prop-types").Requireable<(...args: any[]) => any>;
        onContextMenuCapture: import("prop-types").Requireable<(...args: any[]) => any>;
        onDoubleClick: import("prop-types").Requireable<(...args: any[]) => any>;
        onDoubleClickCapture: import("prop-types").Requireable<(...args: any[]) => any>;
        onDrag: import("prop-types").Requireable<(...args: any[]) => any>;
        onDragCapture: import("prop-types").Requireable<(...args: any[]) => any>;
        onDragEnd: import("prop-types").Requireable<(...args: any[]) => any>;
        onDragEndCapture: import("prop-types").Requireable<(...args: any[]) => any>;
        onDragEnter: import("prop-types").Requireable<(...args: any[]) => any>;
        onDragEnterCapture: import("prop-types").Requireable<(...args: any[]) => any>;
        onDragExit: import("prop-types").Requireable<(...args: any[]) => any>;
        onDragExitCapture: import("prop-types").Requireable<(...args: any[]) => any>;
        onDragLeave: import("prop-types").Requireable<(...args: any[]) => any>;
        onDragLeaveCapture: import("prop-types").Requireable<(...args: any[]) => any>;
        onDragOver: import("prop-types").Requireable<(...args: any[]) => any>;
        onDragOverCapture: import("prop-types").Requireable<(...args: any[]) => any>;
        onDragStart: import("prop-types").Requireable<(...args: any[]) => any>;
        onDragStartCapture: import("prop-types").Requireable<(...args: any[]) => any>;
        onDrop: import("prop-types").Requireable<(...args: any[]) => any>;
        onDropCapture: import("prop-types").Requireable<(...args: any[]) => any>;
        onMouseDown: import("prop-types").Requireable<(...args: any[]) => any>;
        onMouseDownCapture: import("prop-types").Requireable<(...args: any[]) => any>;
        onMouseEnter: import("prop-types").Requireable<(...args: any[]) => any>;
        onMouseLeave: import("prop-types").Requireable<(...args: any[]) => any>;
        onMouseMove: import("prop-types").Requireable<(...args: any[]) => any>;
        onMouseMoveCapture: import("prop-types").Requireable<(...args: any[]) => any>;
        onMouseOut: import("prop-types").Requireable<(...args: any[]) => any>;
        onMouseOutCapture: import("prop-types").Requireable<(...args: any[]) => any>;
        onMouseOver: import("prop-types").Requireable<(...args: any[]) => any>;
        onMouseOverCapture: import("prop-types").Requireable<(...args: any[]) => any>;
        onMouseUp: import("prop-types").Requireable<(...args: any[]) => any>;
        onMouseUpCapture: import("prop-types").Requireable<(...args: any[]) => any>;
        onSelect: import("prop-types").Requireable<(...args: any[]) => any>;
        onSelectCapture: import("prop-types").Requireable<(...args: any[]) => any>;
        onTouchCancel: import("prop-types").Requireable<(...args: any[]) => any>;
        onTouchCancelCapture: import("prop-types").Requireable<(...args: any[]) => any>;
        onTouchEnd: import("prop-types").Requireable<(...args: any[]) => any>;
        onTouchEndCapture: import("prop-types").Requireable<(...args: any[]) => any>;
        onTouchMove: import("prop-types").Requireable<(...args: any[]) => any>;
        onTouchMoveCapture: import("prop-types").Requireable<(...args: any[]) => any>;
        onTouchStart: import("prop-types").Requireable<(...args: any[]) => any>;
        onTouchStartCapture: import("prop-types").Requireable<(...args: any[]) => any>;
        onPointerDown: import("prop-types").Requireable<(...args: any[]) => any>;
        onPointerDownCapture: import("prop-types").Requireable<(...args: any[]) => any>;
        onPointerMove: import("prop-types").Requireable<(...args: any[]) => any>;
        onPointerMoveCapture: import("prop-types").Requireable<(...args: any[]) => any>;
        onPointerUp: import("prop-types").Requireable<(...args: any[]) => any>;
        onPointerUpCapture: import("prop-types").Requireable<(...args: any[]) => any>;
        onPointerCancel: import("prop-types").Requireable<(...args: any[]) => any>;
        onPointerCancelCapture: import("prop-types").Requireable<(...args: any[]) => any>;
        onPointerEnter: import("prop-types").Requireable<(...args: any[]) => any>;
        onPointerEnterCapture: import("prop-types").Requireable<(...args: any[]) => any>;
        onPointerLeave: import("prop-types").Requireable<(...args: any[]) => any>;
        onPointerLeaveCapture: import("prop-types").Requireable<(...args: any[]) => any>;
        onPointerOver: import("prop-types").Requireable<(...args: any[]) => any>;
        onPointerOverCapture: import("prop-types").Requireable<(...args: any[]) => any>;
        onPointerOut: import("prop-types").Requireable<(...args: any[]) => any>;
        onPointerOutCapture: import("prop-types").Requireable<(...args: any[]) => any>;
        onGotPointerCapture: import("prop-types").Requireable<(...args: any[]) => any>;
        onGotPointerCaptureCapture: import("prop-types").Requireable<(...args: any[]) => any>;
        onLostPointerCapture: import("prop-types").Requireable<(...args: any[]) => any>;
        onLostPointerCaptureCapture: import("prop-types").Requireable<(...args: any[]) => any>;
        onScroll: import("prop-types").Requireable<(...args: any[]) => any>;
        onScrollCapture: import("prop-types").Requireable<(...args: any[]) => any>;
        onWheel: import("prop-types").Requireable<(...args: any[]) => any>;
        onWheelCapture: import("prop-types").Requireable<(...args: any[]) => any>;
        onAnimationStart: import("prop-types").Requireable<(...args: any[]) => any>;
        onAnimationStartCapture: import("prop-types").Requireable<(...args: any[]) => any>;
        onAnimationEnd: import("prop-types").Requireable<(...args: any[]) => any>;
        onAnimationEndCapture: import("prop-types").Requireable<(...args: any[]) => any>;
        onAnimationIteration: import("prop-types").Requireable<(...args: any[]) => any>;
        onAnimationIterationCapture: import("prop-types").Requireable<(...args: any[]) => any>;
        onTransitionEnd: import("prop-types").Requireable<(...args: any[]) => any>;
        onTransitionEndCapture: import("prop-types").Requireable<(...args: any[]) => any>;
    };
    ref: EventTarget | null;
    state: State;
    componentWillUnmount(): void;
    componentDidUpdate(oldProps: InjectorProps<T>, oldState: State): void;
    setRef: (ref: EventTarget) => void;
    dispatchEvent: () => boolean;
    addEventListener: (name: string, cb: any, options: boolean | AddEventListenerOptions) => void;
    removeEventListener: (name: string, cb: any, options: boolean | AddEventListenerOptions) => void;
    render(): {};
}
export {};
