import * as type from '../type.js'; import { Visitor } from '../visitor.js'; /** @ignore */ export interface JSONTypeAssembler extends Visitor { visit(node: T): Record | undefined; } /** @ignore */ export declare class JSONTypeAssembler extends Visitor { visitNull({ typeId }: T): { name: string; }; visitInt({ typeId, bitWidth, isSigned }: T): { name: string; bitWidth: type.IntBitWidth; isSigned: boolean; }; visitFloat({ typeId, precision }: T): { name: string; precision: string; }; visitBinary({ typeId }: T): { name: string; }; visitLargeBinary({ typeId }: T): { name: string; }; visitBool({ typeId }: T): { name: string; }; visitUtf8({ typeId }: T): { name: string; }; visitLargeUtf8({ typeId }: T): { name: string; }; visitDecimal({ typeId, scale, precision, bitWidth }: T): { name: string; scale: number; precision: number; bitWidth: number; }; visitDate({ typeId, unit }: T): { name: string; unit: string; }; visitTime({ typeId, unit, bitWidth }: T): { name: string; unit: string; bitWidth: type.TimeBitWidth; }; visitTimestamp({ typeId, timezone, unit }: T): { name: string; unit: string; timezone: string | null | undefined; }; visitInterval({ typeId, unit }: T): { name: string; unit: string; }; visitDuration({ typeId, unit }: T): { name: string; unit: string; }; visitList({ typeId }: T): { name: string; }; visitStruct({ typeId }: T): { name: string; }; visitUnion({ typeId, mode, typeIds }: T): { name: string; mode: string; typeIds: number[]; }; visitDictionary(node: T): Record | undefined; visitFixedSizeBinary({ typeId, byteWidth }: T): { name: string; byteWidth: number; }; visitFixedSizeList({ typeId, listSize }: T): { name: string; listSize: number; }; visitMap({ typeId, keysSorted }: T): { name: string; keysSorted: boolean; }; }