import type { ComponentMeta, Designer, FieldExtraProps, Node, PropKey } from '../..';
import type { Editor } from '../../editor';
import type { SetterManager } from '../../setter-manager';
import type { SettingEntry } from './setting-entry';
import type { SetValueOptions, SettingField } from './setting-field';
import type { SettingTopEntry } from './setting-top-entry';
export declare class SettingPropEntry implements SettingEntry {
    readonly parent: SettingTopEntry | SettingField;
    readonly editor: Editor;
    readonly isSameComponent: boolean;
    readonly isMultiple: boolean;
    readonly isSingle: boolean;
    readonly setters: SetterManager;
    readonly nodes: Node[];
    readonly componentMeta: ComponentMeta | null;
    readonly designer: Designer | undefined;
    readonly top: SettingTopEntry;
    readonly isGroup: boolean;
    readonly type: 'field' | 'group';
    readonly id: string;
    readonly emitter: import("../..").EventBus;
    private accessor _name;
    get name(): PropKey | undefined;
    get path(): PropKey[];
    extraProps: FieldExtraProps;
    constructor(parent: SettingTopEntry | SettingField, name: PropKey | undefined, type?: 'field' | 'group');
    getId(): string;
    setKey(key: PropKey): void;
    getKey(): PropKey | undefined;
    remove(): void;
    /**
     * 判断当前属性值是否一致
     * -1 多种值
     * 0 无值
     * 1 类似值，比如数组长度一样
     * 2 单一植
     */
    get valueState(): number;
    /**
     * 获取当前属性值
     */
    getValue(): any;
    /**
     * 设置当前属性值
     */
    setValue(val: any, isHotValue?: boolean, extraOptions?: SetValueOptions): void;
    /**
     * 清除已设置的值
     */
    clearValue(): void;
    /**
     * 获取子项
     */
    get(propName: PropKey): SettingField | null;
    /**
     * 设置子级属性值
     */
    setPropValue(propName: PropKey, value: any): void;
    /**
     * 清除已设置值
     */
    clearPropValue(propName: PropKey): void;
    /**
     * 获取子级属性值
     */
    getPropValue(propName: PropKey): any;
    /**
     * 获取顶层附属属性值
     */
    getExtraPropValue(propName: string): unknown;
    /**
     * 设置顶层附属属性值
     */
    setExtraPropValue(propName: string, value: any): void;
    getNode(): Node<import("../..").NodeSchema>;
    getName(): string;
    getProps(): SettingTopEntry;
    get props(): SettingTopEntry;
    onValueChange(func: () => any): () => void;
    notifyValueChange(oldValue: any, newValue: any): void;
    getDefaultValue(): any;
    isIgnore(): boolean;
    getVariableValue(): string;
    setVariableValue(value: string): void;
    setUseVariable(flag: boolean): void;
    isUseVariable(): boolean;
    get useVariable(): boolean;
    getMockOrValue(): any;
}
