import { MedusaContainer } from "@jackchim/types"; import { Knex } from "../deps/mikro-orm-knex"; export declare abstract class Migrator { #private; protected abstract migration_table_name: string; protected container: MedusaContainer; protected pgConnection: Knex; constructor({ container }: { container: MedusaContainer; }); /** * Util to track duration using hrtime */ protected trackDuration(): { getSeconds(): string; }; ensureDatabase(): Promise; ensureMigrationsTable(): Promise; getExecutedMigrations(): Promise<{ script_name: string; }[]>; insertMigration(records: Record[]): Promise; /** * Load migration files from the given paths * * @param paths - The paths to load migration files from * @param options - The options for loading migration files * @param options.force - Whether to force loading migration files even if they have already been loaded * @returns The loaded migration file paths */ loadMigrationFiles(paths: string[], { force }?: { force?: boolean; }): Promise; protected abstract createMigrationTable(): Promise; abstract run(...args: any[]): Promise; abstract getPendingMigrations(migrationPaths: string[]): Promise; } //# sourceMappingURL=migrator.d.ts.map