import { Size, SizeJSON } from "@scandit/web-datacapture-core";
import { Serializable } from "@scandit/web-datacapture-core/build/js/private/Serializable";

//#region src/main/TrackedBarcodeView.d.ts
interface PrivateTrackedBarcodeView {
  data: string;
  getEncodedImageData: (element: HTMLElement) => string;
}
interface PrivateTrackedBarcodeViewOptions {
  size: Size;
  scale?: number;
}
interface TrackedBarcodeViewOptionsJSON {
  size: SizeJSON;
  scale?: number;
}
interface TrackedBarcodeViewOptions {
  size?: Size;
  scale?: number;
}
interface TrackedBarcodeViewJSON {
  data: string;
  options: TrackedBarcodeViewOptionsJSON;
}
declare class TrackedBarcodeView implements Serializable<TrackedBarcodeViewJSON> {
  private readonly data;
  private readonly options;
  private constructor();
  static withHTMLElement(element: HTMLElement, options: TrackedBarcodeViewOptions | null): Promise<TrackedBarcodeView>;
  static withBase64EncodedData(data: string, options: TrackedBarcodeViewOptions | null): Promise<TrackedBarcodeView>;
  private static getEncodedImageData;
  private static getSize;
  private static getSVGDataForElement;
  private static getCanvasWithSize;
  private static getBase64DataFromDataURL;
  toJSONObject(): TrackedBarcodeViewJSON;
}
//#endregion
export { TrackedBarcodeViewOptions as a, TrackedBarcodeViewJSON as i, PrivateTrackedBarcodeViewOptions as n, TrackedBarcodeView as r, PrivateTrackedBarcodeView as t };