/// import { RequestOptions } from 'http'; import { PassThrough, Transform } from 'stream'; declare namespace Miniget { interface Options extends RequestOptions { maxRedirects?: number; maxRetries?: number; maxReconnects?: number; backoff?: { inc: number; max: number; }; highWaterMark?: number; transform?: (parsedUrl: RequestOptions) => RequestOptions; acceptEncoding?: { [key: string]: () => Transform; }; } interface DefaultOptions extends Options { maxRedirects: number; maxRetries: number; maxReconnects: number; backoff: { inc: number; max: number; }; } type defaultOptions = Miniget.Options; type MinigetError = Error; interface Stream extends PassThrough { abort: (err?: Error) => void; aborted: boolean; destroy: (err?: Error) => void; destroyed: boolean; text: () => Promise; on(event: 'reconnect', listener: (attempt: number, err?: Miniget.MinigetError) => void): this; on(event: 'retry', listener: (attempt: number, err?: Miniget.MinigetError) => void): this; on(event: 'redirect', listener: (url: string) => void): this; on(event: string | symbol, listener: (...args: any) => void): this; } } declare function Miniget(url: string | URL, options?: Miniget.Options): Miniget.Stream; declare namespace Miniget { var defaultOptions: { maxRedirects: number; maxRetries: number; maxReconnects: number; backoff: { inc: number; max: number; }; }; var MinigetError: { new (message: string, statusCode?: number | undefined): { statusCode?: number | undefined; name: string; message: string; stack?: string | undefined; }; captureStackTrace(targetObject: object, constructorOpt?: Function | undefined): void; prepareStackTrace?: ((err: Error, stackTraces: NodeJS.CallSite[]) => any) | undefined; stackTraceLimit: number; }; } export = Miniget;