import { t as Barcode } from "../../../Barcode-B7a-T3RA.js";
import { r as BarcodeArAnnotationTrigger, t as BarcodeArAnnotation } from "../../../BarcodeArAnnotation-nsUjxSNs.js";
import { t as BarcodeArInfoAnnotationBodyComponent } from "../../../BarcodeArInfoAnnotationBodyComponent-Dj3jXTGL.js";
import { t as BarcodeArInfoAnnotationFooter } from "../../../BarcodeArInfoAnnotationFooter-h5YON8XZ.js";
import { t as BarcodeArInfoAnnotationHeader } from "../../../BarcodeArInfoAnnotationHeader-BmWO5pBg.js";
import { Color, Optional, 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/BarcodeArInfoAnnotation.d.ts
declare enum BarcodeArInfoAnnotationAnchor {
  Top = "top-center",
  Bottom = "bottom-center",
  Left = "left-center",
  Right = "right-center"
}
declare enum BarcodeArInfoAnnotationWidthPreset {
  Small = "small",
  Medium = "medium",
  Large = "large"
}
declare enum BarcodeArInfoAnnotationEvent {
  InfoAnnotationTap = "BarcodeArInfoAnnotationEventTap"
}
interface BarcodeArInfoAnnotationListener {
  onInfoAnnotationHeaderTapped?(annotation: BarcodeArInfoAnnotation): void;
  onInfoAnnotationFooterTapped?(annotation: BarcodeArInfoAnnotation): void;
  onInfoAnnotationLeftIconTapped?(annotation: BarcodeArInfoAnnotation, element: BarcodeArInfoAnnotationBodyComponent, elementIndex: number): void;
  onInfoAnnotationRightIconTapped?(annotation: BarcodeArInfoAnnotation, element: BarcodeArInfoAnnotationBodyComponent, elementIndex: number): void;
  onInfoAnnotationTapped?(annotation: BarcodeArInfoAnnotation): void;
}
declare class BarcodeArInfoAnnotation extends ScanditHTMLElement$1 implements BarcodeArAnnotation {
  static tag: "scandit-barcode-ar-info-annotation";
  isEntireAnnotationTappable: boolean;
  annotationTrigger: BarcodeArAnnotationTrigger;
  listener?: BarcodeArInfoAnnotationListener;
  private _barcode;
  private _widthPreset;
  get barcode(): Barcode;
  private set barcode(value);
  private onPointerUpListener;
  private onSlotChangeListener;
  private containerElement;
  private highlightableElementListenerMap;
  constructor();
  updatePosition(point: Point, transformOrigin: Point, rotationAngle: number): void;
  set anchor(annotationAnchor: BarcodeArInfoAnnotationAnchor);
  get anchor(): BarcodeArInfoAnnotationAnchor;
  set widthPreset(variant: BarcodeArInfoAnnotationWidthPreset);
  get widthPreset(): BarcodeArInfoAnnotationWidthPreset;
  get backgroundColor(): Color;
  set backgroundColor(value: Color);
  set body(bodies: BarcodeArInfoAnnotationBodyComponent[]);
  get body(): BarcodeArInfoAnnotationBodyComponent[];
  set header(header: Optional<BarcodeArInfoAnnotationHeader>);
  get header(): Optional<BarcodeArInfoAnnotationHeader>;
  set footer(footer: Optional<BarcodeArInfoAnnotationFooter>);
  get footer(): Optional<BarcodeArInfoAnnotationFooter>;
  set hasTip(value: boolean);
  get hasTip(): boolean;
  static create(barcode: Barcode): BarcodeArInfoAnnotation;
  protected static register(): void;
  private static createStyleElement;
  connectedCallback(): void;
  disconnectedCallback(): void;
  private onSlotChange;
  private updateArrowColor;
  private makeHighlightable;
  private onPointerUp;
}
declare global {
  interface HTMLElementTagNameMap {
    [BarcodeArInfoAnnotation.tag]: BarcodeArInfoAnnotation;
  }
  interface HTMLElementEventMap {
    [BarcodeArInfoAnnotationEvent.InfoAnnotationTap]: CustomEvent;
  }
}
//#endregion
export { BarcodeArInfoAnnotation, BarcodeArInfoAnnotationAnchor, BarcodeArInfoAnnotationEvent, BarcodeArInfoAnnotationListener, BarcodeArInfoAnnotationWidthPreset };