rooks
Version:
Collection of awesome react hooks
18 lines (17 loc) • 969 B
TypeScript
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/hooks/useDebouncedValue
*/
export declare const useDebouncedValue: <TValue = unknown, TInitializeWithNull extends boolean = false>(value: TValue, timeout: number, options?: UseDebouncedValueOptions<TInitializeWithNull>) => UseDebouncedValueReturnType<TValue, TInitializeWithNull>;
export {};