export declare enum MarkerEventKey { Click = "marker:click", DoubleClick = "marker:dblclick", RightClick = "marker:rightclick", MouseEnter = "marker:mouseenter", MouseLeave = "marker:mouseleave", MouseDown = "marker:mousedown", MouseUp = "marker:mouseup" } interface ListenerItem { name: string; fn: (data: T, event: Event) => void; once?: boolean; } export { ListenerItem }; export declare class MarkerEventBus { private listenerMap; /** * 添加监听器 * @param key 事件 key * @param listener 监听器项 * @param overwrite 是否覆盖同名监听器 * @returns 是否成功添加 */ addListener(key: MarkerEventKey, listener: ListenerItem, overwrite?: boolean): boolean; /** * 移除某个 key 的所有监听器 */ removeListenerByKey(key: MarkerEventKey): boolean; /** * 移除某个 key 下的指定名字的监听器 */ removeListenerByKeyAndName(key: MarkerEventKey, name: string): boolean; /** * 运行监听器 */ runListener(key: MarkerEventKey, data: T, e: Event): void; }