import type { SetStateAction } from 'react';
interface Options<T> {
    /** 默认值，会被 props.defaultValue 和 props.value 覆盖 */
    defaultValue?: T;
    /** 默认值的属性名。默认为 defaultValue */
    defaultValuePropName?: string;
    /** 值的属性名。默认为 value */
    valuePropName?: string;
    /** 修改值时触发的函数。默认为 onChange */
    trigger?: string;
}
interface StandardProps<T> {
    value: T;
    defaultValue?: T;
    onChange?: (value: T) => void;
}
export type Props = Record<string, any>;
declare function useControllableValue<T = any>(props: StandardProps<T>): [T, (v: SetStateAction<T>) => void];
declare function useControllableValue<T = any>(props?: Props, options?: Options<T>): [T, (v: SetStateAction<T>, ...args: any[]) => void];
export default useControllableValue;
