import { a as CompositeType, s as Symbology } from "./Barcode-B7a-T3RA.js";
import { n as SymbologySettingsJSON, t as SymbologySettings } from "./SymbologySettings-DcULuhzx.js";
import { t as ScanIntention } from "./ScanIntention-BSTJBjPO.js";
import { t as SelectionMode } from "./SelectionMode-AuD4eRzF.js";
import { JSONType, LocationSelectionJSON } from "@scandit/web-datacapture-core";
import { Serializable } from "@scandit/web-datacapture-core/build/js/private/Serializable";

//#region src/main/spark/SparkScanSettings.d.ts
interface SparkScanSettingsJSON {
  codeDuplicateFilter: number;
  enabledCompositeTypes: string[];
  locationSelection: LocationSelectionJSON;
  symbologies: Record<Symbology, SymbologySettingsJSON>;
  properties: Record<string, JSONType>;
  scanIntention: ScanIntention | null;
  selectionMode: SelectionMode | null;
}
declare class SparkScanSettings implements Serializable<SparkScanSettingsJSON> {
  codeDuplicateFilter: number;
  enabledCompositeTypes: CompositeType[];
  scanIntention?: ScanIntention;
  selectionMode?: SelectionMode;
  private locationSelection;
  private properties;
  private symbologies;
  constructor();
  get enabledSymbologies(): Symbology[];
  private get compositeTypeDescriptions();
  settingsForSymbology(symbology: Symbology): SymbologySettings;
  setProperty(name: string, value: any): void;
  getProperty(name: string): any;
  enableSymbologies(symbologies: Symbology[]): void;
  enableSymbology(symbology: Symbology, enabled: boolean): void;
  enableSymbologiesForCompositeTypes(compositeTypes: CompositeType[]): void;
  toJSONObject(): SparkScanSettingsJSON;
}
//#endregion
export { SparkScanSettingsJSON as n, SparkScanSettings as t };