export interface UseDebouncedValueOptions { /** Skip the initial debounce — first value is set immediately. Default: true. */ leading?: boolean; } /** * Returns a tuple `[debouncedValue, cancel]`. `debouncedValue` updates only * after `value` stops changing for `wait` ms. `cancel()` clears any pending * timeout so the latest committed `debouncedValue` sticks. * * Useful for search inputs, filter triggers, autosave, etc. * * @example * const [query, setQuery] = useState(''); * const [debouncedQuery] = useDebouncedValue(query, 300); * * useEffect(() => { * if (debouncedQuery) fetchResults(debouncedQuery); * }, [debouncedQuery]); */ export declare function useDebouncedValue(value: T, wait: number, options?: UseDebouncedValueOptions): [T, () => void];