import type { Options } from "../../../util/fetch"; declare type Initial = { status: "initial"; isInitial: true; isPending: false; isCompleted: false; isErrored: false; data: undefined; error: undefined; }; declare type Pending = { status: "pending"; isInitial: false; isPending: true; isCompleted: false; isErrored: false; data: undefined; error: undefined; }; declare type Completed = { status: "completed"; isInitial: false; isPending: false; isCompleted: true; isErrored: false; data: T; error: undefined; }; declare type Errored = { status: "errored"; isInitial: false; isPending: false; isCompleted: false; isErrored: true; data: undefined; error: Error; }; declare type UnhandledError = { code: -1; message: string; }; export declare type FetchState = Initial | Pending | Completed | Errored; declare type UseFetchProps = { url: string; body?: T; options?: Options; }; export declare const useFetch: ({ url, body, options, }: UseFetchProps) => FetchState & { performFetch: (props: UseFetchProps) => Promise>; }; export {};