import { type JsonArrayValue, type JsonObjectValue, type JsonValue } from "./init-model.js"; export declare class JsonArrayNode { private readonly value; private readonly label; private readonly pointer; constructor(value: JsonArrayValue, label: string, pointer?: readonly string[]); static fromUnknown(value: unknown, label: string, pointer?: readonly string[]): JsonArrayNode; objectItems(): JsonObjectNode[]; objectEntries(): { index: number; node: JsonObjectNode; }[]; push(value: JsonValue): void; set(index: number, value: JsonValue): void; remove(index: number): void; } export declare class JsonObjectNode { private readonly value; private readonly label; private readonly pointer; constructor(value: JsonObjectValue, label: string, pointer?: readonly string[]); static fromUnknown(value: unknown, label: string, pointer?: readonly string[]): JsonObjectNode; has(key: string): boolean; set(key: string, value: JsonValue): void; ensureObject(key: string): JsonObjectNode; ensureArray(key: string): JsonArrayNode; requireArray(key: string): JsonArrayNode; stringValue(key: string): string | undefined; toJsonValue(): JsonObjectValue; } export declare class JsonObjectDocument { readonly label: string; readonly filePath: string; private readonly rootNode; constructor(label: string, filePath: string, rootNode: JsonObjectNode); static create(filePath: string, label: string, root: JsonObjectValue): JsonObjectDocument; static open(filePath: string, label: string): JsonObjectDocument; root(): JsonObjectNode; write(): void; } //# sourceMappingURL=json-document.d.ts.map