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