import type { ColumnDefinition, ForeignKeyDefinition, IndexDefinition, TableDefinition } from '../schema/types';
type AlterTablePlan = {
    addColumns: ColumnDefinition[];
    dropColumns: string[];
    createIndexes: IndexDefinition[];
    dropIndexes: string[];
    addForeignKeys: ForeignKeyDefinition[];
    dropForeignKeys: string[];
};
export declare const MigrationSchemaCompiler: Readonly<{
    compileCreateTable(driver: string, def: TableDefinition, opts?: {
        ifNotExists?: boolean;
    }): string[];
    compileDropTable(driver: string, table: string, opts?: {
        ifExists?: boolean;
    }): string;
    compileAlterTable(driver: string, table: string, plan: AlterTablePlan): string[];
}>;
export {};
//# sourceMappingURL=SchemaCompiler.d.ts.map