/// import * as fs from 'fs'; import { CommuniqueType, Response, ResponseWithTag } from './Messages'; import { BodyType, Href, PingResponseDefinition, ClientSettingDefinition, ExceptionDetail } from './MessageBodyTypes'; import TypedEmitter from 'typed-emitter'; export interface Message { CommuniqueType: CommuniqueType; Header: { ClientTag: string; Url: string; }; Body?: Record; } declare type LeapClientEvents = { unsolicited: (response: Response) => void; disconnected: () => void; }; declare const LeapClient_base: new () => TypedEmitter; export declare class LeapClient extends LeapClient_base { private readonly host; private readonly port; private connected; private socket?; private readonly tlsOptions; private inFlightRequests; private taggedSubscriptions; private responseParser; private sslKeylogFile?; constructor(host: string, port: number, ca: string, key: string, cert: string, sslKeylogFile?: fs.WriteStream); retrieve(href: Href, endpoint?: string): Promise; request(communiqueType: CommuniqueType, url: string, body?: Record, tag?: string): Promise; connect(): Promise; close(): void; subscribe(url: string, callback: (resp: Response) => void, communiqueType?: CommuniqueType | undefined, body?: Record, tag?: string): Promise; drain(): void; private _empty; private _onConnect; private socketDataHandler; private _handleResponse; setVersion(): Promise; ping(): Promise; } export {}; //# sourceMappingURL=LeapClient.d.ts.map