import { RawSchema } from '../json-schema/model.js'; export declare const DEFAULT_ROOT_NAME = ""; export declare class DocIter { _rawDoc: any; _rootName: string; _rootProp: DocProp | null; constructor(rawDocOrRootProp: any | DocProp, rootName?: string); get rawDoc(): any; [Symbol.iterator](): Generator; } export declare class DocProp { _initialKey: string | number; _value: any; _parent?: DocProp; _children: DocProp[]; constructor(parent: DocProp | undefined, keyOrIndex: string | number, value: any, propIndex?: number); set key(val: string | number); get key(): string | number; get name(): string; get value(): any; set value(val: any); get parent(): DocProp; get rootValue(): any; getEndProp(): DocProp | undefined; removeChild(key: string | number): void; toJSON(): { name: string; value: any; children: number; }; static parsePathAndKey(name: string): { path: string; key: string; }; } declare class DocAsArrayObserver { newerDoc: any; constructor(rawDoc: any); set(target: any, key: any, value: any): boolean; deleteProperty(target: any, key: any): boolean; } export type DocAsArrayBuildOptions = { rawSchema?: RawSchema; cleanEmpty?: boolean; format?: string | null; useTitleInPath?: boolean; }; export declare class DocAsArray { _rawDoc: any; _rootName: any; _properties: DocProp[]; _snapshot: Map; renderCounter: { value: number; }; _observer: DocAsArrayObserver; constructor(rawDoc?: any, rootName?: string); get rawDoc(): any; get properties(): DocProp[]; snapshot(renew?: boolean): Map; forceRender(): void; findByName(name: string): { index: number; prop: DocProp | undefined; }; getEndIndex(prop: DocProp): number; build(options?: DocAsArrayBuildOptions): any; private _addSubProps; appendAt(name: string, value: any, key?: string, needRender?: boolean): void; insertAt(name: string, value: any, key?: string, needRender?: boolean): void; remove(name: string, needRender?: boolean): boolean; moveUp(name: string, needRender?: boolean): boolean; moveDown(name: string, needRender?: boolean): boolean; get(nameOrProp: string | DocProp): any; get2(name: string): any; has(name: string): boolean; set(name: string, value: any, needRender?: boolean): void; rename(oldFullname: string, newKey: string, needRender?: boolean): void; cleanEmpty(needRender?: boolean): number; names(): string[]; } export {};