import type { JSONType, LocationSelection, LocationSelectionJSON } from "scandit-web-datacapture-core";
import type { Serializable } from "scandit-web-datacapture-core/build/js/private/Serializable";
import type { CompositeType, Symbology, SymbologySettings, SymbologySettingsJSON } from "./Barcode";
export interface BarcodeCaptureSettingsJSON {
    codeDuplicateFilter: number;
    enabledCompositeTypes: any[];
    locationSelection: LocationSelectionJSON | null;
    symbologies: Record<Symbology, SymbologySettingsJSON>;
    properties: Record<string, JSONType>;
}
export declare class BarcodeCaptureSettings implements Serializable<BarcodeCaptureSettingsJSON> {
    codeDuplicateFilter: number;
    locationSelection: LocationSelection | null;
    enabledCompositeTypes: CompositeType[];
    private properties;
    private symbologies;
    constructor();
    private get compositeTypeDescriptions();
    get enabledSymbologies(): Symbology[];
    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(): BarcodeCaptureSettingsJSON;
}
