import { SelectItem, SelectItemUtil } from "./select-item"; import { ColumnRef, ColumnRefUtil } from "./column-ref"; export declare namespace SelectItemArrayUtil { type ToColumnNameUnion = ({ [index in Extract | number]: (SelectsT[index] extends SelectItem ? Extract, string> : never); }[Extract | number]); type ToColumnNameUnionIgnoreIndex> = ({ [index in Exclude, IgnoreIndexT>]: (SelectsT[index] extends SelectItem ? SelectItemUtil.ToColumnNameUnion : never); }[Exclude, IgnoreIndexT>]); type DuplicateColumnName = ({ [index in Extract]: (SelectsT[index] extends SelectItem ? (Extract, ToColumnNameUnionIgnoreIndex> | (SelectsT[index] extends ColumnRef ? ColumnRefUtil.DuplicateColumnName : never)) : never); }[Extract]); type HasDuplicateColumnName = (DuplicateColumnName extends never ? false : true); function isSelectItemArray(raw: any): raw is SelectItem[]; function hasDuplicateColumnName(arr: SelectItem[]): boolean; function assertNoDuplicateColumnName(arr: SelectItem[]): void; }