import type { SemanticChunker, TextChunk } from '../chunker/index.js'; import type { EmbedderInterface } from '../chunker/semantic-chunker.js'; import type { DocumentParser } from '../parser/index.js'; import type { VectorChunk, VisualAttachment } from '../vectordb/index.js'; import { type CaptionerConfig } from './visual.js'; export interface PrepareFileForIngestOptions { images: boolean; captioner?: CaptionerConfig; } export interface PreparedFileIngest { filePath: string; chunks: TextChunk[]; embeddings: number[][]; textLength: number; title: string | null; contentHash: string; visualAttachments: Map; omittedImageCount: number; } export declare function buildPreparedFileVectorChunks(prepared: PreparedFileIngest): VectorChunk[]; /** * Prepare one validated source file for persistence without touching storage or * process output. The source hash is read before parsing so a concurrent rewrite * remains visible to the next sync instead of being paired with stale chunks. */ export declare function prepareFileForIngest(filePath: string, parser: DocumentParser, chunker: SemanticChunker, embedder: EmbedderInterface, options: PrepareFileForIngestOptions): Promise; //# sourceMappingURL=file.d.ts.map