import { Logger } from '../types'; import { ExportState, ExportConfig, ExportSession, ExportProgress, ExportSummary, ExportStatus, FolderSummary } from './export-types'; export declare class ExportStateManager { private readonly logger; private currentSession; private readonly progressCallbacks; private readonly stateChangeCallbacks; constructor(logger: Logger); createSession(config: ExportConfig): ExportSession; getCurrentSession(): ExportSession | null; updateConfig(config: Partial): void; updateState(stateUpdate: Partial): void; setStatus(status: ExportStatus): void; initializeExport(totalDocuments: number): void; startExport(): void; startDocumentExport(_documentId: string, documentTitle: string, folderPath: string, formats?: string[]): void; startFormatExport(_documentId: string, format: string): void; completeFormatExport(_documentId: string, format: string, success: boolean, error?: Error): void; completeDocumentExport(): void; failDocumentExport(documentId: string, documentTitle: string, folderPath: string, error: string, retryCount?: number): void; completeExport(): void; failExport(error: string): void; cancelExport(): void; getProgress(): ExportProgress; generateSummary(folderSummaries?: FolderSummary[]): ExportSummary; onProgress(callback: (progress: ExportProgress) => void): void; onStateChange(callback: (state: ExportState) => void): void; removeProgressCallback(callback: (progress: ExportProgress) => void): void; removeStateChangeCallback(callback: (state: ExportState) => void): void; validateConfig(config: ExportConfig): { valid: boolean; errors: string[]; }; getStatistics(): { totalSessions: number; currentSession: ExportSession | null; averageExportSpeed?: number; successRate?: number; }; clearSession(): void; private notifyProgress; private generateSessionId; } //# sourceMappingURL=export-state-manager.d.ts.map