import { Position } from "geojson";
import { BehaviorConfig, TerraDrawModeBehavior } from "../../base.behavior";
import { FeatureId } from "../../../store/store";
import { ReadFeatureBehavior } from "../../read-feature.behavior";
import { MutateFeatureBehavior } from "../../mutate-feature.behavior";
export declare class CoordinatePointBehavior extends TerraDrawModeBehavior {
    private readonly readFeature;
    private readonly mutateFeature;
    constructor(config: BehaviorConfig, readFeature: ReadFeatureBehavior, mutateFeature: MutateFeatureBehavior);
    createOrUpdate({ featureId, featureCoordinates, }: {
        featureId: FeatureId;
        featureCoordinates: Position[] | Position[][];
    }): void;
    deletePointsByFeatureIds(features: FeatureId[]): void;
    updateOneAtIndex(featureId: FeatureId, index: number, updatedCoordinate: Position): void;
    updateAllInPlace({ featureId, featureCoordinates, }: {
        featureId: FeatureId;
        featureCoordinates: Position[] | Position[][];
    }): void;
    private createPoints;
    private setFeatureCoordinatePoints;
    private deleteCoordinatePoints;
    private deleteIfPresent;
    private deleteOrphanedPoints;
}
