import { Position } from "geojson";
import { BehaviorConfig, TerraDrawModeBehavior } from "./base.behavior";
import { TerraDrawMouseEvent } from "../common";
import { PixelDistanceBehavior } from "./pixel-distance.behavior";
import { MutateFeatureBehavior } from "./mutate-feature.behavior";
import { FeatureId } from "../extend";
import { ReadFeatureBehavior } from "./read-feature.behavior";
export declare class ClosingPointsBehavior extends TerraDrawModeBehavior {
    readonly config: BehaviorConfig;
    private readonly pixelDistance;
    private readonly mutateFeatureBehavior;
    private readonly readFeatureBehavior;
    constructor(config: BehaviorConfig, pixelDistance: PixelDistanceBehavior, mutateFeatureBehavior: MutateFeatureBehavior, readFeatureBehavior: ReadFeatureBehavior);
    private _startEndPoints;
    get ids(): FeatureId[];
    set ids(_: FeatureId[]);
    create(selectedCoords: Position[] | Position[][]): void;
    delete(): void;
    updateOne(index: number, updatedCoordinate: Position): void;
    update(updatedCoordinates: Position[] | Position[][]): void;
    isLineStringClosingPoint(event: TerraDrawMouseEvent): {
        isClosing: boolean;
    };
    isPolygonClosingPoints(event: TerraDrawMouseEvent): {
        isClosing: boolean;
        isPreviousClosing: boolean;
    };
}
