import type BlobPort from '../../ports/BlobPort.ts';
import type TreePort from '../../ports/TreePort.ts';
import type RefPort from '../../ports/RefPort.ts';
import type BlobStoragePort from '../../ports/BlobStoragePort.ts';
import type { BlobStorageOptions } from '../../ports/BlobStoragePort.ts';
import StreamingIndexStoragePort from '../../ports/StreamingIndexStoragePort.ts';
type CasIndexStorageAdapterOptions = {
    blobPort: BlobPort;
    treePort: TreePort;
    refPort: RefPort;
    blobStorage: BlobStoragePort;
};
export declare class CasIndexStorageAdapter extends StreamingIndexStoragePort {
    private readonly _blobPort;
    private readonly _treePort;
    private readonly _refPort;
    private readonly _blobStorage;
    constructor(options: CasIndexStorageAdapterOptions);
    writeBlob(content: Uint8Array | string): Promise<string>;
    readBlob(oid: string): Promise<Uint8Array>;
    writeBlobStream(source: AsyncIterable<Uint8Array>, options?: BlobStorageOptions): Promise<string>;
    readBlobStream(oid: string): AsyncIterable<Uint8Array>;
    writeTree(entries: string[]): Promise<string>;
    readTreeOids(treeOid: string): Promise<Record<string, string>>;
    updateRef(ref: string, oid: string): Promise<void>;
    readRef(ref: string): Promise<string | null>;
}
export {};
