/** * Менеджер миграций для CSElement * Поддерживает версионирование схем и автоматическое применение миграций */ import { EventEmitter } from 'events'; import { TypedElementManager } from '../typed-elements/TypedElementManager'; import { IMigration, IMigrationManager, IMigrationStorage, IVersionUtils, MigrationPlan, MigrationRecord, MigrationResult, SchemaMigrationConfig, DataMigrationConfig } from '../types/migration-interfaces'; /** * Реализация менеджера миграций */ export declare class MigrationManager extends EventEmitter implements IMigrationManager { private migrations; private storage; private versionUtils; private typedElementManager?; constructor(storage: IMigrationStorage, versionUtils: IVersionUtils); /** * Установка менеджера типизированных элементов */ setTypedElementManager(manager: TypedElementManager): void; /** * Регистрация миграции */ registerMigration(migration: IMigration): void; /** * Получение всех миграций */ getMigrations(): IMigration[]; /** * Получение миграции по ID */ getMigration(id: string): IMigration | undefined; /** * Получение истории миграций */ getHistory(): Promise; /** * Получение текущей версии */ getCurrentVersion(): Promise; /** * Создание плана миграции */ createPlan(targetVersion: string): Promise; /** * Применение миграций */ migrate(targetVersion?: string): Promise; /** * Откат миграций */ rollback(targetVersion?: string): Promise; /** * Проверка состояния миграций */ checkStatus(): Promise<{ currentVersion: string; pendingMigrations: string[]; lastMigration: MigrationRecord; }>; /** * Создание миграции схемы */ createSchemaMigration(config: SchemaMigrationConfig): IMigration; /** * Создание миграции данных */ createDataMigration(config: DataMigrationConfig & { id: string; version: string; description: string; }): IMigration; /** * Валидация целостности */ validateIntegrity(): Promise; /** * Сброс состояния миграций */ reset(): Promise; /** * Выполнение миграции */ private executeMigration; /** * Разрешение зависимостей миграций */ private resolveDependencies; } //# sourceMappingURL=MigrationManager.d.ts.map