import { Destroyable } from '../common'; import { ChangedItem, IModelEventTarget, KeyValueListener } from './event.interface'; export declare class ModelEventTarget extends Destroyable implements IModelEventTarget { private _map; constructor(); /** * 监听属性变化 * @param {string} propertyName "color color.add color.delete" * @param {KeyValueListener} listener * @returns {this} */ register(propertyName: string, listener: KeyValueListener): this; /** * 撤销对属性的监听 * @param propertyName * @param listener */ revoke(propertyName: string, listener?: KeyValueListener): void; /** * 该方法的存在 使得外部能够触发事件 * @param item */ trigger(item: ChangedItem | Array): void; protected _trigger(item: ChangedItem): void; /** * 批量触发属性变化事件 * @param changedItemArray * @private */ protected _batchTrigger(changedItemArray: Array): void; }