import { Feature } from '@turf/turf'; import { DeepPartial, ILayerMouseEvent, ILineFeature, ILineProperties, IMidPointFeature, IPointFeature, IPolygonFeature, IPolygonHelperOptions, IPolygonProperties, ISceneMouseEvent } from '../typings'; import { IPolygonModeOptions, PolygonMode } from './polygon-mode'; export interface IDragPolygonModeOptions extends IPolygonModeOptions { helper: IPolygonHelperOptions | boolean; } export declare abstract class DragPolygonMode extends PolygonMode { get drawLine(): ILineFeature | undefined; getDefaultOptions(options: DeepPartial): T; getMidPointsByLine(line: ILineFeature): IMidPointFeature[]; abstract handleCreatePolygonLine(startNode: IPointFeature, endNode: IPointFeature, properties: Partial): ILineFeature; handleCreatePolygon(points: IPointFeature[], line: ILineFeature, properties?: Partial): IPolygonFeature; handleFirstNodeCreate(firstNode: IPointFeature): IPointFeature; handleLastNodeCreate(lastNode: IPointFeature): IPointFeature; onPointCreate(e: ILayerMouseEvent): IPointFeature | undefined; setActivePolygon(polygon: IPolygonFeature, properties?: Partial): IPolygonFeature; onPointDragging(e: ISceneMouseEvent): IPointFeature | undefined; onSceneDragStart(e: ISceneMouseEvent): void; onSceneDragEnd(e: ISceneMouseEvent): void; onSceneMouseMove(e: ISceneMouseEvent): void; }