import { MutableRefObject, RefCallback } from "react";
export { useToRef } from "@vnmfify/hooks";
export declare function usePreviousRef<T = any>(value: T): MutableRefObject<T>;
export declare function usePrevious<T>(state: T): T | undefined;
declare type UseRenderedCallback<T> = () => T;
export declare function useRendered<T = any>(cb: UseRenderedCallback<T>): T;
export declare function useRenderedRef<T = any>(cb: UseRenderedCallback<T>): MutableRefObject<T>;
export declare type SetRefCallback<T> = (index: number) => RefCallback<T>;
export declare function useRefs<T = Element>(): {
    refs: MutableRefObject<MutableRefObject<T>[]>;
    getRef: (index: number) => MutableRefObject<T>;
    getRefs: () => MutableRefObject<T>[];
    setRefs: (index: number) => (el: unknown) => void;
    clearRefs: () => never[];
};
export declare function useObject<S>(state: S): {
    object: S;
    getObject: () => S;
    setObject: (newState: S) => void;
};
