import { type Envelope, type Json, type MaybePromise, type Notification, type UnknownCommand, type UnknownMessage } from '../types/index.ts'; import type { OpenConnectionSender } from './sender.ts'; export type EventMap = { message: (message: UnknownMessage) => MaybePromise; command: (command: UnknownCommand) => MaybePromise | MaybePromise; notification: (notification: Notification) => MaybePromise; }; export type Listener = { predicate?: (...args: Parameters) => boolean; callback: (...args: Parameters) => ReturnType; }; export declare class EnvelopeResolver { private readonly sender; private readonly timeoutListener; private readonly listeners; private readonly waitingEnvelopeResponseResolvers; constructor(sender: OpenConnectionSender, timeoutSeconds?: number); resolve(envelope: Envelope): Promise; createEnvelopeResponsePromise(id: string): Promise; addListener(ev: K, listener: Listener): void; removeListener(ev: K, callback: Listener['callback']): void; close(): void; rejectPendingEnvelopes(reason: string): void; private resolveEnvelopeResponse; private emit; } //# sourceMappingURL=enveloperesolver.d.ts.map