import type { QuackRow, QuackValue } from "./vector"; /** JSON-safe representation of a Quack value. */ export type QuackJsonValue = null | boolean | number | string | QuackJsonValue[] | { [key: string]: QuackJsonValue; }; /** JSON-safe row object keyed by column name. */ export type QuackJsonRow = Record; /** Options controlling how Quack-specific values are converted to JSON. */ export interface QuackJsonOptions { /** How bigint values are converted. Defaults to `string`. */ bigint?: "string" | "number"; /** How binary values are converted. Defaults to `base64`. */ bytes?: "base64" | "hex" | "array"; /** How DECIMAL values are converted. Defaults to `string`. */ decimal?: "string" | "tagged"; /** How DATE values are converted. Defaults to `iso`. */ date?: "iso" | "tagged"; /** How TIME values are converted. Defaults to `string`. */ time?: "string" | "tagged"; /** How TIMESTAMP values are converted. Defaults to `iso`. */ timestamp?: "iso" | "tagged"; /** How INTERVAL values are converted. Defaults to `tagged`. */ interval?: "tagged"; } /** Convert any Quack value to a JSON-safe value. */ export declare function toJsonValue(value: QuackValue, options?: QuackJsonOptions): QuackJsonValue; /** Convert one materialized Quack row to a JSON-safe row. */ export declare function toJsonRow(row: QuackRow, options?: QuackJsonOptions): QuackJsonRow; /** Convert materialized Quack rows to JSON-safe row objects. */ export declare function toJsonRows(rows: readonly QuackRow[], options?: QuackJsonOptions): QuackJsonRow[];