import { FunctionComponent } from 'react';
import { AllowedKey } from './types/utils.js';

declare function useListener(target: any, type: string, listener: (...args: any[]) => void): void;
interface Props {
    target?: any;
    type: string;
    listener: (...args: any[]) => any;
}
declare const Listener: FunctionComponent<Props>;
declare function getListenerKeys<P extends Record<string, any>>(props: P): Array<AllowedKey<P, `on${string}`>>;

export { Listener, type Props, getListenerKeys, useListener };
