import type { CodebaseIndex, CodeSkippedFile, ContentMode, IndexTruncation } from './types.js';
export interface SerializedIndexMeta {
    repoRoot: string;
    contentMode: ContentMode;
    capabilities: CodebaseIndex['capabilities'];
    skippedFiles: CodeSkippedFile[];
    fileCount: number;
    nodeCount: number;
    edgeCount: number;
    truncated?: IndexTruncation;
    schemaVersion?: number;
    occVersion?: string;
    builtAt?: string;
    buildOptionFingerprint?: string;
}
export declare function writeNdjsonFile<T>(filePath: string, entries: T[], signal?: AbortSignal): Promise<void>;
export declare function readNdjsonFile<T>(filePath: string, signal?: AbortSignal): Promise<T[]>;
export declare function writeSectionedCodeIndex(directory: string, index: CodebaseIndex, extraMeta?: Partial<SerializedIndexMeta>, signal?: AbortSignal): Promise<void>;
export declare function readSectionedCodeIndex(directory: string, signal?: AbortSignal): Promise<{
    index: CodebaseIndex;
    meta: SerializedIndexMeta;
}>;
