import { ExpressionOrColumn, ValueTypeToParse } from "./utils"; import { MapperTable } from "../mapper-table"; import { Column } from "./column"; import { FieldType } from "./enums/field-type"; import { ColumnsCompiled } from "./columns-compiled"; import { PrimaryKeyType } from "./enums/primary-key-type"; export declare abstract class ColumnsBaseBuilder, T, TColumn extends Column> { protected readonly mapperTable: MapperTable; protected readonly toSave: T | Array; protected _columns: TColumn[]; private _databaseHelper; constructor(mapperTable: MapperTable, toSave: T | Array); get columns(): TColumn[]; allColumns(): void; setColumn(column: string, type: FieldType, primaryKeyType: PrimaryKeyType): TThis; set(columnExpression: ExpressionOrColumn, primaryKeyType: PrimaryKeyType, type?: new () => TReturn): TThis; compile(): ColumnsCompiled; protected isCompositeKey(): boolean; protected abstract columnFormat(column: TColumn): string; protected abstract getInstance(): TThis; protected abstract setColumnValue(column: string, value: ValueTypeToParse[], fieldType: FieldType, primaryKeyType: PrimaryKeyType): TThis; private setAllColumns; private getFieldType; }