/// <reference types="react" />
export interface Options<T> {
    defaultValue?: T;
    defaultValuePropName?: string;
    valuePropName?: string;
    trigger?: string;
}
export declare type Props = Record<string, any>;
export declare type ChangeEvent = React.ChangeEvent<HTMLInputElement> | React.ChangeEvent<HTMLTextAreaElement>;
export interface StandardProps<T> {
    value: T;
    defaultValue?: T;
    onChange: (event: ChangeEvent) => void;
}
declare function useControllableEventValue<T = any>(props: StandardProps<T>): [T, (event: ChangeEvent) => void];
declare function useControllableEventValue<T = any>(props?: Props, options?: Options<T>): [T, (event: ChangeEvent) => void];
export default useControllableEventValue;
