import { n as BarcodeArSettingsJSON, t as BarcodeArSettings } from "./BarcodeArSettings-B9BVP7j6.js";
import { t as BarcodeArFeedback } from "./BarcodeArFeedback-DvLnrL8K.js";
import { t as BarcodeArSession } from "./BarcodeArSession-Bz03lXAV.js";
import { CameraSettings, DataCaptureContext, DataCaptureMode, DataCaptureModeJSON, FrameData } from "@scandit/web-datacapture-core";
import { Serializable } from "@scandit/web-datacapture-core/build/js/private/Serializable";

//#region src/main/ar/BarcodeArListener.d.ts
interface BarcodeArListener {
  didUpdateSession?(barcodeAr: BarcodeAr, session: BarcodeArSession, frameData: FrameData): void;
}
type PrivateBarcodeArListener = BarcodeArListener;
//#endregion
//#region src/main/ar/BarcodeAr.d.ts
type BarcodeArJSON = DataCaptureModeJSON<BarcodeArSettingsJSON>;
declare class BarcodeAr implements DataCaptureMode, Serializable<BarcodeArJSON> {
  private _feedback;
  private skipSerialization;
  private readonly type;
  private _isEnabled;
  private settings;
  private _context;
  private listeners;
  private readonly privateListeners;
  private readonly workerMessageListener;
  get context(): DataCaptureContext | null;
  static createRecommendedCameraSettings(): CameraSettings;
  private set context(value);
  private get allListeners();
  static forContext(context: DataCaptureContext, settings: BarcodeArSettings): Promise<BarcodeAr>;
  isEnabled(): boolean;
  addListener(listener: BarcodeArListener): void;
  removeListener(listener: BarcodeArListener): void;
  set feedback(feedback: BarcodeArFeedback);
  get feedback(): BarcodeArFeedback;
  setEnabled(enabled: boolean): Promise<void>;
  applySettings(settings: BarcodeArSettings): Promise<void>;
  toJSONObject(): BarcodeArJSON;
  private attachedToContext;
  private detachedFromContext;
  private start;
  private stop;
  private pause;
  private workerCommand;
  private addPrivateListener;
  private removePrivateListener;
  private onWorkerMessage;
}
//#endregion
export { BarcodeArListener as n, PrivateBarcodeArListener as r, BarcodeAr as t };