/**
 * Debounce-like hook to delay value update.
 * @param value External value that will be eventually replaced by user input.
 * @param onChange Function to update value param after specified delay.
 * @param delay Time to wait after last delayedOnChange invocation before onChange is called.
 * @example
 * const [searchTerm, setSearchTerm] = React.useState('');
 *
 * const {currentValue: userSearchTermInput, delayedOnChange: handleUserSearchTermInput} = useDelayedValue(searchTerm, setSearchTerm);
 */
export declare function useDelayedValue<TValue = unknown>(value: TValue, onChange: (value: TValue) => void, delay?: number): {
    currentValue: TValue;
    delayedOnChange: (nextValue: TValue) => void;
};
