import { t as SparkScan } from "../../SparkScan-ZI65oTyn.js";
import { t as SparkScanScanningBehavior } from "../../SparkScanScanningBehavior-DQLdEXPW.js";
import { t as SparkScanViewState } from "../../SparkScanViewState-QCAjXmlR.js";
import { r as SparkScanBarcodeFeedback, t as SparkScanBarcodeErrorFeedback } from "../../SparkScanBarcodeFeedback-C79-SSrQ.js";
import { t as SparkScanViewSettings } from "../../SparkScanViewSettings-d9lkb1df.js";
import { DataCaptureView, NumberWithUnit } from "@scandit/web-datacapture-core";

//#region src/main/spark/ui/SparkScanOverlayManager.d.ts
declare class SparkScanOverlayManager {
  private settings;
  private sparkScanOverlay?;
  private smartScanSelectionOverlay?;
  private lastSelectedBrushFromFeedback?;
  constructor(settings: SparkScanViewSettings);
  setViewSettings(settings: SparkScanViewSettings): void;
  get isReady(): boolean;
  prepareScanning(sparkScan: SparkScan, dataCaptureView: DataCaptureView, scanningBehavior: SparkScanScanningBehavior): Promise<void>;
  onSwitchToActiveState(previousState: SparkScanViewState, continuousModeEnabled: boolean, barcodeFeedback?: SparkScanBarcodeFeedback): Promise<void>;
  onSwitchToIdleState(): Promise<void>;
  setBrushForFeedback(barcodeFeedback: SparkScanBarcodeFeedback): Promise<void>;
  overlayReadyForDraw(): Promise<void>;
  onSwitchToErrorState(barcodeFeedback: SparkScanBarcodeErrorFeedback): Promise<void>;
  onSwitchedToSmartScanSelection(dataCaptureView?: DataCaptureView | null): Promise<void>;
  onSwitchedAwayFromSmartScanSelection(dataCaptureView?: DataCaptureView | null): Promise<void>;
  setShouldRemoveLocationsAfterScan(value: boolean): Promise<void>;
  setShouldDrawViewfinder(value: boolean): Promise<void>;
  setRadius(radius: NumberWithUnit): void;
  private setBrushToOverlays;
  private selectionCandidateBrush;
  private static defaultSelectionModeCandidateBrush;
  private brushForFeedback;
}
//#endregion
export { SparkScanOverlayManager };