import { Action, BaseJson, BaseModel, callbackFn, ContainerModel, DependentType, FormCreationMode, FormModel, Primitives, ValidationError, EventSource } from './types/index'; import { PropertiesManager } from './PropertiesManager.js'; import DataGroup from './data/DataGroup'; import DataValue from './data/DataValue'; export declare const editableProperties: string[]; export declare const dynamicProps: string[]; export declare const staticFields: string[]; export declare const target: unique symbol; export declare const qualifiedName: unique symbol; export declare function dependencyTracked(): (target: BaseNode, propertyKey: string, descriptor: PropertyDescriptor) => void; export declare const include: (...fieldTypes: string[]) => (target: BaseNode, propertyKey: string, descriptor: PropertyDescriptor) => void; export declare const exclude: (...fieldTypes: string[]) => (target: BaseNode, propertyKey: string, descriptor: PropertyDescriptor) => void; export declare abstract class BaseNode implements BaseModel { private _options; private _ruleNode; private _lang?; private _callbacks; private _pendingViewEvents; _onlyViewNotify?: boolean; private _dependents; protected _jsonModel: T & { id: string; }; private _tokens; _eventSource: EventSource; protected _fragment: string; protected _idSet: Set | undefined; private _propertiesManager; protected createIdSet(): Set | undefined; get isContainer(): boolean; constructor(params: T, _options: { form: FormModel; parent: ContainerModel; mode?: 'create' | 'restore'; }); get fragment(): string; protected getFragmentRuleNode(): any; abstract value: Primitives; abstract reset(): any; protected setupRuleNode(): void; ruleNodeReference(): this; getRuleNode(): any; private getFromRule; get id(): string; get index(): number; get parent(): ContainerModel; get type(): string | undefined; get repeatable(): any; get fieldType(): string; get ':type'(): string; get name(): string | undefined; get screenReaderText(): string | undefined; get description(): string | undefined; set description(d: string | undefined); get dataRef(): string | null | undefined; get visible(): boolean | undefined; set visible(v: boolean | undefined); get form(): FormModel; get ruleEngine(): import("./rules/RuleEngine").default; get label(): import("./types/Json").Label | undefined; set label(l: import("./types/Json").Label | undefined); get uniqueItems(): boolean | undefined; isTransparent(): boolean; getDependents(): { id: string; propertyName: string | undefined; }[]; getState(forRestore?: boolean): T & { _dependents?: { id: string; propertyName: string | undefined; }[] | undefined; allowedComponents?: undefined; columnClassNames?: undefined; columnCount?: undefined; gridClassNames?: undefined; ':type': string; repeatable?: boolean | undefined; minOccur?: number | undefined; maxOccur?: number | undefined; properties: { [key: string]: any; }; index: number; parent: undefined; qualifiedName: any; id: string; }; subscribe(callback: callbackFn, eventName?: string, dependentType?: DependentType): { unsubscribe: () => void; }; _addDependent(dependent: BaseModel, propertyName?: string): void; removeDependent(dependent: BaseModel): void; abstract validate(): Array; abstract executeAction(action: Action): any; queueEvent(action: Action): void; dispatch(action: Action): void; protected withDependencyTrackingControl(disableDependencyTracking: boolean, callback: () => T): T; notifyDependents(action: Action): void; protected isEmpty(value?: any): boolean; _setProperty(prop: string, newValue: T, notify?: boolean, notifyChildren?: (action: Action) => void): any; bindToDataModel(contextualDataModel: DataGroup): DataValue | undefined; protected _data?: DataValue; getDataNode(): DataValue | undefined; get lang(): string | undefined; get properties(): { [key: string]: any; }; set properties(p: { [key: string]: any; }); getPropertiesManager(): PropertiesManager; abstract defaultDataModel(name: string | number): DataValue | undefined; abstract syncDataAndFormModel(a?: DataValue | DataGroup): any; getNonTransparentParent(): ContainerModel; _isAncestorRepeatable(): boolean; _initialize(mode?: FormCreationMode): void; protected _applyUpdates(propNames: string[], updates: any): any; get qualifiedName(): any; focus(): void; protected _getDefaults(): any; protected _applyDefaultsInModel(): void; }