import * as arrow from 'apache-arrow'; import { Column } from '../column'; import { Bool8, Categorical, DataType, Float32, Float64, Int16, Int32, Int64, Int8, List, Numeric, Struct, TimestampDay, TimestampMicrosecond, TimestampMillisecond, TimestampNanosecond, TimestampSecond, Uint16, Uint32, Uint64, Uint8, Utf8String } from './dtypes'; export declare enum Interpolation { linear = 0, lower = 1, higher = 2, midpoint = 3, nearest = 4 } export declare type TypeMap = { [key: string]: DataType; }; export declare type ColumnsMap = { [P in keyof T]: Column; }; declare type CommonType_Bool8 = T; declare type CommonType_Int8 = T extends Bool8 ? Int8 : T; declare type CommonType_Int16 = T extends Bool8 | Int8 | Uint8 ? Int16 : T; declare type CommonType_Int32 = T extends Bool8 | Int8 | Uint8 | Int16 | Uint16 ? Int32 : T; declare type CommonType_Int64 = T extends Bool8 | Int8 | Uint8 | Int16 | Uint16 | Int32 | Uint32 ? Int64 : T; declare type CommonType_Uint8 = T extends Bool8 | Int8 ? Uint16 : T; declare type CommonType_Uint16 = T extends Bool8 | Int8 | Uint8 ? Uint16 : T; declare type CommonType_Uint32 = T extends Bool8 | Int8 | Uint8 | Int16 | Uint16 ? Uint32 : T; declare type CommonType_Uint64 = T extends Bool8 | Int8 | Uint8 | Int16 | Uint16 | Int32 | Uint32 | Int64 ? Uint64 : T; declare type CommonType_Float32 = T extends Bool8 | Int8 | Uint8 | Int16 | Uint16 ? Float32 : Float64; declare type CommonType_Float64 = T extends Bool8 | Int8 | Uint8 | Int16 | Uint16 | Int32 | Uint32 | Float32 ? Float64 : T; export declare type CommonType = T extends R ? R extends T ? T : R : R extends Numeric ? T extends Bool8 ? CommonType_Bool8 : T extends Int8 ? CommonType_Int8 : T extends Int16 ? CommonType_Int16 : T extends Int32 ? CommonType_Int32 : T extends Int64 ? CommonType_Int64 : T extends Uint8 ? CommonType_Uint8 : T extends Uint16 ? CommonType_Uint16 : T extends Uint32 ? CommonType_Uint32 : T extends Uint64 ? CommonType_Uint64 : T extends Float32 ? CommonType_Float32 : T extends Float64 ? CommonType_Float64 : never : T extends List ? R extends List ? List> : never : T extends Struct ? R extends Struct ? Struct> : never : T extends Categorical ? R extends Categorical ? Categorical> : never : never; export declare type CommonTypes = { [P in keyof T]: P extends keyof R ? CommonType : T[P]; } & { [P in keyof R]: P extends keyof T ? CommonType : R[P]; }; export declare function findCommonType(lhs: T, rhs: R): CommonType; /** @ignore */ export declare type ArrowToCUDFType = T extends arrow.Int8 ? Int8 : T extends arrow.Int16 ? Int16 : T extends arrow.Int32 ? Int32 : T extends arrow.Int64 ? Int64 : T extends arrow.Uint8 ? Uint8 : T extends arrow.Uint16 ? Uint16 : T extends arrow.Uint32 ? Uint32 : T extends arrow.Uint64 ? Uint64 : T extends arrow.Float32 ? Float32 : T extends arrow.Float64 ? Float64 : T extends arrow.Utf8 ? Utf8String : T extends arrow.Bool ? Bool8 : T extends arrow.DateDay ? TimestampDay : T extends arrow.DateMillisecond ? TimestampMillisecond : T extends arrow.TimestampSecond ? TimestampSecond : T extends arrow.TimestampMillisecond ? TimestampMillisecond : T extends arrow.TimestampMicrosecond ? TimestampMicrosecond : T extends arrow.TimestampNanosecond ? TimestampNanosecond : T extends arrow.List ? T extends List ? T : List> : T extends arrow.Struct ? T extends Struct ? T : Struct<{ [P in keyof T['dataTypes']]: ArrowToCUDFType; }> : T extends arrow.Dictionary ? T extends Categorical ? T : Categorical> : never; export declare const arrowToCUDFType: >(type: T) => ArrowToCUDFType; export {}; //# sourceMappingURL=mappings.d.ts.map