import { EditAction, ClickEvent, PointerMoveEvent, StartDraggingEvent, StopDraggingEvent, DraggingEvent, Pick, Tooltip, ModeProps, GuideFeatureCollection, TentativeFeature } from "./types.js"; import { FeatureCollection, Feature, Polygon, SimpleGeometry, Position, SimpleFeatureCollection, SimpleFeature } from "../utils/geojson-types.js"; import { EditMode } from "./edit-mode.js"; export type GeoJsonEditAction = EditAction; export type GeoJsonEditModeType = EditMode; export interface GeoJsonEditModeConstructor { new (): GeoJsonEditModeType; } export declare class GeoJsonEditMode implements EditMode { _clickSequence: Position[]; getGuides(props: ModeProps): GuideFeatureCollection; getTooltips(props: ModeProps): Tooltip[]; getSelectedFeature(props: ModeProps): SimpleFeature | null | undefined; getSelectedGeometry(props: ModeProps): SimpleGeometry | null | undefined; getSelectedFeaturesAsFeatureCollection(props: ModeProps): SimpleFeatureCollection; getClickSequence(): Position[]; addClickSequence({ mapCoords }: ClickEvent): void; resetClickSequence(): void; getTentativeGuide(props: ModeProps): TentativeFeature | null | undefined; isSelectionPicked(picks: Pick[], props: ModeProps): boolean; rewindPolygon(feature: SimpleFeature): SimpleFeature; getAddFeatureAction(featureOrGeometry: SimpleGeometry | Feature, features: SimpleFeatureCollection, featureProperties?: {}): GeoJsonEditAction; getAddManyFeaturesAction({ features: featuresToAdd }: SimpleFeatureCollection, features: SimpleFeatureCollection): GeoJsonEditAction; getAddFeatureOrBooleanPolygonAction(featureOrGeometry: Polygon | Feature, props: ModeProps, featureProperties?: {}): GeoJsonEditAction | null | undefined; createTentativeFeature(props: ModeProps): TentativeFeature | null; handleClick(event: ClickEvent, props: ModeProps): void; handleDoubleClick(event: ClickEvent, props: ModeProps): void; handlePointerMove(event: PointerMoveEvent, props: ModeProps): void; handleStartDragging(event: StartDraggingEvent, props: ModeProps): void; handleStopDragging(event: StopDraggingEvent, props: ModeProps): void; handleDragging(event: DraggingEvent, props: ModeProps): void; handleKeyUp(event: KeyboardEvent, props: ModeProps): void; } export declare function getIntermediatePosition(position1: Position, position2: Position): Position; //# sourceMappingURL=geojson-edit-mode.d.ts.map