import React from 'react';
export declare type PropConstraints<TEventTarget> = {
    value?: any;
    onChange?: React.ChangeEventHandler<TEventTarget>;
};
export declare type Debounced = {
    /**
     * Минимальная длина строки {@link PropConstraints#value} для вызова {@link PropConstraints#onChange}
     * @default 0
     */
    minLength?: number;
    /**
     * Минимальное время между вызовами {@link PropConstraints#onChange} в миллисекундах
     * @default 0
     */
    debounceTimeout?: number;
    /**
     * Форсировать вызов {@link PropConstraints#onChange} по нажатию Enter
     * @default true
     */
    forceNotifyByEnter?: boolean;
    /**
     * Форсировать вызов {@link PropConstraints#onChange} при потере фокуса
     * @default true
     */
    forceNotifyOnBlur?: boolean;
};
export declare const withDebounceInput: <TEventTarget, TProps extends PropConstraints<TEventTarget>>(Input: React.ComponentType<TProps>) => React.ComponentType<Debounced & TProps>;
