export type UseMergeStateOptions<OriginType, ResultType = OriginType, ExtraValues extends any[] = any[]> = {
    /**
     * 默认状态值
     */
    defaultValue?: OriginType | (() => OriginType);
    /**
     * 受控状态值
     */
    value?: OriginType;
    /**
     * 受控状态值改变回调
     */
    onChange?: (value: OriginType, prevValue?: OriginType, ...rest: ExtraValues) => void;
    /**
     * 将结果值类型转化为原始值类型
     */
    transformToOrigin?: (value: ResultType) => OriginType;
    /**
     * 将原始值类型转化为结果值类型
     */
    transformToResult?: (value: OriginType) => ResultType;
    /**
     * 自定义值比较方法
     * @description 默认是执行深比较来决定两者的值是否相等，支持有些场景下传递自定义比较直方法来比较是否值变化
     */
    compare?: (oldValue: any, newValue: any) => boolean;
};
/**
 * 合并状态值
 */
export declare function useMergeState<OriginType, ResultType = OriginType, ExtraValues extends any[] = any[]>(defaultStateValue?: OriginType | (() => OriginType), option?: UseMergeStateOptions<OriginType, ResultType, ExtraValues>): [ResultType, (value: ResultType, ...rest: ExtraValues) => void];
