import { TerraDrawMouseEvent, TerraDrawAdapterStyling, TerraDrawKeyboardEvent, HexColorStyling, NumericStyling, Cursor } from "../../common"; import { TerraDrawBaseDrawMode, BaseModeOptions, CustomStyling, ModeUpdateOptions } from "../base.mode"; import { GeoJSONStoreFeatures, StoreValidation } from "../../store/store"; import { BehaviorConfig } from "../base.behavior"; type TerraDrawSensorModeKeyEvents = { cancel?: KeyboardEvent["key"] | null; finish?: KeyboardEvent["key"] | null; }; type SensorPolygonStyling = { centerPointColor: HexColorStyling; centerPointWidth: NumericStyling; centerPointOpacity: NumericStyling; centerPointOutlineColor: HexColorStyling; centerPointOutlineWidth: NumericStyling; centerPointOutlineOpacity: NumericStyling; outlineColor: HexColorStyling; outlineWidth: NumericStyling; outlineOpacity: NumericStyling; fillColor: HexColorStyling; fillOpacity: NumericStyling; }; interface Cursors { start?: Cursor; close?: Cursor; } interface TerraDrawSensorModeOptions extends BaseModeOptions { arcPoints?: number; pointerDistance?: number; keyEvents?: TerraDrawSensorModeKeyEvents | null; cursors?: Cursors; } export declare class TerraDrawSensorMode extends TerraDrawBaseDrawMode { mode: string; private currentCoordinate; private currentId; private currentInitialArcId; private currentStartingPointId; private keyEvents; private direction; private arcPoints; private cursors; private mouseMove; private readFeature; private mutateFeature; constructor(options?: TerraDrawSensorModeOptions); updateOptions(options?: ModeUpdateOptions>): void; /** @internal */ start(): void; /** @internal */ stop(): void; /** @internal */ onMouseMove(event: TerraDrawMouseEvent): void; /** @internal */ onClick(event: TerraDrawMouseEvent): void; /** @internal */ onKeyUp(event: TerraDrawKeyboardEvent): void; /** @internal */ onKeyDown(): void; /** @internal */ onDragStart(): void; /** @internal */ onDrag(): void; /** @internal */ onDragEnd(): void; /** @internal */ cleanUp(): void; /** @internal */ styleFeature(feature: GeoJSONStoreFeatures): TerraDrawAdapterStyling; validateFeature(feature: unknown): StoreValidation; afterFeatureUpdated(feature: GeoJSONStoreFeatures): void; registerBehaviors(config: BehaviorConfig): void; private close; private getUpdatedPolygonCoordinates; private getUpdatedLineStringCoordinates; private getDeltaBearing; private notInSector; } export {};