import { Feature } from '@turf/turf'; import { MidPointRender } from '../render'; import { DeepPartial, FeatureUpdater, IBaseModeOptions, ILayerMouseEvent, ILineFeature, IMidPointFeature, IPointFeature } from '../typings'; import { PointMode } from './point-mode'; export interface IMidPointModeOptions extends IBaseModeOptions { showMidPoint: boolean; } export declare abstract class MidPointMode extends PointMode { /** * 获取midPoint类型对应的render * @protected */ protected get midPointRender(): MidPointRender | undefined; getCommonOptions(options: DeepPartial): T; bindMidPointRenderEvent(): void; /** * 获取中点数据 */ getMidPointData(): IMidPointFeature[]; /** * 设置中点数据 * @param data */ setMidPointData(data: FeatureUpdater): IMidPointFeature[]; /** * 计算并返回传入线段的中点数组 * @param line */ getMidPointsByLine(line: ILineFeature): IMidPointFeature[]; abstract onMidPointClick(e: ILayerMouseEvent): IPointFeature | undefined; onMidPointHover(e: ILayerMouseEvent): void; onMidPointUnHover(e: ILayerMouseEvent): void; enableMidPointRenderAction(): void; disableMidPointRenderAction(): void; }