/** * DuckDB wrapper value helpers that are safe for client-side bundles. * These utilities only tag values; conversion to native bindings lives * in value-wrappers.ts to avoid pulling @duckdb/node-api into browsers. */ export declare const DUCKDB_VALUE_MARKER: unique symbol; export type DuckDBValueKind = 'list' | 'array' | 'struct' | 'map' | 'timestamp' | 'blob' | 'json'; export interface DuckDBValueWrapper { readonly [DUCKDB_VALUE_MARKER]: true; readonly kind: TKind; readonly data: TData; } export interface ListValueWrapper extends DuckDBValueWrapper<'list', unknown[]> { readonly elementType?: string; } export interface ArrayValueWrapper extends DuckDBValueWrapper<'array', unknown[]> { readonly elementType?: string; readonly fixedLength?: number; } export interface StructValueWrapper extends DuckDBValueWrapper<'struct', Record> { readonly schema?: Record; } export interface MapValueWrapper extends DuckDBValueWrapper<'map', Record> { readonly valueType?: string; } export interface TimestampValueWrapper extends DuckDBValueWrapper<'timestamp', Date | string | number | bigint> { readonly withTimezone: boolean; readonly precision?: number; } export interface BlobValueWrapper extends DuckDBValueWrapper<'blob', Buffer | Uint8Array> { } export interface JsonValueWrapper extends DuckDBValueWrapper<'json', unknown> { } export type AnyDuckDBValueWrapper = ListValueWrapper | ArrayValueWrapper | StructValueWrapper | MapValueWrapper | TimestampValueWrapper | BlobValueWrapper | JsonValueWrapper; export declare function isDuckDBWrapper(value: unknown): value is AnyDuckDBValueWrapper; export declare function wrapList(data: unknown[], elementType?: string): ListValueWrapper; export declare function wrapArray(data: unknown[], elementType?: string, fixedLength?: number): ArrayValueWrapper; export declare function wrapStruct(data: Record, schema?: Record): StructValueWrapper; export declare function wrapMap(data: Record, valueType?: string): MapValueWrapper; export declare function wrapTimestamp(data: Date | string | number | bigint, withTimezone: boolean, precision?: number): TimestampValueWrapper; export declare function wrapBlob(data: Buffer | Uint8Array): BlobValueWrapper; export declare function wrapJson(data: unknown): JsonValueWrapper;