import type { MessageHandler, Transport, TransportMeta } from './base';
/**
 * Exact-match in-memory broker.
 * This models the "no wildcards on backbone" constraint.
 */
export declare class InMemoryExactBroker implements Transport {
    private subs;
    publish(topic: string, payload: string, meta?: TransportMeta): void;
    subscribe(topic: string, handler: MessageHandler): () => void;
}
export declare function topicMatchesFilter(topic: string, filter: string): boolean;
/**
 * Wildcard filter broker (supports + and #).
 * Useful for local buses if you decide to allow wildcard fanout internally.
 */
export declare class InMemoryFilterBroker implements Transport {
    private subs;
    private taps;
    publish(topic: string, payload: string, meta?: TransportMeta): void;
    subscribe(topicFilter: string, handler: MessageHandler): () => void;
    /** Observe all messages unconditionally. Returns unsubscribe function. */
    tap(handler: MessageHandler): () => void;
}
//# sourceMappingURL=inmem.d.ts.map