/// import { WardenRequestOptions } from "./request-manager"; import * as http from "http"; interface HttpResponse extends http.IncomingMessage { body?: string | object | null | undefined; } type RequestCallback = (error: any, response: HttpResponse | undefined, body: string | object | null | undefined) => void; interface RequestChunk { id: number; key: string; requestOptions: WardenRequestOptions; cb: RequestCallback; } interface ResponseChunk extends RequestChunk { response?: HttpResponse | undefined; error?: { code: string; }; } type NextHandler = (chunk: ResponseChunk | RequestChunk) => void; declare class Streamer { readonly name: string; nextStream?: Streamer; previousStream?: Streamer; constructor(name: string); connect(wardenStream: Streamer): Streamer; start(key: string, id: number, requestOptions: WardenRequestOptions, cb: RequestCallback): void; respond(chunk: T): void; request(chunk: T): void; protected onRequest(chunk: RequestChunk, next?: NextHandler): void; protected onResponse(chunk: ResponseChunk, next?: NextHandler): void; private _onRequest; private _onResponse; } export { HttpResponse, RequestCallback, NextHandler, Streamer, RequestChunk, ResponseChunk };