import { BasicTarget } from '../utils/domTarget';
export type UseKeyPressKeyPredicate = (event: KeyboardEvent) => boolean;
export type UseKeyPressKeyType = number | string;
export type UseKeyPressKeyFilter = UseKeyPressKeyType | UseKeyPressKeyType[] | ((event: KeyboardEvent) => boolean);
export type UseKeyPressEventHandler = (event: KeyboardEvent) => void;
export type UseKeyPressKeyEvent = 'keydown' | 'keyup';
export type UseKeyPressTarget = BasicTarget<HTMLElement | Document | Window>;
export type UseKeyPressOptions = {
    /**
     * Trigger Events
     */
    events?: UseKeyPressKeyEvent[];
    /**
     * DOM element or ref
     */
    target?: UseKeyPressTarget;
    /**
     * Exact match. If set true, the event will only be trigger when the keys match exactly. For example, pressing [shif + c] will not trigger [c]
     */
    exactMatch?: boolean;
};
declare function useKeyPress(keyFilter: UseKeyPressKeyFilter, eventHandler: UseKeyPressEventHandler, option?: UseKeyPressOptions): void;
export default useKeyPress;
