import { CPage } from '..'; import { ExportType } from '../../const/schema'; import { CMaterials } from '../../Material'; import { CRootNodeDataType, InnerComponentNameEnum } from '../../types/rootNode'; import { DataModelEmitterType, DataModelEventType } from '../../util/modelEmitter'; import { CNode } from './Node/index'; import { CProp } from './Node/prop'; export type CRootNodeModelDataType = Omit & { id: string; children: CNode[]; props: Record; configure: Required['configure']; }; export declare const checkRootNode: (data: any) => CRootNodeDataType; export declare const parseSchema: (data: CRootNodeDataType | CRootNodeModelDataType, parent: CRootNode, materials: CMaterials) => CRootNodeModelDataType; type OnNodeChangeType = (params: DataModelEventType['onNodeChange']) => void; export declare class CRootNode { private rawData; private data; nodeType: InnerComponentNameEnum; emitter: DataModelEmitterType; materialsModel: CMaterials; listenerHandler: (() => void)[]; onChangeCbQueue: OnNodeChangeType[]; parent: CPage | null; constructor(data: any, { parent, materials }: { parent: CPage | null; materials: CMaterials; }); registerListener(): void; onChange(cb: OnNodeChangeType): () => void; get id(): string; get value(): CRootNodeModelDataType; get props(): import('../..').CPropObjDataType & Record; get material(): import('../../Material').CMaterial | undefined; updateWithPlainObj(val?: Partial): any; updateValue(val?: Partial): void; contains(nodeId: string): CNode | CRootNode | undefined; /** * 从物料 和 node config 中获取合并后的属性,node 中的配置优先级更高 * @param key 目前只支持 isContainer 属性 * @returns */ getMaterialConfig(key: 'isContainer'): boolean | import('../..').ContainerConfig | undefined; isContainer(): boolean | import('../..').ContainerConfig | undefined; export(mode?: ExportType): CRootNodeDataType; getPlainProps(): any; destroy(): void; clone(id?: string): CRootNode; } export {};