/**
 * Image Extractor Service
 *
 * TypeScript wrapper for Python image extraction scripts.
 * Extracts images from PDF and DOCX documents for VLM analysis.
 */
import { ExtractedImage, ImageExtractionOptions } from '../../models/image.js';
/**
 * Result from image extraction
 */
export interface ExtractionResult {
    success: boolean;
    count: number;
    images: ExtractedImage[];
    warnings?: string[];
    error?: string;
}
/**
 * Configuration for the image extractor
 */
export interface ExtractorConfig {
    /** Path to Python executable */
    pythonPath: string;
    /** Path to the extraction script (defaults to python/image_extractor.py) */
    scriptPath?: string;
    /** Timeout in milliseconds (default: 120000 = 2 minutes) */
    timeout?: number;
}
/**
 * Service for extracting images from PDF documents
 */
export declare class ImageExtractor {
    private readonly config;
    private readonly pdfScriptPath;
    private readonly docxScriptPath;
    constructor(config?: Partial<ExtractorConfig>);
    /**
     * Extract images from any supported document type.
     * Routes to the correct extractor based on file extension.
     *
     * @param filePath - Path to the document file
     * @param options - Extraction options
     * @returns Promise<ExtractedImage[]> - Array of extracted images
     * @throws Error if file type is unsupported or extraction fails
     */
    extractImages(filePath: string, options: ImageExtractionOptions): Promise<ExtractedImage[]>;
    /**
     * Check if a file type is supported for image extraction.
     */
    static isSupported(filePath: string): boolean;
    /**
     * Extract images from a PDF document
     *
     * @param pdfPath - Path to the PDF file
     * @param options - Extraction options
     * @returns Promise<ExtractedImage[]> - Array of extracted images
     * @throws Error if extraction fails
     */
    extractFromPDF(pdfPath: string, options: ImageExtractionOptions): Promise<ExtractedImage[]>;
    /**
     * Extract images from a DOCX document
     *
     * @param docxPath - Path to the DOCX file
     * @param options - Extraction options
     * @returns Promise<ExtractedImage[]> - Array of extracted images
     * @throws Error if extraction fails
     */
    extractFromDOCX(docxPath: string, options: ImageExtractionOptions): Promise<ExtractedImage[]>;
    /**
     * Check if the Python environment is properly configured
     *
     * @returns Promise<boolean> - True if Python and dependencies are available
     */
    checkEnvironment(): Promise<{
        available: boolean;
        pythonVersion?: string;
        missingDependencies: string[];
    }>;
    /**
     * Run a Python extraction script (works for both PDF and DOCX extractors)
     */
    private runPythonExtractorScript;
    /**
     * Run a simple command and return output
     */
    private runCommand;
}
//# sourceMappingURL=extractor.d.ts.map