///
///
///
import { RequestOptions as HttpsRequestOptions } from "https";
import { RequestOptions as HttpRequestOptions, ClientRequest } from "http";
import { ReadStream } from "fs";
export type Options = HttpsRequestOptions | HttpRequestOptions;
export interface Init {
}
export type Format = 'json' | 'text' | 'original';
export interface Feature {
forRequest: (init: Init, options: Options) => void;
forRequestClient: (init: Init, client: ClientRequest) => Promise;
forFetch: (init: Init, options: FetchOptions) => void;
}
export type FetchOptions = {
method?: string;
headers?: Record;
body?: any;
signal?: AbortSignal;
};
export type Response = {
status: number;
statusText: string;
headers: Record;
body: any;
};
export declare class StreamFile {
name: string;
stream: Blob | ReadStream;
constructor(file: string | Blob);
private basename;
}
export declare function readFile(file: string | Blob): StreamFile;
export declare function request(url: string, init: Init, format: Format): Promise;