/**
 * InMemoryAgentMessageBus — test-time adapter for {@link IAgentMessageBus}.
 *
 * Persists through a wrapped {@link InMemoryAgentMessageRepository} and
 * delivers to in-process subscribers synchronously. Cross-process delivery
 * is the SQLite adapter's job — this class is intentionally process-local
 * and is the bus used by every unit/integration test that does not need a
 * real database.
 */
import type { AgentMessageBusFilter, AgentMessageHandler, AgentMessageUnsubscribe, IAgentMessageBus } from '../../../application/ports/output/agents/agent-message-bus.interface.js';
import type { IAgentMessageRepository } from '../../../application/ports/output/repositories/agent-message-repository.interface.js';
import type { AgentMessage } from '../../../domain/generated/output.js';
export declare class InMemoryAgentMessageBus implements IAgentMessageBus {
    private readonly repository;
    private readonly subscriptions;
    constructor(repository: IAgentMessageRepository);
    publish(message: AgentMessage): Promise<void>;
    subscribe(filter: AgentMessageBusFilter, handler: AgentMessageHandler): AgentMessageUnsubscribe;
    listFor(filter: AgentMessageBusFilter, limit?: number): Promise<AgentMessage[]>;
}
//# sourceMappingURL=in-memory-agent-message-bus.d.ts.map