import Observer, { IObserverCallbackParams } from '@xizher/observer'; import WebMap from '../web-map/web-map'; export declare type OnResetParams = IObserverCallbackParams<'reset', T>; export declare type OnDoneParams = IObserverCallbackParams<'done', T>; export declare type OnExecutingParams = IObserverCallbackParams<'executing', T>; export interface IToolBaseEvent { 'reset': void; 'done': { success: true; result: T; } | { success: false; error: unknown; }; 'executing': void; } /** 基础工具类 */ export declare class ToolBase> extends Observer> { /** WebMap对象 */ protected webMap_: WebMap; /** * 初始化基础工具类 * @param webMap WebMap对象 */ constructor(webMap: WebMap); /** 工具重置触发事件 */ protected onReset_(e: OnResetParams): void; /** 工具执行完成触发事件 */ protected onDone_(e: OnDoneParams): void; /** 工具执行过程触发事件 */ protected onExecuting_(e: OnExecutingParams): void; reset(): void; execute(): void; } export default ToolBase;