export interface UseControllableStateProps<T> {
    value?: T;
    defaultValue: T | (() => T);
    onChange?: (value: T) => void;
}
/**
 * `useControllableState` returns the state and function that updates the state, just like React.useState does.
 */
export declare function useControllableState<T>({ value: valueProp, defaultValue, onChange, }: UseControllableStateProps<T>): readonly [T, (next: React.SetStateAction<T>) => void];
