import { B as BarcodeField, e as LabelFieldDefinition } from '../../../sdcLabelInternalModuleCapture-CxPSiq2o.js';
import { SymbologySettings } from '../../../djinni-types/sdcSymbologySettings.js';
import { N as NativeProxyHandle } from '../../../NativeProxy-BpXwaSl-.js';
import { LabelFieldDefinitionBaseProxy } from './LabelFieldDefinitionBaseProxy.js';
import '../../../djinni-types/sdcBarcodeData.js';
import '@scandit/web-datacapture-core/build/js/worker/dataCaptureWorkerRelated';
import '../../../djinni-types/sdcCoreInternalSdkArea.js';
import '../../../djinni-types/sdcCoreInternalSdkCommonGeometry.js';
import '../../../djinni-types/sdcCoreCommonGraphic.js';
import '../../../djinni-types/sdcCoreCommonGeometry.js';
import '../../../djinni-types/sdcCoreInternalSdkCommonAsync.js';
import '../../../djinni-types/sdcCoreInternalSdkOcr.js';
import '../../../djinni-types/sdcCoreCommon.js';
import '../../../djinni-types/sdcLabelData.js';
import '../../../djinni-types/sdcLabelInternalModuleData.js';
import '../../../djinni-types/sdcBarcodeInternalSdkData.js';
import '../../../djinni-types/sdcCoreCommonBuffer.js';
import '@scandit/web-datacapture-barcode';
import '../../../djinni-types/sdcCoreInternalSdkUiViewfinder.js';
import '../../../djinni-types/sdcCoreInternalSdkCommonGraphics.js';
import '../../../djinni-types/sdcLabelInternalModuleUiOverlay.js';
import '../../../djinni-types/sdcCoreInternalSdkCapture.js';
import '../../../djinni-types/sdcCoreInternalSdkUiStyle.js';
import '@scandit/web-datacapture-core';
import '../../../api/AdaptiveRecognitionMode.js';
import '../../../api/CapturedLabel.js';
import '../../../api/LabelField.js';
import '../../../api/LabelFieldState.js';
import '../../../api/LabelFieldType.js';
import '../../../api/LabelFieldValueType.js';
import '../../../api/LabelDateResult.js';
import '@scandit/web-datacapture-core/build/js/private/nativeHandle.js';
import '../../../api/LabelCaptureSession.js';
import '../../../api/LabelDateFormat.js';
import '../../../api/LabelDateComponentFormat.js';
import '../../../api/LabelFieldLocationType.js';
import '../../../api/ReceiptScanningLineItem.js';
import '../../../api/ValidationFlowField.js';

/**
 * Abstract base class for barcode field definition proxies.
 * Extends LabelFieldDefinitionBaseProxy to inherit common LabelFieldDefinition methods.
 *
 * Provides barcode-specific methods in addition to common field methods:
 * - Barcode-specific: getSymbologies(), setSymbologies()
 * - Polymorphic: asLabelFieldDefinition()
 *
 * Concrete implementations: CustomBarcodeProxy, ImeiOneBarcodeProxy, PartNumberBarcodeProxy, etc.
 */
declare abstract class BarcodeFieldProxyBase<T extends BarcodeField> extends LabelFieldDefinitionBaseProxy<T> {
    getSymbologies(handle: NativeProxyHandle): Promise<SymbologySettings[]>;
    setSymbologies(handle: NativeProxyHandle, symbologies: SymbologySettings[]): Promise<void>;
    abstract asLabelFieldDefinition(_handle: NativeProxyHandle): Promise<LabelFieldDefinition>;
}

export { BarcodeFieldProxyBase };
