import { PermissionConfig } from '../interfaces/config.interface';
export interface MigrationOptions {
    directory?: string;
    name?: string;
}
export interface EntityFields {
    tableName: string;
    fields: Record<string, string>;
}
export declare class MigrationGeneratorService {
    generateMigration(name: string, directory?: string): Promise<void>;
    private loadConfig;
    private generateClassName;
    private generateMigrationContent;
    generateCreateTables(config: PermissionConfig): string;
    generateAlterTables(oldConfig: PermissionConfig, newConfig: PermissionConfig): string[];
    private generateTableCreation;
    private compareAndGenerateAlterations;
    generateIndexes(config: PermissionConfig): string[];
    private generateDownMigration;
}
