export type EnumGroup = { id: any; label: string; assocEnum: { property: string; value: any; }; }; export type EnumOption = { label: string; value: any; group?: any; }; export declare enum PropAutofillTarget { 'value' = "value", 'items' = "items" } export declare enum PropAutofillRunPolicy { 'onCreate' = "onCreate", 'onParamChange' = "onParamChange", 'onUser' = "onUser" } export type PropAutofill = { url: string; method: string; params?: { path?: string; value?: any; name: string; }[]; body?: { path?: string; value?: any; bodyPath: string; }[]; target: PropAutofillTarget; runPolicy: PropAutofillRunPolicy; valuePath?: string; itemPath?: { path: string; label: string; value: string; }; }; export type ExistIfRule = { [k: string]: { const?: string; valid?: boolean; }; }; export type ExistIfRuleSet = { properties?: ExistIfRule; allOf?: ExistIfRuleSet[]; oneOf?: ExistIfRuleSet[]; }; export type SchemaPropAttrs = { type: string; title?: string; description?: string; format?: string; required?: boolean; enum?: EnumOption[]; anyOf?: EnumOption[]; oneOf?: EnumOption[]; enumGroups?: EnumGroup[]; minItems?: number; maxItems?: number; default?: any; const?: any; autofill?: PropAutofill; lookup?: any; value?: any; [k: string]: any; initialName?: string; }; export declare class SchemaProp { _parent: SchemaProp | undefined; _path: string; _name: string; attrs: SchemaPropAttrs; existIf: ExistIfRuleSet | undefined; lookup?: any; items?: { type: string; [k: string]: any; }; attachment?: any; isPattern: boolean; children: SchemaProp[] | undefined; patternChildren: SchemaProp[] | undefined; isOneOf: boolean; isOneOfDefault: boolean; isOneOfInclusiveGroup: string; isOneOfExclusiveGroup: string; isOneOfChildren: Map>; constructor(path: string, name: string, type?: string); get title(): string; get fullTitle(): string; get parent(): SchemaProp; set parent(val: SchemaProp); get path(): string; set path(val: string); get name(): string; set name(val: string); get fullname(): string; get fullRegExp(): RegExp; get fullRegExpNoChild(): RegExp; get parentFullname(): string; get isArrayItem(): boolean; get isSingleValue(): boolean; get isFullSingleValue(): boolean; get isLeaf(): boolean; toJSON(): this; readableValue(val: any, doc?: any): any; } export type SchemaItem = { type: string; properties?: { [k: string]: RawSchema; }; format?: string; formatAttrs?: { [k: string]: any; }; $ref?: any; enum?: any; }; export type RawSchema = { name?: string; type: string; title?: string; description?: string; properties?: { [k: string]: RawSchema; }; required?: boolean | string[]; format?: string; attrs?: any; items?: SchemaItem; enumGroups?: unknown[]; enum?: any; anyOf?: any; oneOf?: any; default?: any; const?: any; autofill?: PropAutofill; lookup?: any; attachment?: any; component?: any; visible?: any; $id?: string; assocs?: string[]; minLength?: number; maxLength?: number; pattern?: string; $defs?: { [k: string]: RawSchema; }; initialName?: string; }; export declare const DEFAULT_ROOT_NAME = ""; export declare class SchemaIter { private _rawSchema; private _rootName; constructor(rawSchema: any, rootName?: string); get rootName(): any; [Symbol.iterator](): IterableIterator; }