import { IDatabaseAdapter } from './IDatabaseAdapter'; /** * Database migration interface */ export interface IMigration { /** Unique migration identifier */ id: string; /** Human-readable migration name */ name: string; /** * Apply migration (upgrade schema) * @param adapter - Database adapter to use */ up(adapter: IDatabaseAdapter): Promise; /** * Revert migration (downgrade schema) * @param adapter - Database adapter to use */ down(adapter: IDatabaseAdapter): Promise; } /** * Migration status information */ export interface IMigrationStatus { /** Migration ID */ id: string; /** Migration name */ name: string; /** When migration was applied (null if not applied) */ appliedAt: Date | null; /** Migration status */ status: 'pending' | 'applied' | 'failed'; } /** * Migration manager interface */ export interface IMigrationManager { /** * Run all pending migrations * @throws Error if any migration fails */ up(): Promise; /** * Rollback last applied migration * @throws Error if no migrations to rollback or rollback fails */ down(): Promise; /** * Get status of all migrations * @returns Array of migration statuses */ status(): Promise; } //# sourceMappingURL=IMigration.d.ts.map