import { t as Barcode } from "../Barcode-B7a-T3RA.js";
import { t as BarcodeAr } from "../BarcodeAr-BDmLyoF_.js";
import { t as BarcodeArAnnotation } from "../BarcodeArAnnotation-nsUjxSNs.js";
import { t as BarcodeArAnnotationProvider } from "../BarcodeArAnnotationProvider-LUZtD48c.js";
import { t as BarcodeArHighlight } from "../BarcodeArHighlight-BIm0-lDz.js";
import { t as BarcodeArHighlightProvider } from "../BarcodeArHighlightProvider-DqpmyBWi.js";
import { BarcodeArViewSettings } from "./BarcodeArViewSettings.js";
import { t as BarcodeArViewUiListener } from "../BarcodeArViewUiListener-BwMQnGJV.js";
import { Anchor, CameraSettings, DataCaptureContext, DataCaptureView, LogoStyle, NotificationPresenter, PointWithUnit } from "@scandit/web-datacapture-core";
import { ScanditHTMLElement as ScanditHTMLElement$1 } from "@scandit/web-datacapture-core/build/js/private/utils/ScanditHTMLElement.js";

//#region src/main/ar/BarcodeArView.d.ts
declare class BarcodeArView extends ScanditHTMLElement$1 {
  static tag: "scandit-barcode-ar-view";
  annotationProvider?: BarcodeArAnnotationProvider;
  highlightProvider?: BarcodeArHighlightProvider;
  private dataCaptureView;
  private barcodeArViewSettings;
  private presenter;
  private layout;
  private torchSwitchIconButton;
  private cameraSwitchButton;
  private zoomSwitchControl;
  private _shouldShowTorchControl;
  private _isTorchAvailable;
  private onTorchButtonClickHandler;
  private onCameraSwitchButtonHandler;
  private onLayoutPointerDownHandler;
  private onInfoAnnotationTapHandler;
  private backdrop;
  private pendingDeletionTimeout;
  listener?: BarcodeArViewUiListener;
  set shouldShowZoomControl(value: boolean);
  get shouldShowZoomControl(): boolean;
  set shouldShowCameraSwitchControl(value: boolean);
  get shouldShowCameraSwitchControl(): boolean;
  set shouldShowTorchControl(value: boolean);
  get shouldShowTorchControl(): boolean;
  set torchControlPosition(anchor: Anchor);
  get torchControlPosition(): Anchor;
  set zoomControlPosition(anchor: Anchor);
  get zoomControlPosition(): Anchor;
  set cameraSwitchControlPosition(anchor: Anchor);
  get cameraSwitchControlPosition(): Anchor;
  get logoStyle(): LogoStyle;
  set logoStyle(logoStyle: LogoStyle);
  get logoAnchor(): Anchor;
  set logoAnchor(logoAnchor: Anchor);
  get logoOffset(): PointWithUnit;
  set logoOffset(logoOffset: PointWithUnit);
  static createWithSettings(elementOrDataCaptureView: HTMLElement | DataCaptureView, context: DataCaptureContext, barcodeAr: BarcodeAr, viewSettings: BarcodeArViewSettings, cameraSettings?: CameraSettings): Promise<BarcodeArView>;
  static create(elementOrDataCaptureView: HTMLElement | DataCaptureView, context: DataCaptureContext, barcodeAr: BarcodeAr): Promise<BarcodeArView>;
  private static register;
  private static createStyleElement;
  getHighlightForBarcode(barcode: Barcode): BarcodeArHighlight | null;
  getAnnotationForBarcode(barcode: Barcode): BarcodeArAnnotation | null;
  start(): Promise<void>;
  stop(): Promise<void>;
  pause(): Promise<void>;
  reset(): void;
  getNotificationPresenter(): NotificationPresenter;
  private setTorchAvailable;
  private toggleTorchIcon;
  private onTorchButtonClick;
  private onCameraSwitchButtonClick;
  private installZoomControl;
  private connectedCallback;
  private disconnectedCallback;
  private isPopoverAnnotation;
  private isAnnotation;
  private areMultiplePopoverAllowed;
  private onLayoutPointerDown;
  private handleHighlightClick;
  private handlePopoverHighlightClick;
  private handleAnnotationClick;
  private handleClickOutside;
  private onInfoAnnotationTap;
  private showBarcodeArPopover;
  private hideBarcodeArPopover;
  private hideBackdropIfNoPopovers;
  private toggleBarcodeArPopover;
  /**
   * Used in the presenter when stop is called
   * to avoid dom nodes hanging.
   * @private
   */
  private deleteAllViews;
  private deletePendingViews;
  private identifierForHighlight;
  private identifierForAnnotation;
  private onHighlightsOrAnnotationForTrackedBarcode;
  private onAnnotation;
  private updateExistingAnnotation;
  private setupNewAnnotation;
  private getAnnotationVariationForQuad;
  private onHighlight;
  private queryHighlightByDataIdentifier;
  private queryAnnotationByDataIdentifier;
  private queryHighlightByDataId;
  private queryAnnotationByDataId;
  private updateRemovedTrackedBarcodes;
  private render;
  private updateHighlightPosition;
  private updateBrushSize;
  private getTransformOrigin;
  private calculateAnnotationPosition;
  private updateAnnotationPosition;
  private normalizedViewPointFromFrameAnchorPositions;
  private calculateRotationAngle;
}
declare global {
  interface HTMLElementTagNameMap {
    [BarcodeArView.tag]: BarcodeArView;
  }
}
//#endregion
export { BarcodeArView };