import type BlobPort from '../../../ports/BlobPort.ts';
import type CodecPort from '../../../ports/CodecPort.ts';
import type TreePort from '../../../ports/TreePort.ts';
import WarpMemoryPool from '../../memory/WarpMemoryPool.ts';
import { CheckpointBasisFact } from './CheckpointBasisFact.ts';
import CheckpointBasisManifest from './CheckpointBasisManifest.ts';
export type CheckpointBasisPublicationStorage = Pick<BlobPort, 'writeBlob'> & Pick<TreePort, 'writeTree'>;
export type StreamingCheckpointBasisBuilderOptions = {
    readonly graphName: string;
    readonly checkpointSha: string;
    readonly frontier: Map<string, string>;
    readonly storage: CheckpointBasisPublicationStorage;
    readonly codec?: CodecPort;
    readonly pool?: WarpMemoryPool;
    readonly maxFactsPerShard: number;
    readonly layoutFamily?: string;
    readonly payloadLayout?: string;
    readonly shardKeyStrategy?: string;
};
export declare class StreamingCheckpointBasisBuildResult {
    readonly manifest: CheckpointBasisManifest;
    readonly rootTreeOid: string;
    readonly flushCount: number;
    readonly shardWriteCount: number;
    readonly treeEntries: readonly string[];
    constructor(options: {
        readonly manifest: CheckpointBasisManifest;
        readonly rootTreeOid: string;
        readonly flushCount: number;
        readonly shardWriteCount: number;
        readonly treeEntries: readonly string[];
    });
}
export default class StreamingCheckpointBasisBuilder {
    private readonly _graphName;
    private readonly _checkpointSha;
    private readonly _frontier;
    private readonly _storage;
    private readonly _codec;
    private readonly _pool;
    private readonly _maxFactsPerShard;
    private readonly _layoutFamily;
    private readonly _payloadLayout;
    private readonly _shardKeyStrategy;
    constructor(options: StreamingCheckpointBasisBuilderOptions);
    build(facts: AsyncIterable<CheckpointBasisFact>): Promise<StreamingCheckpointBasisBuildResult>;
    private _manifest;
    private _shardGeometry;
}
