import * as React from 'react';
export declare function useControllableProp<T>(propValue: T | undefined, stateValue: T): readonly [boolean, T];
export interface UseControllableStateProps<T> {
    value?: T;
    defaultValue?: T | (() => T);
    onChange?: (nextValue: T) => void;
    shouldUpdate?: (prevState: T, state: T) => boolean;
    name?: string;
    propsMap?: {
        value?: string;
        defaultValue?: string;
        onChange?: string;
    };
}
export declare function useControllableState<T>(props: UseControllableStateProps<T>): [T, React.Dispatch<React.SetStateAction<T>>];
