import { n as ArucoDictionaryJSON, t as ArucoDictionary } from "./ArucoDictionary-DuC_Oe_h.js";
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, LocationSelection, LocationSelectionJSON } from "@scandit/web-datacapture-core";
import { Serializable } from "@scandit/web-datacapture-core/build/js/private/Serializable";

//#region src/main/BarcodeCaptureSettings.d.ts
interface BarcodeCaptureSettingsJSON {
  codeDuplicateFilter: number;
  enabledCompositeTypes: string[];
  locationSelection: LocationSelectionJSON | null;
  symbologies: Record<Symbology, SymbologySettingsJSON>;
  properties: Record<string, JSONType>;
  scanIntention: ScanIntention | null;
  selectionMode: SelectionMode | null;
  arucoDictionary: ArucoDictionaryJSON | null;
}
declare class BarcodeCaptureSettings implements Serializable<BarcodeCaptureSettingsJSON> {
  codeDuplicateFilter: number;
  locationSelection: LocationSelection | null;
  enabledCompositeTypes: CompositeType[];
  scanIntention?: ScanIntention;
  selectionMode?: SelectionMode;
  private properties;
  private symbologies;
  private _arucoDictionary;
  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;
  setArucoDictionary(dictionary: ArucoDictionary): void;
  toJSONObject(): BarcodeCaptureSettingsJSON;
}
//#endregion
export { BarcodeCaptureSettingsJSON as n, BarcodeCaptureSettings as t };