import React from 'react';
export declare type Scope = Window | React.RefObject<HTMLElement> | React.RefObject<HTMLElement>[];
export interface Config {
    /**
     * @since 10.19.0
     */
    dependencies?: any[];
    /**
     * @since 10.19.0
     */
    event: string;
    /**
     * @since 10.19.0
     */
    handler: React.EventHandler<any>;
    /**
     * @since 10.19.0
     */
    options?: AddEventListenerOptions;
    /**
     * @since 10.19.0
     */
    scope?: Scope;
    /**
     * @since 10.19.0
     */
    noopHandler?: boolean;
}
export interface EventCallbackConfig {
    /**
     * @since 10.19.0
     */
    handler: React.EventHandler<any>;
    /**
     * @since 10.19.0
     */
    dependencies?: Array<any>;
}
export declare function useLayoutEventListener({ dependencies, event, handler, options, scope, noopHandler, }: Config): void;
export declare function useEventListener({ dependencies, event, handler, options, scope, noopHandler, }: Config): void;
export declare function useEventCallback({ handler, dependencies, }: EventCallbackConfig): React.EventHandler<any>;
