import { ForeignKey, Index, Table, UniqueKey } from "../../dist/types/Schema.js"; import Column from "./Column.js"; export declare class Schema implements Table { name: string; columns: Column[]; primaryKey?: string | string[] | undefined; foreignKeys?: ForeignKey[] | undefined; uniqueKeys?: UniqueKey[] | undefined; indexes?: Index[] | undefined; engine?: string | undefined; charset?: string | undefined; collate?: string | undefined; autoIncrement?: number | undefined; comment?: string | undefined; filename: string; constructor(tableName: string); setEngine(engine: string): this; setCharset(charset: string): this; setCollate(collate: string): this; setAutoIncrement(autoIncrement: number): this; setComment(comment: string): this; setPrimaryKey(column: string | string[]): this; addForeignKey(foreignKey: ForeignKey): this; addUniqueKey(uniqueKey: UniqueKey): this; addIndex(name: string, columns: string[]): this; addColumn(column: Column): void; private __createNewColumn; string(name: string, length?: number): Column; uuid(name?: string): Column; integer(name: string, autoIncrement?: boolean, unsigned?: boolean): Column; tinyInteger(name: string, unsigned?: boolean): Column; smallInteger(name: string, unsigned?: boolean): Column; mediumInteger(name: string, unsigned?: boolean): Column; bigInteger(name: string, autoIncrement?: boolean, unsigned?: boolean): Column; float(name: string, precision?: number, scale?: number): Column; double(name: string, precision?: number, scale?: number): Column; decimal(name: string, precision: number): Column; boolean(name: string): Column; char(name: string, length?: number): Column; text(name: string): Column; mediumText(name: string): Column; longText(name: string): Column; date(name: string): Column; dateTime(name: string): Column; timestamp(name: string): Column; timestamps(): void; time(name: string): Column; year(name: string): Column; binary(name: string, length?: number): Column; varBinary(name: string, length?: number): Column; blob(name: string): Column; mediumBlob(name: string): Column; longBlob(name: string): Column; json(name: string): Column; geometry(name: string): Column; point(name: string): Column; lineString(name: string): Column; polygon(name: string): Column; multiPoint(name: string): Column; multiLineString(name: string): Column; multiPolygon(name: string): Column; geometryCollection(name: string): Column; __toSql(): string; }