/// import { EventEmitter } from 'events'; import { IncomingMessage, OutgoingResponse } from '../message/types'; export interface ChannelSubscriberData { message: IncomingMessage; responseContext: ChannelResponseContext; } export declare type ChannelResponseContext = Record & { senderId: string; sent?: boolean; }; declare class Channel extends EventEmitter { static MESSAGE_EVENT: string; static RESPONSE_EVENT: string; private pendingResponseMap; private pendingResponseTimeoutMap; protected sendResponseNow(responses: OutgoingResponse[], responseContext: ChannelResponseContext): void; private sendAndClearPendingResponse; sendResponse(response: OutgoingResponse, responseContext: ChannelResponseContext): void; } export default Channel;