/*! * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. */ /// import { EventEmitter } from 'events'; import { Guid } from '../..'; import { Connection, ExportedPromise, Message, Payloads, Protocols } from '../../internal'; /** * @hidden * Class to handle sending and receiving messages with a client. */ export declare class Protocol extends EventEmitter { private _conn; private middlewares; private promise; private promiseResolve; private promiseReject; get conn(): Connection; get promises(): Map; get name(): string; constructor(_conn: Connection); run(): Promise; completed(): Promise; use(middleware: Protocols.Middleware): void; startListening(): void; stopListening(): void; sendPayload(payload: Partial, promise?: ExportedPromise): void; sendMessage(message: Message, promise?: ExportedPromise, timeoutSeconds?: number, serializedMessage?: Buffer): void; recvMessage(message: Message): void; recvPayload(payload: Partial): void; drainPromises(): Promise; protected resolve(): void; protected reject(e?: any): void; protected handleReplyMessage(message: Message): void; private rejectPromiseForMessage; protected missingPromiseForReplyMessage(message: Message): void; private onReceive; private onClose; } //# sourceMappingURL=protocol.d.ts.map