import type { AtomicTextRange, SemanticChunker, TextChunk } from '../chunker/index.js'; import type { EmbedderInterface } from '../chunker/semantic-chunker.js'; import type { DocumentParser } from '../parser/index.js'; import type { FilteredTextFragment } from '../parser/pdf-filter.js'; import type { ProcessedVisualRegion, QualityProfile } from '../pdf-visual/types.js'; import type { VisualAttachment } from '../vectordb/types.js'; export interface VisualPdfParser { parsePdfPages: DocumentParser['parsePdfPages']; } export interface CaptionerConfig { profile: QualityProfile; cacheDir: string; device?: string | undefined; } export interface PrepareVisualPdfChunksOptions { images: boolean; captioner?: CaptionerConfig; } export interface PrepareVisualPdfChunksResult { chunks: TextChunk[]; embeddings: number[][]; title: string | null; text: string; atomicRanges: AtomicTextRange[]; visualAttachments: Map; omittedImageCount: number; } export interface OrderedVisualPage { pageNum: number; text: string; textFragments: readonly FilteredTextFragment[]; } export interface OrderedVisualRegion extends ProcessedVisualRegion { visualIndex: number; anchorOffset: number; captionRange?: AtomicTextRange; } export interface OrderedVisualDocument { text: string; atomicRanges: AtomicTextRange[]; regions: OrderedVisualRegion[]; } export declare function buildOrderedVisualDocument(pages: readonly OrderedVisualPage[], processedRegions: readonly ProcessedVisualRegion[]): OrderedVisualDocument; export declare function prepareVisualPdfChunks(filePath: string, parser: VisualPdfParser, chunker: SemanticChunker, embedder: EmbedderInterface, options: PrepareVisualPdfChunksOptions): Promise; //# sourceMappingURL=visual.d.ts.map