/**
 * Enhanced Batch Processor for Phase 2
 *
 * Orchestrates the complete Adobe Creative Suite pipeline for
 * batch processing of documents with professional layouts,
 * visualizations, and multi-format output.
 */
export interface BatchProcessingRequest {
    sourceDirectory: string;
    outputDirectory: string;
    options: BatchProcessingOptions;
    filters?: DocumentFilters;
}
export interface BatchProcessingOptions {
    enableInDesignLayouts: boolean;
    enableDataVisualization: boolean;
    enableImageEnhancement: boolean;
    enableMultiFormat: boolean;
    outputFormats: string[];
    templateSelection: 'auto' | 'manual';
    qualityLevel: 'standard' | 'high' | 'premium';
    concurrency: number;
    skipExisting: boolean;
    generatePreviews: boolean;
    preserveDirectoryStructure: boolean;
}
export interface DocumentFilters {
    includePatterns: string[];
    excludePatterns: string[];
    documentTypes: string[];
    minFileSize?: number;
    maxFileSize?: number;
    modifiedAfter?: Date;
}
export interface DocumentAnalysis {
    filePath: string;
    documentType: 'project-charter' | 'requirements-doc' | 'management-plan' | 'technical-spec' | 'unknown';
    contentStructure: ContentStructure;
    visualizableData: VisualizableData;
    images: string[];
    complexity: 'simple' | 'moderate' | 'complex';
    recommendedTemplate: string;
    estimatedProcessingTime: number;
}
export interface ContentStructure {
    hasTitle: boolean;
    hasTOC: boolean;
    sectionCount: number;
    tableCount: number;
    imageCount: number;
    codeBlockCount: number;
    listCount: number;
    headingLevels: number[];
}
export interface VisualizableData {
    timelines: any[];
    charts: any[];
    processes: any[];
    matrices: any[];
}
export interface BatchProcessingResult {
    processedFiles: ProcessedDocument[];
    summary: ProcessingSummary;
    errors: ProcessingError[];
    performance: PerformanceMetrics;
}
export interface ProcessedDocument {
    sourceFile: string;
    analysis: DocumentAnalysis;
    outputs: DocumentOutput[];
    processingTime: number;
    qualityScore: number;
}
export interface DocumentOutput {
    type: 'indesign' | 'illustrator' | 'photoshop' | 'pdf' | 'html';
    filePath: string;
    fileSize: number;
    format: string;
    metadata: any;
}
export interface ProcessingSummary {
    totalFiles: number;
    successfullyProcessed: number;
    failed: number;
    skipped: number;
    totalProcessingTime: number;
    averageProcessingTime: number;
    totalOutputSize: number;
    templatesUsed: string[];
    visualizationsGenerated: number;
    imagesEnhanced: number;
}
export interface ProcessingError {
    file: string;
    error: string;
    stage: 'analysis' | 'template-selection' | 'indesign' | 'illustrator' | 'photoshop' | 'output';
    timestamp: Date;
}
export interface PerformanceMetrics {
    analysisTime: number;
    templateSelectionTime: number;
    indesignProcessingTime: number;
    illustratorProcessingTime: number;
    photoshopProcessingTime: number;
    outputGenerationTime: number;
    memoryUsage: {
        peak: number;
        average: number;
    };
}
export declare class EnhancedBatchProcessor {
    private indesignClient;
    private illustratorClient;
    private photoshopClient;
    private documentGenClient;
    constructor();
    /**
     * Initialize all Adobe Creative Suite clients
     */
    initialize(): Promise<void>;
    /**
     * Process batch of documents with enhanced Adobe Creative Suite pipeline
     */
    processBatch(request: BatchProcessingRequest): Promise<BatchProcessingResult>;
    /**
     * Process a single document through the enhanced pipeline
     */
    processDocument(documentPath: string, request: BatchProcessingRequest, performance: PerformanceMetrics): Promise<ProcessedDocument>;
    /**
     * Analyze document content and structure
     */
    analyzeDocument(filePath: string): Promise<DocumentAnalysis>;
    /**
     * Generate data visualizations from extracted data
     */
    generateVisualizations(data: VisualizableData): Promise<any[]>;
    /**
     * Enhance images for professional presentation
     */
    enhanceImages(imagePaths: string[]): Promise<any[]>;
    /**
     * Generate professional InDesign layout
     */
    generateInDesignLayout(documentPath: string, analysis: DocumentAnalysis, template: string): Promise<any>;
    private discoverDocuments;
    private passesFilters;
    private detectDocumentType;
    private analyzeContentStructure;
    private extractVisualizableData;
    private findImages;
    private assessComplexity;
    private recommendTemplate;
    private estimateProcessingTime;
    private selectTemplate;
    private createOutputStructure;
    private generateMultiFormatOutputs;
    private calculateQualityScore;
    private generateSummary;
    private extractTitle;
    private convertToSections;
}
export declare const enhancedBatchProcessor: EnhancedBatchProcessor;
//# sourceMappingURL=enhanced-batch-processor.d.ts.map