export declare enum HTTPMethod {
    DELETE = "DELETE",
    GET = "GET",
    HEAD = "HEAD",
    OTIONS = "OPTIONS",
    PATCH = "PATCH",
    POST = "POST",
    PUT = "PUT"
}
export interface Options {
    url?: string;
    onMount?: boolean;
    method?: string;
    timeout?: number;
    baseUrl?: string;
}
export declare type FetchData = (fArg1?: string | object | undefined, fArg2?: string | object | undefined) => Promise<void>;
export declare type FetchCommands = {
    get: FetchData;
    post: FetchData;
    patch: FetchData;
    put: FetchData;
    del: FetchData;
    delete: FetchData;
    query: (query?: string | undefined, variables?: object | undefined) => Promise<void>;
    mutate: (mutation?: string | undefined, variables?: object | undefined) => Promise<void>;
    abort: () => void;
};
export declare type DestructuringCommands<TData = any> = [TData | undefined, boolean, any, FetchCommands];
export declare type UseFetchResult<TData = any> = FetchCommands & {
    data?: TData;
    loading: boolean;
    error?: any;
    request: FetchCommands;
};
export declare type useFetchArg1 = string | Options & RequestInit;
export declare type UseFetch<TData> = DestructuringCommands<TData> & UseFetchResult<TData>;
