import { CNode } from '.'; import { CRootNode } from '..'; import { ExportType } from '../../../const/schema'; import { CMaterials } from '../../../Material'; import { MaterialPropType } from '../../../types/material'; import { FunctionPropType, JSExpressionPropType, NormalPropType, CPropDataType, CPropObjDataType } from '../../../types/node'; import { DataModelEmitterType } from '../../../util/modelEmitter'; import { CJSSlotPropDataType } from './slot'; export type CSpecialPropDataType = CJSSlotPropDataType | FunctionPropType | JSExpressionPropType; export type CPropModelDataType = NormalPropType | CSpecialPropDataType | CSpecialPropDataType[]; export declare class CProp { nodeType: "PROP"; private rawData; parent: CNode | CRootNode | null; emitter: DataModelEmitterType; private data; name: string; materialsMode: CMaterials; constructor(name: string, data: CPropDataType, options: { parent: CNode | CRootNode | null; materials?: CMaterials; }); isIncludeSlot(): boolean; isIncludeExpression(): boolean; get value(): CPropModelDataType; updateValue(val?: CPropDataType | CPropModelDataType): void; get material(): MaterialPropType | null | undefined; export(mode: ExportType): any; } export declare const transformObjToPropsModelObj: (props: CPropObjDataType, parent?: CNode | null) => Record;