import { DatabaseClient } from '../database/database-client.interface'; import { MigrationJournalEntry, MigrationConfig } from './migration.interface'; /** * Manages the migration journal table that tracks which migrations have been applied. * * The journal table stores a record for each successfully applied migration, * allowing the system to know which migrations to skip on subsequent runs. */ export declare class MigrationJournal { private client; private tableName; private schemaName; private qualifiedName; constructor(client: DatabaseClient, config?: Pick); /** * Check if the journal table exists in the database without creating it. * Used to detect whether the schema has been previously set up. */ tableExists(): Promise; /** * Ensure the journal table exists in the database. * Creates it if it doesn't exist. */ ensureTable(): Promise; /** * Get all applied migrations ordered by filename (chronologically). */ getApplied(): Promise; /** * Check if a specific migration has been applied. * @param filename - The migration filename to check */ isApplied(filename: string): Promise; /** * Record a migration as successfully applied. * @param filename - The migration filename */ recordApplied(filename: string): Promise; /** * Remove a migration record (used when rolling back). * @param filename - The migration filename to remove */ recordReverted(filename: string): Promise; /** * Get the qualified table name (schema.table). */ getQualifiedName(): string; /** * Get the table name without schema. */ getTableName(): string; /** * Get the schema name. */ getSchemaName(): string; } //# sourceMappingURL=migration-journal.d.ts.map