/** * DocShell type definitions */ export interface ConversionResult { text: string; metadata: ConversionMetadata; } export interface ConversionMetadata { type: DocType; version: string; warnings: string[]; pageCount?: number; slideCount?: number; sheetCount?: number; timing?: number; textLength: number; } export type DocType = 'docx' | 'pptx' | 'xlsx' | 'pdf' | 'text' | 'binary'; export interface CacheKey { absPath: string; mtimeNs: bigint; size: number; extractorSig: string; normVersion: string; configSig: string; } export interface CacheEntry { key: CacheKey; blobHash: string; createdAt: number; } export interface OutlineItem { kind: 'heading' | 'slide' | 'sheet' | 'bookmark' | 'page'; index?: number; level?: number; title: string; } export interface OutlineResult { path: string; type: DocType; items: OutlineItem[]; warnings: string[]; } export interface DocShellConfig { cacheDir: string; viewId?: string; extensions: string[]; maxBytes?: number; xlsxMaxRows: number; xlsxMaxCols: number; pptIncludeNotes: boolean; pdfTool: 'pdftotext' | 'pdf-parse'; logLevel: 'error' | 'warn' | 'info' | 'debug'; strict: boolean; noCache: boolean; } export declare const DEFAULT_CONFIG: DocShellConfig; export declare const DOC_EXTENSIONS: Set; export declare function isDocExtension(ext: string): boolean; export declare function getDocType(filepath: string): DocType;