import { MySQLSchemaTable } from "./MySQLSchemaTable";
import { MySQLSchemaField } from "./MySQLSchemaField";
import { HotDBSchema, HotDBGenerationType } from "../HotDBSchema";
import { HotDBMySQL } from "../HotDBMySQL";
/**
 * The MySQL schema.
 */
export declare class MySQLSchema extends HotDBSchema {
    /**
     * The tables in this schema.
     */
    tables: {
        [name: string]: MySQLSchemaTable;
    };
    constructor(name: string);
    /**
     * Add a table to this schema.
     */
    addTable(table: MySQLSchemaTable): void;
    /**
     * Add a field to a table.
     */
    addFieldToTable(tableName: string, field: MySQLSchemaField): void;
    /**
     * Add a field to a table.
     */
    addFieldsToTable(tableName: string, fields: MySQLSchemaField[]): void;
    /**
     * Generate a table's structure. If type is set to modify, you must pass a db with an
     * active connection.
     */
    generateTableStructure(tableName: string, type?: HotDBGenerationType, db?: HotDBMySQL): Promise<string[]>;
    /**
     * Generate the entire db structure. If type is set to modify, you must pass a db with an
     * active connection.
     */
    generateStructure(type?: HotDBGenerationType, db?: HotDBMySQL): Promise<string[][]>;
}
//# sourceMappingURL=MySQLSchema.d.ts.map