import { Logger } from '../types'; import { ExportStateManager } from './export-state-manager'; import { ExportConfig, ExportSession } from './export-types'; import { DocumentDiscovery } from '../services/quip/document-discovery'; import { DocumentExporter } from '../services/quip/document-exporter'; import { FileWriter } from '../services/local/file-writer'; import { FolderStructureMapper } from '../services/local/folder-structure-mapper'; import { DirectoryManager } from '../services/local/directory-manager'; export interface BatchProcessingOptions { batchSize: number; concurrentBatches: number; rateLimitDelay: number; maxRetries: number; retryDelay: number; memoryThreshold: number; } export interface ExportResult { success: boolean; totalDocuments: number; successfulExports: number; failedExports: number; skippedDocuments: number; errors: Array<{ documentId: string; documentTitle: string; error: string; }>; outputDirectory: string; duration: number; } export declare class ExportOrchestrator { private readonly logger; private readonly stateManager; private readonly documentDiscovery; private readonly documentExporter; private readonly fileWriter; private readonly folderMapper; private readonly directoryManager; private readonly errorHandler; private readonly circuitBreakerManager; private isExporting; private shouldCancel; private currentBatch; constructor(logger: Logger, stateManager: ExportStateManager, documentDiscovery: DocumentDiscovery, documentExporter: DocumentExporter, fileWriter: FileWriter, folderMapper: FolderStructureMapper, directoryManager: DirectoryManager); startExport(config: ExportConfig): Promise; cancelExport(): Promise; pauseExport(): void; resumeExport(): void; getExportStatus(): { isExporting: boolean; session: ExportSession | null; progress: any; errorStats?: any; circuitBreakerStats?: any; }; getErrorReport(): { errorReport: any; circuitBreakerStats: any; recommendations: string[]; }; resetErrorHandling(): void; private discoverDocuments; private setupOutputDirectory; private processBatches; private processBatch; private processDocument; private processConcurrently; private createBatches; private calculateBatchSize; private determineExportFormat; private checkMemoryUsage; private waitForBatchCompletion; private generateResult; private getFormatsForDocument; private delay; } //# sourceMappingURL=export-orchestrator.d.ts.map