import { HistoryManager, HistoryOperation, HistorySnapshot, HistoryState, HistoryConfig, HistoryEvent, HistoryEventCallback, HistoryExport, HistoryDiff } from '../types/history-interfaces'; /** * Реализация менеджера истории изменений */ export declare class HistoryManagerImpl implements HistoryManager { private operations; private snapshots; private currentIndex; private config; private eventListeners; private stats; constructor(config?: HistoryConfig); /** * Добавить операцию в историю */ addOperation(operation: Omit): void; /** * Создать снимок состояния */ createSnapshot(data: any, description: string): HistorySnapshot; /** * Отменить последнюю операцию */ undo(): Promise; /** * Повторить отмененную операцию */ redo(): Promise; /** * Отменить до определенной операции */ undoTo(operationId: string): Promise; /** * Повторить до определенной операции */ redoTo(operationId: string): Promise; /** * Получить текущее состояние истории */ getState(): HistoryState; /** * Получить список операций */ getOperations(limit?: number): HistoryOperation[]; /** * Получить список снимков */ getSnapshots(limit?: number): HistorySnapshot[]; /** * Очистить историю */ clear(): void; /** * Очистить старые записи */ cleanup(): void; /** * Получить операцию по ID */ getOperation(id: string): HistoryOperation | null; /** * Получить снимок по ID */ getSnapshot(id: string): HistorySnapshot | null; /** * Экспорт истории */ export(): HistoryExport; /** * Импорт истории */ import(data: HistoryExport): void; /** * Подписка на события истории */ on(event: HistoryEvent, callback: HistoryEventCallback): void; /** * Отписка от событий */ off(event: HistoryEvent, callback: HistoryEventCallback): void; /** * Создать diff между двумя состояниями */ createDiff(before: any, after: any, path?: string[]): HistoryDiff[]; private generateId; private canPerformUndo; private canPerformRedo; private shouldCreateSnapshot; private performCleanupIfNeeded; private calculateSize; private calculateTotalSize; private cleanupBySize; private deepClone; private compressData; private emitEvent; } //# sourceMappingURL=HistoryManagerImpl.d.ts.map