export type BringMethods = "GET" | "POST" | "PUT" | "DELETE" | "PATCH" | "HEAD" | "OPTIONS"; export type BringCacheOptions = "no-cache" | "reload" | "force-cache" | "only-if-cached"; export type BringCredentials = "include" | "omit" | "same-origin"; export interface BringInterceptOptions { beforeRequest?: (request: BringConfig) => BringConfig; afterRequest?: (response: BringResponse, request: BringConfig) => BringResponse; } export interface BringConfig { baseUrl?: string; headers?: { [key: string]: string; }; cache?: BringCacheOptions; interceptors?: BringInterceptOptions; abortable?: boolean; credentials?: BringCredentials; } export interface BringResponse { data?: TData; status: Number; statusText: String; ok: Boolean; }