export type Method = 'get' | 'GET' | 'delete' | 'DELETE' | 'head' | 'HEAD' | 'options' | 'OPTIONS' | 'post' | 'POST' | 'put' | 'PUT' | 'patch' | 'PATCH' | 'purge' | 'PURGE' | 'link' | 'LINK' | 'unlink' | 'UNLINK'; export type RequestHeaders = Record; export interface RequestConfig { url?: string; method?: Method; headers?: RequestHeaders; params?: any; paramsSerializer?: (params: any) => string; data?: D; timeout?: number; } export interface Response { data: T; status: number; statusText: string; headers: Record; request?: any; } export interface IRequestWrapper { get(url: string, timeout?: number, headers?: { [key: string]: string | number; }): Promise; post(url: string, data?: any, timeout?: number, headers?: { [key: string]: string | number; }): Promise; request>(config: RequestConfig): Promise; querySubgraph(subgraph: string, data: { query: string; variables?: Record; }, options: { timeout?: number; type?: 'subgraphs' | 'deployments'; }): Promise; }