/// import 'isomorphic-fetch'; import HttpAgent, { HttpsAgent } from 'agentkeepalive'; import IAuth from "../utils/auth/IAuth"; import IItem from "../data/IItem"; import IItemExport from "../data/IItemExport"; interface IReqHeaders { [name: string]: string; } interface IReqParams { method: string; headers: IReqHeaders; body: string; agent?: HttpAgent; } interface IContext { statusCode: number; headers?: object; httpBody?: any; } interface FetchResponse { status: number; headers: object; httpBody?: any; text: () => Promise; } declare type Transport = (url: string, reqParams: IReqParams) => Promise; export default class PubControlClient { uri?: string; auth?: IAuth; httpKeepAliveAgent?: HttpAgent; httpsKeepAliveAgent?: HttpsAgent; constructor(uri: string); setAuthBasic(username: string, password: string): void; setAuthJwt(token: string): void; setAuthJwt(claim: object, key?: Buffer | string): void; publish(channel: string, item: IItem): Promise; _startPubCall(uri: string | undefined, authHeader: string | null, items: IItemExport[]): Promise; _performHttpRequest(transport: Transport, uri: string, reqParams: IReqParams): Promise; _finishHttpRequest(mode: string, httpData: any, context: IContext): void; } export {};