import { t as SparkScanOverlayStyle } from "../SparkScanOverlayStyle-DN9ZBjx9.js";
import { t as SparkScan } from "../SparkScan-ZI65oTyn.js";
import { SparkScanTargetAimerViewfinderJSON } from "./SparkScanTargetAimerViewfinder.js";
import { Brush, BrushJSON, DataCaptureOverlay, DataCaptureView, NumberWithUnit } from "@scandit/web-datacapture-core";
import { Serializable } from "@scandit/web-datacapture-core/build/js/private/Serializable";

//#region src/main/spark/SparkScanOverlay.d.ts
interface SparkScanOverlayJSON {
  type: "sparkScan";
  brush: BrushJSON;
  errorBrush: BrushJSON;
  shouldShowScanAreaGuides: boolean;
  style: SparkScanOverlayStyle;
  viewfinder: SparkScanTargetAimerViewfinderJSON;
  shouldRemoveLocationsAfterScan: boolean;
  shouldDrawViewfinder: boolean;
}
declare class SparkScanOverlay implements DataCaptureOverlay, Serializable<SparkScanOverlayJSON> {
  private readonly type;
  private _brush;
  private _errorBrush?;
  private _shouldShowScanAreaGuides;
  private _shouldRemoveLocationsAfterScan;
  private _shouldDrawViewfinder;
  private _style;
  private _viewfinder;
  private sparkScan;
  get style(): SparkScanOverlayStyle;
  static withSparkScanForView(sparkScan: SparkScan, view: DataCaptureView | null): Promise<SparkScanOverlay>;
  setRadius(radius: NumberWithUnit): void;
  getBrush(): Brush;
  setBrush(brush: Brush): Promise<void>;
  overlayReadyForDraw(): Promise<void>;
  discardEnqueuedData(): Promise<void>;
  setErrorBrush(brush: Brush): Promise<void>;
  setShouldShowScanAreaGuides(shouldShowScanAreaGuides: boolean): Promise<void>;
  setShouldRemoveLocationsAfterScan(shouldRemoveLocationsAfterScan: boolean): Promise<void>;
  setShouldDrawViewfinder(shouldDrawViewfinder: boolean): Promise<void>;
  shouldShowScanAreaGuides(): boolean;
  shouldRemoveLocationsAfterScan(): boolean;
  toJSONObject(): SparkScanOverlayJSON;
}
//#endregion
export { SparkScanOverlay, SparkScanOverlayJSON };