import { IProp as InnerProp } from '@alilc/lowcode-designer';
import { IPublicTypeCompositeValue, IPublicEnumTransformStage, IPublicModelProp, IPublicModelNode } from '@alilc/lowcode-types';
import { propSymbol } from '../symbols';
export declare class Prop implements IPublicModelProp {
    private readonly [propSymbol];
    constructor(prop: InnerProp);
    static create(prop: InnerProp | undefined | null): IPublicModelProp | null;
    /**
     * id
     */
    get id(): string;
    /**
     * key 值
     * get key of prop
     */
    get key(): string | number | undefined;
    /**
     * 返回当前 prop 的路径
     */
    get path(): string[];
    /**
     * 返回所属的节点实例
     */
    get node(): IPublicModelNode | null;
    /**
     * return the slot node (only if the current prop represents a slot)
     */
    get slotNode(): IPublicModelNode | null;
    /**
     * judge if it is a prop or not
     */
    get isProp(): boolean;
    /**
     * 设置值
     * @param val
     */
    setValue(val: IPublicTypeCompositeValue): void;
    /**
     * 获取值
     * @returns
     */
    getValue(): any;
    /**
     * 移除值
     */
    remove(): void;
    /**
     * 导出值
     * @param stage
     * @returns
     */
    exportSchema(stage?: IPublicEnumTransformStage): IPublicTypeCompositeValue;
}
