import { Filter as MikroORMFilter } from "@medusajs/deps/mikro-orm/core";
import { TSMigrationGenerator } from "@medusajs/deps/mikro-orm/migrations";
import { ModuleServiceInitializeOptions } from "@medusajs/types";
type FilterDef = Parameters<typeof MikroORMFilter>[0];
export declare class CustomTsMigrationGenerator extends TSMigrationGenerator {
    private dropUniqueConstraintBeforeUniqueIndex;
    generateMigrationFile(className: string, diff: {
        up: string[];
        down: string[];
    }): string;
    createStatement(sql: string, padLeft: number): string;
}
export type Filter = {
    name?: string;
} & Omit<FilterDef, "name">;
export declare function mikroOrmCreateConnection(database: ModuleServiceInitializeOptions["database"] & {
    connection?: any;
    snapshotName?: string;
    filters?: Record<string, Filter>;
}, entities: any[], pathToMigrations: string): Promise<import("@medusajs/deps/mikro-orm/core").MikroORM<import("@mikro-orm/postgresql").PostgreSqlDriver, import("@mikro-orm/knex").EntityManager<import("@mikro-orm/postgresql").PostgreSqlDriver> & import("@medusajs/deps/mikro-orm/core").EntityManager<import("@medusajs/deps/mikro-orm/core").IDatabaseDriver<import("@medusajs/deps/mikro-orm/core").Connection>>>>;
export {};
//# sourceMappingURL=mikro-orm-create-connection.d.ts.map