import { JSX } from '../../stencil-public-runtime';
import { Matrix4 } from '@vertexvis/geometry';
import { PinController } from '../../lib/pins/controller';
import { Pin } from '../../lib/pins/model';
import { PinModel } from '../../lib/pins/model';
export declare class ViewerPinGroup {
    /**
     * The pin to draw for the group
     */
    pin?: Pin;
    /**
     * The local matrix of this element.
     */
    matrix: Matrix4.Matrix4;
    /**
     * Projection view matrix used for computing the position of the pin line
     */
    projectionViewMatrix: Matrix4.Matrix4;
    /**
     * The dimensions of the canvas for the pins
     */
    elementBounds?: DOMRect;
    /**
     * The model that contains the entities and outcomes from performing pin operations
     */
    pinModel: PinModel;
    /**
     * The controller that drives behavior for pin operations
     */
    pinController?: PinController;
    /**
     * Whether the pin is "selected"
     */
    selected: boolean;
    /**
     * @internal
     * Whether the pin is occluded
     */
    occluded: boolean;
    /**
     * @internal
     * Whether the pin is detached
     */
    detached: boolean;
    private invalidateStateCounter;
    private labelEl;
    private resizeObserver?;
    protected componentDidLoad(): void;
    /**
     * @ignore
     */
    protected handleOcclusionStateChanged(event: CustomEvent<boolean>): Promise<void>;
    /**
     * @ignore
     */
    protected handleDetachedStateChanged(event: CustomEvent<boolean>): Promise<void>;
    protected disconnectedCallback(): void;
    protected render(): JSX.Element;
    private invalidateState;
    private setLabelObserver;
    private computePinPoints;
    private computeDefaultPinPoints;
    private computeTextPinPoints;
    private handleAnchorPointerDown;
    private selectPin;
    private getFromWorldPosition;
}
