import { Scene } from '@antv/l7'; import { Feature, Polygon } from '@turf/turf'; import { DragPolygonMode, IDragPolygonModeOptions } from '../mode'; import { DeepPartial, IDistanceOptions, ILineFeature, ILineProperties, IPointFeature, IPolygonFeature, ISceneMouseEvent, ITextFeature } from '../typings'; export interface ICircleDistanceOptions extends IDistanceOptions { showOnRadius: boolean; } export interface ICircleDrawerOptions extends IDragPolygonModeOptions> { circleSteps: number; distanceOptions: ICircleDistanceOptions; } export declare class CircleDrawer extends DragPolygonMode { constructor(scene: Scene, options: DeepPartial); getDefaultOptions(options: DeepPartial): ICircleDrawerOptions; getDistanceTexts(): ITextFeature[]; setData(data: Feature[]): void; handleCreatePolygonLine(startNode: IPointFeature, endNode: IPointFeature, properties?: Partial): ILineFeature; syncPolygonNodes(polygon: IPolygonFeature, nodes: IPointFeature[]): IPolygonFeature; onLineDragging(e: ISceneMouseEvent): ILineFeature | undefined; getBoundaryPositions(startPoint: IPointFeature, endPoint: IPointFeature): number[][]; }