import { InputRef, RefSelectProps } from 'antd';
import React, { Ref, RefObject } from 'react';
interface InputEscape {
    onBlur?: <T extends HTMLInputElement | HTMLTextAreaElement>(e: React.FocusEvent<T> | React.KeyboardEvent<T>, previousValue?: string, tagID?: number) => void;
}
interface InputTextEscape extends InputEscape {
    inputRef?: React.RefObject<HTMLInputElement | InputRef>;
    onFocus: <T extends HTMLInputElement | HTMLTextAreaElement>(e: React.FocusEvent<T & EventTarget, Element>) => void;
}
interface InputNumberEscape extends InputEscape {
    onFocus: (e: React.FocusEvent<HTMLInputElement & EventTarget, Element>) => void;
    inputRef?: Ref<HTMLInputElement>;
}
interface SelectEscape {
    inputRef?: React.RefObject<RefSelectProps>;
    onFocus: <T extends HTMLInputElement>(e: React.FocusEvent<T & EventTarget, Element>) => void;
    onBlur?: (e: React.FocusEvent<HTMLElement> | React.KeyboardEvent<HTMLElement>, previousValue?: string, tagID?: number) => void;
}
export declare const useInputNumberEscape: (ref: React.ForwardedRef<HTMLInputElement>, onBlur?: (<HTMLInputElement_1>(e: React.FocusEvent<HTMLInputElement_1, Element> | React.KeyboardEvent<HTMLInputElement_1>, previousValue?: string, tagID?: string) => void) | undefined) => InputNumberEscape;
export declare const useInputEscape: <T>(ref?: React.ForwardedRef<T> | undefined, onBlur?: (<T_1 extends HTMLInputElement | HTMLTextAreaElement>(e: React.FocusEvent<T_1, Element> | React.KeyboardEvent<T_1>, previousValue?: string, tagID?: string) => void) | undefined) => InputTextEscape;
export declare const useSelectEscape: (containerRef: RefObject<HTMLDivElement>, isOpen: boolean, ref?: React.ForwardedRef<RefSelectProps>, onBlur?: ((e: React.FocusEvent<HTMLElement> | React.KeyboardEvent<HTMLElement>, previousValue?: string, tagID?: string) => void) | undefined) => SelectEscape;
export {};
//# sourceMappingURL=useInputEscape.d.ts.map