import { ExecutionPlan, FileReference, ProcessingOptions, ResourceEstimate, WorkflowDefinition, WorkflowResult } from '../core/types.js';
export declare class ExtractionWorkflow implements WorkflowDefinition {
    id: string;
    steps: any[];
    continueOnError: boolean;
    timeout: number;
    private orchestrator;
    private documentAnalysis;
    private multimodalProcess;
    private readonly EXTRACTION_TYPES;
    constructor(id?: string);
    executeComprehensiveExtraction(files: FileReference[], extractionTypes: (keyof typeof this.EXTRACTION_TYPES)[], options?: ProcessingOptions & {
        outputFormat?: 'json' | 'xml' | 'csv' | 'markdown';
        includeConfidence?: boolean;
        structuredOutput?: boolean;
    }): Promise<WorkflowResult>;
    executeTextExtraction(files: FileReference[], options?: ProcessingOptions & {
        preserveFormatting?: boolean;
        extractFootnotes?: boolean;
        includePageNumbers?: boolean;
    }): Promise<WorkflowResult>;
    executeStructuredDataExtraction(files: FileReference[], dataTypes: ('tables' | 'lists' | 'forms' | 'charts' | 'key-value-pairs')[], options?: ProcessingOptions & {
        outputFormat?: 'json' | 'csv' | 'xml';
        includeHeaders?: boolean;
        normalizeData?: boolean;
    }): Promise<WorkflowResult>;
    executeEntityExtraction(files: FileReference[], entityTypes: ('persons' | 'organizations' | 'locations' | 'dates' | 'numbers' | 'emails' | 'urls' | 'custom')[], options?: ProcessingOptions & {
        customEntities?: string[];
        includeContext?: boolean;
        confidence?: number;
    }): Promise<WorkflowResult>;
    executeMultimodalExtraction(files: FileReference[], contentTypes: ('text' | 'images' | 'audio' | 'video' | 'metadata')[], options?: ProcessingOptions & {
        transcribeAudio?: boolean;
        extractFrames?: boolean;
        analyzeImages?: boolean;
    }): Promise<WorkflowResult>;
    executeFormDataExtraction(files: FileReference[], formFields?: string[], options?: ProcessingOptions & {
        detectFields?: boolean;
        validateData?: boolean;
        outputFormat?: 'json' | 'csv';
    }): Promise<WorkflowResult>;
    executeMetadataExtraction(files: FileReference[], metadataTypes: ('technical' | 'descriptive' | 'administrative' | 'structural')[], options?: ProcessingOptions & {
        includeEXIF?: boolean;
        analyzeContent?: boolean;
    }): Promise<WorkflowResult>;
    createExecutionPlan(files: FileReference[], prompt: string, options?: ProcessingOptions): Promise<ExecutionPlan>;
    validateInputs(inputs: any): boolean;
    estimateResourceRequirements(inputs: any): ResourceEstimate;
    private validateExtraction;
    private createComprehensiveExtractionWorkflow;
    private createTextExtractionWorkflow;
    private createStructuredDataExtractionWorkflow;
    private createEntityExtractionWorkflow;
    private createMultimodalExtractionWorkflow;
    private createFormDataExtractionWorkflow;
    private createMetadataExtractionWorkflow;
    private getExtractionAction;
    private categorizeFileTypes;
    private assessExtractionComplexity;
    private estimateExtractionDuration;
    private estimateExtractionCost;
    getSupportedExtractionTypes(): typeof this.EXTRACTION_TYPES;
    getAvailableExtractionTypes(): string[];
    getCapabilities(): string[];
}
//# sourceMappingURL=ExtractionWorkflow.d.ts.map