import { Observable, Subscription } from 'rxjs';
import { PubsubMessage } from './pubsub-message.js';
import { ObservableWithNext } from './observable-with-next.js';
import { IpfsApi } from '@ceramicnetwork/common';
export declare class PubsubKeepalive extends Observable<PubsubMessage> implements ObservableWithNext<PubsubMessage> {
    private readonly pubsub;
    private readonly ipfs;
    private readonly maxPubsubPublishInterval;
    private readonly maxIntervalWithoutKeepalive;
    private lastPublishedMessageDate;
    private lastPublishedKeepAliveMessageDate;
    private _ipfsVersion;
    constructor(pubsub: ObservableWithNext<PubsubMessage>, ipfs: IpfsApi, maxPubsubPublishInterval: number, maxIntervalWithoutKeepalive: number);
    next(message: PubsubMessage): Subscription;
    publishPubsubKeepaliveIfNeeded(ipfsVersion: string): void;
}
//# sourceMappingURL=pubsub-keepalive.d.ts.map