import { h } from '../../stencil-public-runtime';
import { Vector3 } from '@vertexvis/geometry';
export declare class ViewerHitResultIndicator {
    /**
     * The viewer to connect to this indicator. If nested within a <vertex-viewer>,
     * this property will be populated automatically.
     */
    viewer?: HTMLVertexViewerElement;
    /**
     * The position of this indicator. A point will be displayed at this position,
     * and it will be used alongside the provided `normal` to display a plane and
     * normal arrow centered at the position.
     */
    position?: Vector3.Vector3;
    /**
     * The normal of this indicator. This value will be represented as an arrow,
     * and will be used alongside the provided `position` to display a plane.
     */
    normal?: Vector3.Vector3;
    private hostEl;
    private transform?;
    private arrowColor;
    private planeColor;
    private outlineColor;
    private planeOpacity;
    private indicator?;
    private canvasResizeObserver?;
    private canvasRef?;
    protected componentDidLoad(): void;
    protected disconnectedCallback(): void;
    /**
     * @ignore
     */
    protected handleViewerChanged(newViewer?: HTMLVertexViewerElement, oldViewer?: HTMLVertexViewerElement): void;
    /**
     * @ignore
     */
    protected handlePositionChanged(newPosition?: Vector3.Vector3, oldPosition?: Vector3.Vector3): void;
    protected handleNormalChanged(newNormal?: Vector3.Vector3, oldNormal?: Vector3.Vector3): void;
    render(): h.JSX.IntrinsicElements;
    private handleViewerFrameDrawn;
    private handleViewerDimensionsChange;
    private handleResize;
    private updatePropsFromViewer;
    private setupIndicator;
    private updateAndRedrawIndicator;
    private createTransform;
    private getIndicator;
}
