import { Knex } from 'knex';
import { Chain } from '../../../../sdk';
interface Migration {
    up: (knex: Knex) => PromiseLike<any>;
    down?: (knex: Knex) => PromiseLike<any>;
}
interface MigrationSource<TMigrationSpec> {
    getMigrations(loadExtensions: readonly string[]): Promise<TMigrationSpec[]>;
    getMigrationName(migration: TMigrationSpec): string;
    getMigration(migration: TMigrationSpec): Promise<Migration>;
}
export declare class ChaintracksKnexMigrations implements MigrationSource<string> {
    chain: Chain;
    migrations: Record<string, Migration>;
    constructor(chain: Chain);
    getMigrations(): Promise<string[]>;
    getMigrationName(migration: string): string;
    getMigration(migration: string): Promise<Migration>;
    getLatestMigration(): Promise<string>;
    static latestMigration(): Promise<string>;
    setupMigrations(): Record<string, Migration>;
}
export {};
//# sourceMappingURL=ChaintracksKnexMigrations.d.ts.map