import { RefObject } from "react";
export declare const useClickOutside: (ref: RefObject<HTMLElement>, onClickOutsideClick: () => void) => void;
/**@deprecated this hook is broken and should be removed */
export declare const useScrollOutside: (ref: RefObject<HTMLElement>, onScrollOutside: () => void, scrollElement?: HTMLDivElement | undefined, enabled?: boolean | undefined, isOpen?: boolean | undefined) => void;
/** @deprecated */
export declare const useCopy: (message: string, sendMessage?: (() => void) | undefined) => () => void;
export interface QueryParamsDict {
    [k: string]: string;
}
export declare const useFetch: <T>({ query, predicate, headers, method, parsePayload, }: {
    query?: string | undefined;
    method?: "get" | "post" | undefined;
    headers?: Headers | undefined;
    predicate: (raw: unknown) => raw is T;
    parsePayload?: ((raw: string) => unknown) | undefined;
}, needsUpdate?: boolean) => {
    data: T | undefined;
    error: Error | undefined;
    pending: boolean;
    exec: (body?: string | undefined, queryParams?: QueryParamsDict | undefined) => Promise<T | undefined>;
};
export declare const useStored: (name: string, storage?: Storage) => {
    data: string | undefined;
    set: (value: string) => void;
    remove: () => void;
};
