/**
 * Based on https://github.com/radix-ui/primitives/blob/8f75e5be679b9c269638bddf532a166d80edecb4/packages/react/use-controllable-state/src/useControllableState.tsx#L12
 */
interface ControllableStateProps<T, U> {
    controlledValue?: T;
    defaultValue?: T;
    onChange?: {
        func?: ({ type, data }: {
            type: U;
            data: any;
        }) => void;
        key: U;
    };
}
declare const useControllableState: <T, U>({ controlledValue, onChange, defaultValue, }: ControllableStateProps<T, U>) => [T, React.Dispatch<React.SetStateAction<T>>];
export default useControllableState;
//# sourceMappingURL=useControllableState.d.ts.map