import { DependencyList, JSX, ReactNode } from "react";
export declare function useConstant<T>(builder: () => T): T;
export declare function useStable<T extends (...args: any[]) => any>(value: T | undefined): (...args: Parameters<T>) => void;
export declare function useDeepMemo<TValue>(memoFn: () => TValue, key: unknown): TValue;
export declare function abortable(worker: (signal: AbortSignal) => Promise<any>): () => void;
export declare function useAbortable(effect: (signal: AbortSignal) => Promise<any>, deps?: DependencyList): void;
export declare function useUnmountSignal(): AbortSignal;
export declare function useIsMounted(): {
    isMountedRef: import("react").RefObject<boolean>;
};
export declare function useImageUrl(blob: Blob): string;
type ContextWrapper = (children: ReactNode) => JSX.Element;
export declare function useMergeWrap(firstWrapper: ContextWrapper, ...otherWrappers: ContextWrapper[]): ContextWrapper;
export {};
