import { MySQLSchemaField } from "./MySQLSchemaField";
import { HotDBGenerationType } from "../HotDBSchema";
import { HotDBMySQL } from "../HotDBMySQL";
/**
 * The database table.
 */
export declare class MySQLSchemaTable {
    /**
     * The name of the table.
     */
    name: string;
    /**
     * The table's description.
     */
    description: string;
    /**
     * The fields in the table.
     */
    fields: MySQLSchemaField[];
    /**
     * The table's engine to use.
     */
    engine: string;
    /**
     * The table's charset to use.
     */
    charset: string;
    constructor(name?: string, fields?: MySQLSchemaField[]);
    /**
     * Add a field.
     */
    addField(field: MySQLSchemaField): void;
    /**
     * Add a field.
     */
    addFields(fields: MySQLSchemaField[]): void;
    /**
     * Generate the db command. If type is set to modify, you must pass a db with an
     * active connection. Since field parsing isn't completely implemented yet, not all
     * fields will be modified correctly. Use modifiying with caution. This will
     * skip checking for:
     * * Binary columnexistingFields
     * * unique
     * * zero-filled
     * * generated column
     */
    generate(type?: HotDBGenerationType, db?: HotDBMySQL): Promise<string[]>;
}
//# sourceMappingURL=MySQLSchemaTable.d.ts.map