import type { JsonValue } from "../../core/types.js"; import type { HsonCanonical } from "../transform/transform.types.js"; /** * One immutable exact canonical Hson data value. * * HsonData is data-only: it never represents Hson document structure. Object * member order and signed zero are part of its semantic identity. */ export declare class HsonData { private readonly hsonDataNominal; private constructor(); /** Strictly admit ordinary JavaScript data, or retain an existing exact value. */ static from(input: unknown): HsonData; /** Parse canonical authored Hson and require its complete semantic value to be data. */ static fromHson(input: HsonCanonical): HsonData; /** Exact semantic kind. */ get kind(): "string" | "number" | "boolean" | "null" | "array" | "object"; /** Read a scalar value, or undefined for a container. */ scalar(): string | number | boolean | null | undefined; /** Read exact array items, or undefined when this value is not an array. */ items(): readonly HsonData[] | undefined; /** Read exact ordered object entries, or undefined when this value is not an object. */ entries(): readonly (readonly [string, HsonData])[] | undefined; /** Materialize a fresh ordinary-JavaScript convenience view. */ materialize(): JsonValue; /** Serialize this exact data value through the canonical Hson serializer. */ toHson(): HsonCanonical; /** Exact canonical data equality. */ equals(other: HsonData): boolean; } //# sourceMappingURL=hson-data.d.ts.map