/// import * as driver from 'cassandra-driver'; import { TypeDefinition } from './Type'; import { Raw } from './Raw'; import { TransformType, TransformPossibleType } from './TransformType'; export { TransformType, TransformPossibleType, } from './TransformType'; export interface Tuple { elements: T; length: number; get(index: number): any; toString(): string; toJSON(): string; values(): T; } export declare type ColumnDefinition = { [name: string]: TypeDefinition; }; export interface NativeTypeMap { ascii: string; bigint: typeof driver.types.Long; blob: Buffer; boolean: boolean; counter: typeof driver.types.Long; date: driver.types.LocalDate; decimal: driver.types.BigDecimal; double: number; float: number; inet: driver.types.InetAddress; int: number; smallint: number; text: string; time: driver.types.LocalTime; timestamp: Date; timeuuid: driver.types.TimeUuid; tinyint: number; uuid: driver.types.Uuid; varchar: string; varint: driver.types.Integer; } export interface PossibleNativeTypeMap { ascii: string; bigint: number | string | typeof driver.types.Long; blob: Buffer | string; boolean: boolean | string; counter: string | typeof driver.types.Long | number; date: string | driver.types.LocalDate; decimal: string | driver.types.BigDecimal; double: string | number; float: string | number; inet: string | driver.types.InetAddress; int: string | number; smallint: string | number; text: string; time: string | driver.types.LocalTime; timestamp: string | Date; timeuuid: string | driver.types.TimeUuid; tinyint: string | number; uuid: string | driver.types.Uuid; varchar: string | string; varint: string | driver.types.Integer; } export declare type FormatSet = Set; export declare type FormatList = T[]; export declare type FormatMap = Map; export declare type FormatTuple = Tuple; export declare type FormatPossibleSet = Set | T[]; export declare type FormatPossibleList = T[]; export declare type FormatPossibleMap = Map | [K, V][]; export declare type FormatPossibleTuple = Tuple | T; export declare type TransformColumnDefinition = { [K in StringKey]: TransformType; }; export declare type TransformPossibleColumnDefinition = { [K in StringKey]: TransformPossibleType; }; export declare type StringKey = Exclude; export interface SelectionAlias, A extends string = A> { select: K; alias: A; } export declare type Selection = StringKey, A extends string = StringKey> = SelectionAlias | K; export declare function getColumnType(def: TypeDefinition): Raw;