/**
 * Seed Data Generator
 * Generates realistic test data for database seeding
 */
export interface TableSchema {
    name: string;
    fields: FieldSchema[];
}
export interface FieldSchema {
    name: string;
    type: string;
    primaryKey?: boolean;
    unique?: boolean;
    foreignKey?: string;
    default?: any;
    optional?: boolean;
}
export interface SeedDataOptions {
    recordsPerTable?: number;
    useTestData?: boolean;
}
export declare class SeedDataGenerator {
    private recordsPerTable;
    constructor(options?: SeedDataOptions);
    /**
     * Generate seed data for all tables, respecting foreign key dependencies
     */
    generateSeedData(tables: TableSchema[]): string;
    /**
     * Sort tables by foreign key dependencies (topological sort)
     */
    private topologicalSort;
    /**
     * Get list of tables that this table has foreign keys to
     */
    private getForeignKeyTables;
    /**
     * Generate seed code for a single table
     */
    private generateTableSeed;
    /**
     * Check if a field is auto-generated
     */
    private isAutoGenerated;
    /**
     * Generate a realistic value for a field
     */
    private generateFieldValue;
    /**
     * Generate realistic string values based on field name
     */
    private generateStringValue;
    /**
     * Generate realistic number values based on field name
     */
    private generateNumberValue;
    /**
     * Generate realistic decimal values based on field name
     */
    private generateDecimalValue;
    /**
     * Convert snake_case or kebab-case to PascalCase
     */
    private toPascalCase;
    /**
     * Convert snake_case or kebab-case to camelCase
     */
    private toCamelCase;
}
//# sourceMappingURL=seed-data-generator.d.ts.map