import type { CASClient } from '../anchor-service.js';
import type { AnchorEvent, FetchRequest } from '@ceramicnetwork/common';
import type { StreamID } from '@ceramicnetwork/streamid';
import type { CID } from 'multiformats/cid';
import { type Observable } from 'rxjs';
import { DiagnosticsLogger } from '@ceramicnetwork/common';
import { VersionInfo } from '../../ceramic.js';
export declare class RemoteCAS implements CASClient {
    #private;
    constructor(logger: DiagnosticsLogger, anchorServiceUrl: string, sendRequest: FetchRequest, versionInfo: VersionInfo);
    assertCASAccessible(): void;
    _recordCASContactFailure(): void;
    _recordCASContactSuccess(action: string): void;
    supportedChains(): Promise<Array<string>>;
    createRequest(streamId: StreamID, tip: CID, timestamp: any): Promise<AnchorEvent>;
    create$(streamId: StreamID, tip: CID, timestamp: Date): Observable<unknown>;
    getStatusForRequest(streamId: StreamID, tip: CID): Promise<AnchorEvent>;
    close(): Promise<void>;
}
//# sourceMappingURL=remote-cas.d.ts.map