/** @packageDocumentation
 * @module LocatingElements
 */
import { Point3d } from "@itwin/core-geometry";
import { HitListHolder } from "./ElementLocateManager";
import { HitDetail, HitList, SnapDetail } from "./HitDetail";
import { BeButtonEvent } from "./tools/Tool";
import { DecorateContext } from "./ViewContext";
import { ScreenViewport } from "./Viewport";
/**
 * @public
 * @extensions
 */
export declare class TentativePoint {
    isActive: boolean;
    currSnap?: SnapDetail;
    tpHits?: HitList<HitDetail>;
    private get _hotDistanceInches();
    private readonly _point;
    private readonly _rawPoint;
    private readonly _viewPoint;
    private _tentativePromise?;
    viewport?: ScreenViewport;
    onInitialized(): void;
    setHitList(list?: HitList<HitDetail>): void;
    /** @return true if the tentative point is currently active and snapped to an element. */
    get isSnapped(): boolean;
    /** @return The current snap path when TentativePoint.isSnapped or undefined. */
    getCurrSnap(): SnapDetail | undefined;
    getPoint(): Point3d;
    setPoint(point: Point3d): void;
    clear(doErase: boolean): void;
    removeTentative(): void;
    setCurrSnap(newSnap?: SnapDetail): void;
    showTentative(): void;
    getHitAndList(holder: HitListHolder): SnapDetail | undefined;
    onButtonEvent(ev: BeButtonEvent): void;
    decorate(context: DecorateContext): void;
    private getSnap;
    private static arePointsCloseEnough;
    process(ev: BeButtonEvent): void;
}
//# sourceMappingURL=TentativePoint.d.ts.map