import { t as Barcode } from "../../../Barcode-B7a-T3RA.js";
import { r as BarcodeArAnnotationTrigger, t as BarcodeArAnnotation } from "../../../BarcodeArAnnotation-nsUjxSNs.js";
import { BarcodeArPopoverAnnotationButton } from "./BarcodeArPopoverAnnotationButton.js";
import { Point } from "@scandit/web-datacapture-core";
import { ScanditHTMLElement as ScanditHTMLElement$1 } from "@scandit/web-datacapture-core/build/js/private/utils/index.js";

//#region src/main/ar/ui/organisms/BarcodeArPopoverAnnotation.d.ts
interface BarcodeArPopoverAnnotationListener {
  onPopoverButtonTapped?(popover: BarcodeArPopoverAnnotation, button: BarcodeArPopoverAnnotationButton, buttonIndex: number): void;
  onPopoverTapped?(popover: BarcodeArPopoverAnnotation): void;
}
declare enum BarcodeArPopoverAnnotationAnchor {
  Top = "top-center",
  Bottom = "bottom-center",
  Left = "left-center",
  Right = "right-center"
}
declare class BarcodeArPopoverAnnotation extends ScanditHTMLElement$1 implements BarcodeArAnnotation {
  static tag: "scandit-barcode-ar-popover-annotation";
  isEntirePopoverTappable: boolean;
  private _barcode;
  annotationTrigger: BarcodeArAnnotationTrigger;
  listener?: BarcodeArPopoverAnnotationListener;
  private onPointerUpListener;
  anchor: BarcodeArPopoverAnnotationAnchor;
  constructor();
  updatePosition(point: Point, transformOrigin: Point, rotationAngle: number): void;
  get barcode(): Barcode;
  protected set barcode(barcode: Barcode);
  protected set direction(direction: string);
  protected get direction(): string;
  static register(): void;
  static create(barcode: Barcode): BarcodeArPopoverAnnotation;
  private static createStyleElement;
  connectedCallback(): void;
  disconnectedCallback(): void;
  private onPointerUp;
}
declare global {
  interface HTMLElementTagNameMap {
    [BarcodeArPopoverAnnotation.tag]: BarcodeArPopoverAnnotation;
  }
}
//#endregion
export { BarcodeArPopoverAnnotation, BarcodeArPopoverAnnotationAnchor, BarcodeArPopoverAnnotationListener };