import { BehaviorConfig, TerraDrawModeBehavior } from "./base.behavior";
import { TerraDrawMouseEvent } from "../common";
import { Position } from "geojson";
import { ClickBoundingBoxBehavior } from "./click-bounding-box.behavior";
import { FeatureId } from "../store/store";
import { PixelDistanceBehavior } from "./pixel-distance.behavior";
export declare class SnappingBehavior extends TerraDrawModeBehavior {
    readonly config: BehaviorConfig;
    private readonly pixelDistance;
    private readonly clickBoundingBox;
    constructor(config: BehaviorConfig, pixelDistance: PixelDistanceBehavior, clickBoundingBox: ClickBoundingBoxBehavior);
    /** Returns the nearest snappable coordinate - on first click there is no currentId so no need to provide */
    getSnappableCoordinateFirstClick: (event: TerraDrawMouseEvent) => Position | undefined;
    getSnappableCoordinate: (event: TerraDrawMouseEvent, currentFeatureId: FeatureId) => Position | undefined;
    private getSnappable;
}
