import { LitElement, PropertyValues } from '../../base'; import { AnchorRect } from './anchor-rect'; export type OverlayAnchor = { anchor: string; scope: string; bounds: () => AnchorRect; /** Returns true to prevent default event dispatch */ selected?: () => void | boolean; }; export interface OverlayAnchorElementProps extends OverlayAnchor { snug?: boolean; } /** * element for marking anchor in application guidance */ export declare class OverlayAnchorElement extends LitElement implements OverlayAnchorElementProps { /** * id/tag of the element */ anchor: string; /** * the scope which this anchor should appear in */ scope: string; /** * apply padding to container of anchor */ snug?: boolean; /** * subscriber collection of this element */ protected _disconnectedCallbacks: VoidFunction[]; /** * calculated bounds for the element and children. * applies padding if not snug */ bounds(): AnchorRect; /** * @override this element does not need a shadow dom */ createRenderRoot(): HTMLElement; /** * @override add default styling and notify observers */ connectedCallback(): void; /** * @override callback all observers when removed from dom */ disconnectedCallback(): void; protected _disconnect(): void; protected updated(props: PropertyValues): void; protected _connect2overlay(): void; } export default OverlayAnchorElement;