import { Observable, Subscription } from 'rxjs';
import { IpfsApi } from '@ceramicnetwork/common';
import { PubsubMessage } from './pubsub-message.js';
import { DiagnosticsLogger, ServiceLogger } from '@ceramicnetwork/common';
import { TaskQueue } from '../ancillary/task-queue.js';
export declare class Pubsub extends Observable<PubsubMessage> {
    private readonly ipfs;
    private readonly topic;
    private readonly resubscribeEvery;
    private readonly lateMessageAfter;
    private readonly pubsubLogger;
    private readonly logger;
    readonly tasks: TaskQueue;
    private readonly peerId$;
    constructor(ipfs: IpfsApi, topic: string, resubscribeEvery: number, lateMessageAfter: number, pubsubLogger: ServiceLogger, logger: DiagnosticsLogger, tasks?: TaskQueue);
    next(message: PubsubMessage): Subscription;
}
//# sourceMappingURL=pubsub.d.ts.map