import { Column, ColumnDefinition } from './column'; export declare type TableRow = T extends TableDefinition ? { [K in keyof Columns]: Columns[K] extends ColumnDefinition ? IsNotNull extends true ? DataType : DataType | undefined : never; } : never; export declare class TableDefinition { private _tableDefinitionBrand; } export declare const makeTable: ; }>(tableName: TableName, originalTableName: string | undefined, tableDefinition: TableDefinition_1) => { [K in keyof TableDefinition_1]: K extends string ? Column ? DataType : never, TableDefinition_1[K] extends ColumnDefinition ? IsNotNull : never, TableDefinition_1[K] extends ColumnDefinition ? HasDefault : never, undefined> : never; } & { as(alias: T): any; getName(): TableName; getOriginalName(): string | undefined; _tableBrand: any; }; export declare const defineTable: ; }>(tableDefinition: Columns) => TableDefinition;