export interface CachedExtract {
    filename: string;
    mimeType: string;
    text: string;
    /**
     * Absolute on-disk path the bytes were extracted from. Threaded through to
     * `memory-ingest` so the writer can persist the real source location on the
     * `:KnowledgeDocument` (Task 524 — the sidebar download resolver reads it
     * back to serve the file). For web ingests this is the tmpfile that
     * `memory-ingest-web` unlinks after extraction; the writer drops it via the
     * `sourceType === 'web'` gate so a dead pointer is never persisted.
     */
    storagePath: string;
}
export declare const extractCache: Map<string, CachedExtract>;
export interface ExtractResult {
    filename: string;
    mimeType: string;
    sizeBytes: number;
    textLength: number;
    /** First 240 chars of the extracted text — for the agent's situational awareness. */
    preview: string;
}
/**
 * Extract text from a file attachment. Caches the full text by attachmentId
 * for memory-classify and memory-ingest to consume.
 *
 * Supports: application/pdf, text/plain, text/markdown.
 * Rejects: text/csv (structured data → memory-write), images (metadata-only).
 */
export declare function memoryIngestExtract(opts: {
    storagePath: string;
    filename: string;
    mimeType: string;
    attachmentId: string;
}): Promise<ExtractResult>;
//# sourceMappingURL=memory-ingest-extract.d.ts.map