import { SetStateAction } from 'react';
export interface UseDebouncedStateOptions {
    /**
     * If `true`, the state will be updated immediately on the first call (leading edge).
     * Subsequent calls within the delay period will be debounced.
     * @default false
     */
    leading?: boolean;
}
export type UseDebouncedStateReturnValue<T> = [
    T,
    (newValue: SetStateAction<T>) => void
];
/**
 * A hook that debounces the state update.
 * @param defaultValue - The default value of the state.
 * @param delay - The delay time in milliseconds.
 * @param options - The options for the hook.
 * @returns A tuple containing the current value and the debounced set value function.
 *
 * @example
 * const [value, setValue] = useDebouncedState('Hello', 1000);

 * @example
 * const [value, setValue] = useDebouncedState('Hello', 1000, { leading: true });
 */
export declare function useDebouncedState<T = any>(defaultValue: T, delay: number, options?: UseDebouncedStateOptions): UseDebouncedStateReturnValue<T>;
//# sourceMappingURL=useDebouncedState.d.ts.map