export declare const RAINBOW_FETCH_ERROR = "rainbowFetchError"; export interface RainbowFetchRequestOpts extends RequestInit { params?: ConstructorParameters[0]; timeout?: number; } /** * rainbowFetch fetches data and handles response edge cases and error handling. */ export declare function rainbowFetch(url: RequestInfo, opts: RainbowFetchRequestOpts): Promise<{ data: TData; headers: Headers; status: number; }>; interface RainbowFetchClientOpts extends RainbowFetchRequestOpts { baseUrl?: string; } export declare class RainbowFetchClient { baseUrl: string; opts: RainbowFetchRequestOpts; constructor(opts?: RainbowFetchClientOpts); /** * Perform a GET request with the RainbowFetchClient. */ get(url?: RequestInfo, opts?: RainbowFetchRequestOpts): Promise<{ data: TData; headers: Headers; status: number; }>; /** * Perform a DELETE request with the RainbowFetchClient. */ delete(url?: RequestInfo, opts?: RainbowFetchRequestOpts): Promise<{ data: unknown; headers: Headers; status: number; }>; /** * Perform a HEAD request with the RainbowFetchClient. */ head(url?: RequestInfo, opts?: RainbowFetchRequestOpts): Promise<{ data: unknown; headers: Headers; status: number; }>; /** * Perform a OPTIONS request with the RainbowFetchClient. */ options(url?: RequestInfo, opts?: RainbowFetchRequestOpts): Promise<{ data: unknown; headers: Headers; status: number; }>; /** * Perform a POST request with the RainbowFetchClient. */ post(url?: RequestInfo, body?: any, opts?: RainbowFetchRequestOpts): Promise<{ data: TData; headers: Headers; status: number; }>; /** * Perform a PUT request with the RainbowFetchClient. */ put(url?: RequestInfo, body?: any, opts?: RainbowFetchRequestOpts): Promise<{ data: TData; headers: Headers; status: number; }>; /** * Perform a PATCH request with the RainbowFetchClient. */ patch(url?: RequestInfo, body?: any, opts?: RainbowFetchRequestOpts): Promise<{ data: TData; headers: Headers; status: number; }>; } export {};