import { TerraDrawMouseEvent, TerraDrawAdapterStyling, NumericStyling, HexColorStyling, Cursor } from "../../common";
import { GeoJSONStoreFeatures } from "../../store/store";
import { BaseModeOptions, CustomStyling, TerraDrawBaseDrawMode } from "../base.mode";
type PointModeStyling = {
    pointWidth: NumericStyling;
    pointColor: HexColorStyling;
    pointOutlineColor: HexColorStyling;
    pointOutlineWidth: NumericStyling;
};
interface Cursors {
    create?: Cursor;
}
interface TerraDrawPointModeOptions<T extends CustomStyling> extends BaseModeOptions<T> {
    cursors?: Cursors;
}
export declare class TerraDrawPointMode extends TerraDrawBaseDrawMode<PointModeStyling> {
    mode: string;
    private cursors;
    constructor(options?: TerraDrawPointModeOptions<PointModeStyling>);
    /** @internal */
    start(): void;
    /** @internal */
    stop(): void;
    /** @internal */
    onClick(event: TerraDrawMouseEvent): void;
    /** @internal */
    onMouseMove(): void;
    /** @internal */
    onKeyDown(): void;
    /** @internal */
    onKeyUp(): void;
    /** @internal */
    cleanUp(): void;
    /** @internal */
    onDragStart(): void;
    /** @internal */
    onDrag(): void;
    /** @internal */
    onDragEnd(): void;
    /** @internal */
    styleFeature(feature: GeoJSONStoreFeatures): TerraDrawAdapterStyling;
    validateFeature(feature: unknown): feature is GeoJSONStoreFeatures;
}
export {};
