import type { JsonValue } from './types.js'; export declare class IJsonValidationError extends TypeError { constructor(message: string); } /** A parse stopped at one of this implementation's own resource ceilings, which is not a * statement about the document. The draft states no maximum nesting depth or wire size, * so a ceiling hit is this implementation declining to finish judging the artifact, and * its callers report it as indeterminate under * RESOURCE_LIMIT rather than invalid. A subclass, so every existing catch of * IJsonValidationError keeps working. A caller misconfiguring the limits is NOT this: * that is an ordinary argument error and stays IJsonValidationError. */ export declare class IJsonResourceLimitError extends IJsonValidationError { constructor(message: string); } /** Validate the in-memory new-write input before RFC 8785 processing. * No coercion is performed. In particular, undefined is not converted to null * and Date is not converted to a string. */ export declare function assertIJson(value: unknown, path?: string, ancestors?: WeakSet): asserts value is JsonValue; export declare function strictJCS(value: unknown): string; /** Parse bounded raw JSON without losing duplicate object names. * Duplicate comparison is performed after JSON string decoding, so aliases * such as "a" and "\u0061" are the same member name and are rejected. */ export declare function parseStrictIJson(raw: string, maxUtf8Bytes?: number, maxDepth?: number): JsonValue; export declare function assertExactKeys(value: Record, allowed: readonly string[], required: readonly string[], name: string): void; //# sourceMappingURL=jcs.d.ts.map