import { t as BarcodeArSession } from "../BarcodeArSession-Bz03lXAV.js";
import { n as BarcodeArListener, t as BarcodeAr } from "../BarcodeAr-BDmLyoF_.js";
import { BarcodeArViewSettings } from "./BarcodeArViewSettings.js";
import { BarcodeArView } from "./BarcodeArView.js";
import { Camera, CameraSettings, DataCaptureContext } from "@scandit/web-datacapture-core";

//#region src/main/ar/BarcodeArPresenter.d.ts
declare class BarcodeArPresenter implements BarcodeArListener {
  private readonly view;
  private context;
  private viewSettings;
  private readonly cameraSettings;
  private torchState;
  private cameraSupportMap;
  private cameras;
  readonly barcodeAr: BarcodeAr;
  constructor(view: BarcodeArView, context: DataCaptureContext, barcodeAr: BarcodeAr, viewSettings: BarcodeArViewSettings, cameraSettings: CameraSettings);
  get currentCamera(): Camera;
  isCameraMirrored(): boolean;
  prepare(): Promise<void>;
  dispose(): Promise<void>;
  startSearching(): Promise<void>;
  stopSearching(): Promise<void>;
  pauseSearching(): Promise<void>;
  emitTappedFeedback(): void;
  didUpdateSession(_: BarcodeAr, session: BarcodeArSession): void;
  private isTorchAvailableForCurrentCamera;
  onTorchButtonClicked(): Promise<void>;
  onCameraSwitchButtonClicked(): Promise<void>;
}
//#endregion
export { BarcodeArPresenter };