import { Link, RootIndex, BlockIndex, ContentDiff } from './types';
import { LinkCodec } from './codecs';
import { BlockStore } from './block-store';
interface BlockIndexFactory {
    buildRootIndex: (root: Link) => Promise<{
        root: Link;
        index: RootIndex;
        indexBuffer: Uint8Array;
    }>;
    buildChunkyIndex: (root: Link) => Promise<BlockIndex>;
    diffRootIndex: ({ currentRoot, otherRoot, }: {
        currentRoot: Link;
        otherRoot: Link;
    }) => Promise<ContentDiff>;
    diffChunkyIndex: ({ currentIndex, otherIndex, }: {
        currentIndex: BlockIndex;
        otherIndex: BlockIndex;
    }) => Promise<ContentDiff>;
}
declare const blockIndexFactory: ({ linkCodec, blockStore, }: {
    linkCodec: LinkCodec;
    blockStore: BlockStore;
}) => BlockIndexFactory;
export { blockIndexFactory, BlockIndexFactory };
//# sourceMappingURL=block-index.d.ts.map