/** * Table Builder * * Fluent API for defining tables in migrations. */ import type { BaseColumnOptions, DecimalColumnOptions, IColumnBuilder, ITableBuilder, ITableForeignKeyBuilder, StringColumnOptions, TableDefinition, VectorColumnOptions } from './types.js'; /** * Builder for table definitions with a fluent API. */ export declare class TableBuilder implements ITableBuilder { private _name; private _columnBuilders; private _primaryKey?; private _indexes; private _foreignKeyBuilders; private _comment?; constructor(name: string); id(name?: string, options?: BaseColumnOptions): IColumnBuilder; integer(name: string, options?: BaseColumnOptions): IColumnBuilder; smallint(name: string, options?: BaseColumnOptions): IColumnBuilder; bigint(name: string, options?: BaseColumnOptions): IColumnBuilder; float(name: string, options?: BaseColumnOptions): IColumnBuilder; double(name: string, options?: BaseColumnOptions): IColumnBuilder; decimal(name: string, options?: DecimalColumnOptions): IColumnBuilder; string(name: string, options?: StringColumnOptions): IColumnBuilder; char(name: string, options?: StringColumnOptions): IColumnBuilder; text(name: string, options?: BaseColumnOptions): IColumnBuilder; boolean(name: string, options?: BaseColumnOptions): IColumnBuilder; date(name: string, options?: BaseColumnOptions): IColumnBuilder; time(name: string, options?: BaseColumnOptions): IColumnBuilder; timestamp(name: string, options?: BaseColumnOptions): IColumnBuilder; timestamptz(name: string, options?: BaseColumnOptions): IColumnBuilder; json(name: string, options?: BaseColumnOptions): IColumnBuilder; jsonb(name: string, options?: BaseColumnOptions): IColumnBuilder; uuid(name: string, options?: BaseColumnOptions): IColumnBuilder; blob(name: string, options?: BaseColumnOptions): IColumnBuilder; vector(name: string, options?: VectorColumnOptions): IColumnBuilder; createdAt(): IColumnBuilder; updatedAt(): IColumnBuilder; timestamps(): void; primaryKey(columns: string[]): this; unique(columns: string[], name?: string): this; index(columns: string[], name?: string): this; foreignKey(columns: string[]): ITableForeignKeyBuilder; comment(text: string): this; /** * Build the table definition. */ build(): TableDefinition; } //# sourceMappingURL=tableBuilder.d.ts.map