import { TerraDrawMouseEvent } from "../../../common";
import { BehaviorConfig, TerraDrawModeBehavior } from "../../base.behavior";
import { PixelDistanceBehavior } from "../../pixel-distance.behavior";
import { MidPointBehavior } from "./midpoint.behavior";
import { SelectionPointBehavior } from "./selection-point.behavior";
import { FeatureId, GeoJSONStoreFeatures } from "../../../store/store";
export declare class DragCoordinateBehavior extends TerraDrawModeBehavior {
    readonly config: BehaviorConfig;
    private readonly pixelDistance;
    private readonly selectionPoints;
    private readonly midPoints;
    constructor(config: BehaviorConfig, pixelDistance: PixelDistanceBehavior, selectionPoints: SelectionPointBehavior, midPoints: MidPointBehavior);
    private draggedCoordinate;
    private getClosestCoordinate;
    getDraggableIndex(event: TerraDrawMouseEvent, selectedId: FeatureId): number;
    drag(event: TerraDrawMouseEvent, allowSelfIntersection: boolean, validateFeature?: (feature: GeoJSONStoreFeatures) => boolean): boolean;
    isDragging(): boolean;
    startDragging(id: FeatureId, index: number): void;
    stopDragging(): void;
}
