import { Column } from '../column'; import { Visitor } from '../visitor'; import { RecordBatch } from '../recordbatch'; import { VectorType as V } from '../interfaces'; import { DataType, Float, Int, Date_, Interval, Time, Timestamp, Union, Bool, Null, Utf8, Binary, Decimal, FixedSizeBinary, List, FixedSizeList, Map_, Struct } from '../type'; /** @ignore */ export interface JSONVectorAssembler extends Visitor { visit(node: T): object; visitMany(cols: T[]): object[]; getVisitFn(node: Column): (column: Column) => { name: string; count: number; VALIDITY: (0 | 1)[]; DATA?: any[]; OFFSET?: number[]; TYPE?: number[]; children?: any[]; }; visitNull(vector: V): {}; visitBool(vector: V): { DATA: boolean[]; }; visitInt(vector: V): { DATA: (number | string)[]; }; visitFloat(vector: V): { DATA: number[]; }; visitUtf8(vector: V): { DATA: string[]; OFFSET: number[]; }; visitBinary(vector: V): { DATA: string[]; OFFSET: number[]; }; visitFixedSizeBinary(vector: V): { DATA: string[]; }; visitDate(vector: V): { DATA: number[]; }; visitTimestamp(vector: V): { DATA: string[]; }; visitTime(vector: V): { DATA: number[]; }; visitDecimal(vector: V): { DATA: string[]; }; visitList(vector: V): { children: any[]; OFFSET: number[]; }; visitStruct(vector: V): { children: any[]; }; visitUnion(vector: V): { children: any[]; TYPE: number[]; }; visitInterval(vector: V): { DATA: number[]; }; visitFixedSizeList(vector: V): { children: any[]; }; visitMap(vector: V): { children: any[]; }; } /** @ignore */ export declare class JSONVectorAssembler extends Visitor { /** @nocollapse */ static assemble(...args: (T | T[])[]): object[]; }