export type JsonValue = null | boolean | number | string | JsonValue[] | JsonObject; export interface JsonObject { [key: string]: JsonValue; } export declare function object(value: unknown, path: string): JsonObject; export declare function keys(value: JsonObject, allowed: readonly string[], path: string): void; export declare function text(value: JsonValue | undefined, path: string): string; export declare function list(value: JsonValue | undefined, path: string): JsonValue[]; export interface RecipeLimits { maxBytes: number; maxDepth: number; maxNodes: number; maxInstances: number; maxTypes: number; } export declare class JsonBudget { private readonly limits; private nodes; private bytes; constructor(limits: RecipeLimits); addBytes(bytes: number, path: string): void; visit(value: JsonValue, path: string, depth?: number): void; visitNode(path: string, depth: number): void; } //# sourceMappingURL=json-value.d.ts.map