/// import { EventEmitter } from 'node:events'; import { Logger } from '../../../logger'; import type { MessageHandler, Transport, TransportConfig, TransportEvents } from '../Transport'; import { TransportStatus } from '../Transport'; /** * Base transport class providing common functionality for all transport implementations */ export declare abstract class BaseTransport extends EventEmitter implements Transport { protected internalStatus: TransportStatus; protected messageHandler?: MessageHandler; protected name?: string; readonly logger: Logger; constructor(); /** * Set a name for this transport (used in logging) */ setName(name: string): void; /** * Get current transport status */ get status(): TransportStatus; /** * Register a message handler for incoming messages */ onMessage(handler: MessageHandler): void; /** * Register an event listener */ on(event: TKey, handler: TransportEvents[TKey]): this; /** * Remove an event listener */ off(event: TKey, handler: TransportEvents[TKey]): this; /** * Set transport status and emit event */ protected setStatus(status: TransportStatus): void; /** * Handle errors and emit error events */ handleError(error: Error, context?: string): void; /** * Abstract methods to be implemented by concrete transport classes */ abstract initialize(config?: TransportConfig): Promise; abstract send(message: TRequest): Promise; abstract close(): Promise; abstract isReady(): boolean; } //# sourceMappingURL=BaseTransport.d.ts.map