import { PubsubMessage } from './pubsub-message.js';
import { Observable, Subscription, SubscriptionLike } from 'rxjs';
import { StreamID } from '@ceramicnetwork/streamid';
import type { CID } from 'multiformats/cid';
import { ObservableWithNext } from './observable-with-next.js';
import { OutstandingQueries } from './outstanding-queries.js';
export declare const MAX_RESPONSE_INTERVAL = 300;
export declare class MessageBus extends Observable<PubsubMessage> implements SubscriptionLike {
    readonly pubsub: ObservableWithNext<PubsubMessage>;
    private readonly peerSyncDisabled;
    readonly outstandingQueries: OutstandingQueries;
    private readonly pubsubSubscription;
    private readonly feed$;
    constructor(pubsub: ObservableWithNext<PubsubMessage>, peerSyncDisabled: boolean);
    get closed(): boolean;
    next(message: PubsubMessage): Subscription;
    queryNetwork(streamId: StreamID): Observable<CID>;
    unsubscribe(): void;
}
//# sourceMappingURL=message-bus.d.ts.map