import type { Editor, Node, SetterManager } from '../..';
import type { Designer } from '../designer';
import type { SettingField } from './setting-field';
export interface SettingEntry {
    readonly designer: Designer | undefined;
    readonly id: string;
    /**
     * 同样类型的节点
     */
    readonly isSameComponent: boolean;
    /**
     * 一个
     */
    readonly isSingle: boolean;
    /**
     * 多个
     */
    readonly isMultiple: boolean;
    /**
     * 编辑器引用
     */
    readonly editor: Editor;
    readonly setters: SetterManager;
    /**
     * 取得子项
     */
    get: (propName: string | number) => SettingField | null;
    readonly nodes: Node[];
    /**
     * 获取 node 中的第一项
     */
    getNode: () => any;
}
export interface SettingTarget {
    readonly nodes: Node[];
    readonly props: object;
    setPropValue(propName: string, value: any): void;
    getPropValue(propName: string): any;
    setProps(data: object): void;
    mergeProps(data: object): void;
    onPropsChange(fn: () => void): () => void;
}
