import type { CASClient } from '../anchor-service.js';
import type { AnchorEvent, NotCompleteStatusName } from '@ceramicnetwork/common';
import { StreamID } from '@ceramicnetwork/streamid';
import { CID } from 'multiformats/cid';
import type { LRUCache } from 'least-recent';
export declare class InMemoryCAS implements CASClient {
    #private;
    constructor(chainId: string, transactionCache: LRUCache<string, number>, anchorOnRequest: boolean);
    assertCASAccessible(): void;
    supportedChains(): Promise<Array<string>>;
    anchor(): void;
    createRequest(streamId: StreamID, tip: CID, timestamp: Date): Promise<AnchorEvent>;
    getStatusForRequest(streamId: StreamID, tip: CID): Promise<AnchorEvent>;
    private findCandidates;
    private process;
    moveAnchors(from: NotCompleteStatusName, to: NotCompleteStatusName, reset: boolean): void;
    close(): Promise<void>;
}
//# sourceMappingURL=in-memory-cas.d.ts.map