import { Group, Vector3 } from "three";
import type { ViralViewerApi } from "../../../viral-viewer-api";
export interface PointPlacementResult {
    position: Vector3;
    catalogItemId: string;
}
export declare class PointPlacementTool {
    private _viralViewerApi;
    private _editorGroup;
    active: boolean;
    onFinish: ((result: PointPlacementResult) => void) | null;
    private _previewGroup;
    private _previewMesh;
    private _cursorMarker;
    private _catalogItemId;
    private _terrainMesh;
    private _onMouseDown;
    private _onMouseMove;
    private _onKeyDown;
    constructor(_viralViewerApi: ViralViewerApi, _editorGroup: Group);
    start(catalogItemId: string): Promise<void>;
    cancel(): void;
    private _place;
    private _bindListeners;
    private _unbindListeners;
    private _updateCursor;
    private _clearPreview;
}
