import { type HasSql } from '../Internal.js'; import { type Sql } from '../Sql.js'; import type { Input } from './Input.js'; export interface JsonArrayHasSql extends HasSql> { [index: number]: JsonExpr; } export type JsonRecordHasSql = HasSql & { [K in keyof Row]: JsonExpr; }; type NullableEach = { [P in keyof T]: T[P] | null; }; export type JsonExpr = [NonNullable] extends [Array] ? JsonArrayHasSql : [NonNullable] extends [object] ? JsonRecordHasSql : Value> : HasSql; export interface JsonPath { target: Sql; segments: Array; asSql: boolean; } export declare function jsonExpr(e: HasSql): JsonExpr; export declare function jsonAggregateArray(...args: Array>): Sql; export declare function jsonArray(...args: Array>): Sql; export {};