import type { SerializationContext } from "./serialization-context.ts"; /** * JSON-compatible wire format value. Distinct from the existing `JSONValue` in * `@commontools/api` -- this type represents the wire format for the new * `/@` encoding. See Section 4.2 of the formal spec. */ export type JsonWireValue = | null | boolean | number | string | JsonWireValue[] | { [key: string]: JsonWireValue }; /** * The wire format for the JSON serialization context. Alias for `JsonWireValue`, * used throughout the serialization system to make the wire format explicit. */ export type SerializedForm = JsonWireValue; /** * JSON-specific serialization context. Implements the `/@` wire * format, parameterized as `SerializationContext`. * See Section 4.3 of the formal spec. */ export type JsonSerializationContext = SerializationContext;