import { IColumn, IAnonymousTypedColumn } from "./column"; import { ColumnMap, ColumnMapUtil } from "./column-map"; import { IExprSelectItem, IAnonymousTypedExprSelectItem } from "./expr-select-item"; import { ColumnRef, ColumnRefUtil } from "./column-ref"; export declare type SingleValueSelectItem = (IColumn | IExprSelectItem); export declare type AnonymousTypedSingleValueSelectItem = (IAnonymousTypedColumn | IAnonymousTypedExprSelectItem); export declare type SelectItem = (SingleValueSelectItem | ColumnMap | ColumnRef); export declare namespace SelectItemUtil { type ToColumnNameUnion = (SelectItemT extends IColumn ? SelectItemT["name"] : SelectItemT extends IExprSelectItem ? SelectItemT["alias"] : SelectItemT extends ColumnMap ? ColumnMapUtil.ColumnNames : SelectItemT extends ColumnRef ? ColumnRefUtil.ColumnNames : never); function getColumnNames(item: SelectItem): string[]; function isSingleValueSelectItem(raw: any): raw is SingleValueSelectItem; function isSelectItem(raw: any): raw is SelectItem; type TypeOf = (ItemT extends IExprSelectItem ? ReturnType : ItemT extends IColumn ? ReturnType : never); }