import type { MessageBus, MessageBusConnection } from './MessageBus.js';
/** Abstract base class for MessageBus implementations. */
export declare abstract class AbstractMessageBus<T> implements MessageBus<T> {
    protected connections: MessageBusConnection<T>[];
    protected readonly name: string;
    protected readonly sessionId: string | undefined;
    constructor(sessionId?: string, name?: string);
    addConnection(connection: MessageBusConnection<T>): void;
    removeConnection(connection: MessageBusConnection<T>): void;
    protected validateSessionId(sessionId?: string): boolean;
    abstract postMessage(message: unknown): void;
    abstract start(): void;
    abstract stop(): void;
}
//# sourceMappingURL=Abstract.d.ts.map