import { Artifacts } from '../steps/BaseStep'; import { INameGiver } from './INameGiver'; import { Table } from './Table'; import { Condition, IStatementGiver, PrimitiveType, ValueLike } from '../models'; import { ComparisonOperator } from '../operators'; import { OrderByItemInfo } from '../orderBy'; import { BuilderData } from '../builder'; import { ItemInfo } from '../ItemInfo'; import { UpdateSetItemInfo } from '../UpdateSetItemInfo'; export type ColumnObj = { name: string; }; export declare abstract class Column implements INameGiver, IStatementGiver { protected readonly data: ColumnObj; private mTable?; protected constructor(data: ColumnObj); set table(table: Table); get table(): Table; get name(): string; get fqName(): string; getDoubleQuotedName(): string; as(alias: string): ItemInfo; /** @deprecated */ get asc(): OrderByItemInfo; get ASC(): OrderByItemInfo; /** @deprecated */ get desc(): OrderByItemInfo; get DESC(): OrderByItemInfo; /** @deprecated */ get nullsFirst(): OrderByItemInfo; get NULLS_FIRST(): OrderByItemInfo; /** @deprecated */ get nullsLast(): OrderByItemInfo; get NULLS_LAST(): OrderByItemInfo; /** @deprecated */ get ascNullsFirst(): OrderByItemInfo; get ASC_NULLS_FIRST(): OrderByItemInfo; /** @deprecated */ get descNullsFirst(): OrderByItemInfo; get DESC_NULLS_FIRST(): OrderByItemInfo; /** @deprecated */ get ascNullsLast(): OrderByItemInfo; get ASC_NULLS_LAST(): OrderByItemInfo; /** @deprecated */ get descNullsLast(): OrderByItemInfo; get DESC_NULLS_LAST(): OrderByItemInfo; /** @deprecated - since v0.15.0 use eqDEFAULT */ get letDefault(): UpdateSetItemInfo; get eqDEFAULT(): UpdateSetItemInfo; getStmt(data: BuilderData, artifacts: Artifacts): string; abstract in(...values: ValueLike[]): Condition; abstract in$(...values: PrimitiveType[]): Condition; abstract notIn(...values: ValueLike[]): Condition; abstract notIn$(...values: PrimitiveType[]): Condition; protected static throwIfArrayIsEmpty(arr: ValueLike[], operator: ComparisonOperator): void; }