import { TFetcherResponse, TFetcherVariant, TFetcherWorker } from '../types'; export interface IRequestOptions { url: string; params?: Record; method?: string; timeout?: number; [extra: symbol | string]: any; } export interface IFetchable> { send(opts: RQ, logger?: any): Promise; get(opts: RQ, logger?: any): Promise; post(opts: RQ, logger?: any): Promise; put(opts: RQ, logger?: any): Promise; patch(opts: RQ, logger?: any): Promise; delete(opts: RQ, logger?: any): Promise; getWorker(): TFetcherWorker; } export declare abstract class AbstractNetworkFetchableHelper> implements IFetchable { protected name: string; protected variant: V; protected worker: TFetcherWorker; constructor(opts: { name: string; variant: V; }); abstract send(opts: RQ, logger?: any): Promise; getProtocol(url: string): "http" | "https"; getWorker(): TFetcherWorker; get(opts: RQ, logger?: any): Promise; post(opts: RQ, logger?: any): Promise; put(opts: RQ, logger?: any): Promise; patch(opts: RQ, logger?: any): Promise; delete(opts: RQ, logger?: any): Promise; } //# sourceMappingURL=base-fetcher.d.ts.map