import { type ChunkedSection } from "../lib/semantic-chunker.js";
export type { ChunkedSection };
export interface CachedExtract {
    filename: string;
    mimeType: string;
    sections: ChunkedSection[];
}
/** In-process cache consumed by memory-ingest. Keyed by attachmentId. */
export declare const extractCache: Map<string, CachedExtract>;
export interface ExtractResult {
    filename: string;
    mimeType: string;
    sizeBytes: number;
    textLength: number;
    sections: Array<{
        title: string;
        chunkCount: number;
        chunks: Array<{
            id: number;
            preview: string;
        }>;
    }>;
}
/**
 * Extract text content from a file attachment and chunk it server-side.
 *
 * Supports: application/pdf, text/plain, text/markdown.
 * Rejects: text/csv (structured data → memory-write), images (metadata-only).
 *
 * The full chunk content is cached in-process (keyed by attachmentId) for
 * retrieval by memory-ingest. The response includes only chunk previews
 * so the model can generate summaries without echoing full content.
 */
export declare function memoryIngestExtract(opts: {
    storagePath: string;
    filename: string;
    mimeType: string;
    attachmentId: string;
}): Promise<ExtractResult>;
//# sourceMappingURL=memory-ingest-extract.d.ts.map