import type { SetStateAction, Dispatch } from "react";
type UseDebouncedValueOptions<TInitializeWithNull extends boolean = false> = Partial<{
    initializeWithNull: TInitializeWithNull;
}>;
type UseDebouncedValueReturnType<TValue = unknown, TInitializeWithNull extends boolean = false> = [
    debouncedValue: TInitializeWithNull extends true ? TValue | null : TValue,
    immediatelyUpdateDebouncedValue: Dispatch<SetStateAction<TInitializeWithNull extends true ? TValue | null : TValue>>
];
/**
 * useDebouncedValue
 * @param value The value to debounce
 * @param timeout The duration to debounce
 * @param options The options object.
 * @see https://rooks.vercel.app/docs/useDebouncedValue
 */
export declare const useDebouncedValue: <TValue = unknown, TInitializeWithNull extends boolean = false>(value: TValue, timeout: number, options?: UseDebouncedValueOptions<TInitializeWithNull>) => UseDebouncedValueReturnType<TValue, TInitializeWithNull>;
export {};
//# sourceMappingURL=useDebouncedValue.d.ts.map