import { RefObject } from 'react';
/**
 * @description 点击指定区域外执行回调
 *
 * @export
 * @param {RefObject<HTMLElement>[]} refs
 * @param {(e: Event) => void} handler
 */
export declare function useOnClickOutside(refs: RefObject<HTMLElement>[], handler: (e: Event) => void): void;
/**
 * @description 合并状态
 *
 * @export
 * @template T
 * @template R
 * @param {(T | (() => T))} defaultStateValue
 * @param {({
 *     defaultValue?: T | (() => T)
 *     value?: T
 *     onChange?: (value: T, prevValue: T) => void
 *     postState?: (value: T) => T
 *   })} [option]
 * @returns {[R, (value: T) => void]}
 */
export declare function useMergedState<T, R = T>(defaultStateValue: T | (() => T), // 初始state
option?: {
    defaultValue?: T | (() => T);
    value?: T;
    onChange?: (value: T, prevValue: T) => void;
    postState?: (value: T) => T;
}): [R, (value: T) => void];
/**
 * @description 获取之前的值
 *
 * @export
 * @param {P} value
 */
export declare function usePrevious<P>(value: P): P;
interface ContentRectType {
    hide: boolean;
    bottom: number;
    height: number;
    left: number;
    right: number;
    top: number;
    width: number;
    x: number;
    y: number;
}
export declare function useResizeObserver(element: HTMLElement | null, handler?: (react: ContentRectType) => void): void;
export {};
