import { DataCaptureOverlay, DataCaptureView } from '@scandit/web-datacapture-core';
import { Serializable } from '@scandit/web-datacapture-core/build/js/private/Serializable.js';
import { nativeHandle } from '@scandit/web-datacapture-core/build/js/private/nativeHandle.js';
import { A as AdaptiveRecognitionResult, N as NativeProxyHandle, L as LabelCaptureAdaptiveRecognitionSettings } from '../NativeProxy-BpXwaSl-.js';
import { L as LabelCapture } from '../LabelCapture-DrHOFOh1.js';
import '@scandit/web-datacapture-barcode';
import '@scandit/web-datacapture-core/build/js/worker/dataCaptureWorkerRelated';
import '../djinni-types/sdcBarcodeInternalSdkData.js';
import '../djinni-types/sdcBarcodeData.js';
import '../djinni-types/sdcCoreCommonGeometry.js';
import '../djinni-types/sdcCoreCommonBuffer.js';
import '../sdcLabelInternalModuleCapture-CxPSiq2o.js';
import '../djinni-types/sdcSymbologySettings.js';
import '../djinni-types/sdcCoreInternalSdkArea.js';
import '../djinni-types/sdcCoreInternalSdkCommonGeometry.js';
import '../djinni-types/sdcCoreCommonGraphic.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/sdcCoreInternalSdkUiViewfinder.js';
import '../djinni-types/sdcCoreInternalSdkCommonGraphics.js';
import '../djinni-types/sdcLabelInternalModuleUiOverlay.js';
import '../djinni-types/sdcCoreInternalSdkCapture.js';
import '../djinni-types/sdcCoreInternalSdkUiStyle.js';
import './AdaptiveRecognitionMode.js';
import './CapturedLabel.js';
import './LabelField.js';
import './LabelFieldState.js';
import './LabelFieldType.js';
import './LabelFieldValueType.js';
import './LabelDateResult.js';
import './LabelCaptureSession.js';
import './LabelDateFormat.js';
import './LabelDateComponentFormat.js';
import './LabelFieldLocationType.js';
import './ReceiptScanningLineItem.js';
import './ValidationFlowField.js';
import './LabelCaptureFeedback.js';
import '@scandit/web-datacapture-core/build/js/private/Serializable';
import './LabelCaptureSettings.js';
import './LabelDefinition.js';
import './ImeiOneBarcode.js';
import './BarcodeField.js';
import './LabelFieldDefinition.js';
import './ImeiTwoBarcode.js';
import './PackingDateText.js';
import './TextField.js';
import './PartNumberBarcode.js';
import './SerialNumberBarcode.js';
import './TotalPriceText.js';
import './UnitPriceText.js';
import './WeightText.js';
import './CustomBarcode.js';
import './LabelFieldLocation.js';
import './CustomText.js';
import './DateText.js';
import './ExpiryDateText.js';

interface LabelCaptureAdaptiveRecognitionOverlayJSON {
    type: "AdaptiveRecognitionOverlay";
    nativeHandle: NativeProxyHandle;
}
interface LabelCaptureAdaptiveRecognitionListener {
    onRecognized?(result: AdaptiveRecognitionResult): void;
    onFailure?(): void;
}
/**
 * Overlay for displaying receipt scanning processing animation.
 * Shows visual feedback (animated border and scanning lines) during receipt processing.
 * Result and error displays are delegated to application listeners (following iOS/Android pattern).
 */
declare class LabelCaptureAdaptiveRecognitionOverlay implements DataCaptureOverlay, Serializable<LabelCaptureAdaptiveRecognitionOverlayJSON> {
    [nativeHandle]: NativeProxyHandle;
    listener: LabelCaptureAdaptiveRecognitionListener | null;
    private labelCapture;
    private receiptScanningHandler;
    private dataCaptureView;
    private overlayElement;
    private onContextUpdatedListenerHandler;
    private handlerListener;
    private failedNotificationConfiguration;
    /**
     * TODO: flag to prevent multiple calls to the same method,
     * should be removed when the native implementation is fixed
     */
    private _isProcessing;
    private constructor();
    toJSONObject(): LabelCaptureAdaptiveRecognitionOverlayJSON;
    /**
     * Creates a receipt scanning overlay for the given label capture and view.
     * @param labelCapture - The label capture instance
     * @param view - The data capture view to attach the overlay to
     * @returns A new LabelCaptureAdaptiveRecognitionOverlay instance
     */
    static withLabelCaptureForView(labelCapture: LabelCapture, view?: DataCaptureView): Promise<LabelCaptureAdaptiveRecognitionOverlay>;
    private onProcessingStarted;
    private onReceiptScanned;
    private onReceiptScanningFailed;
    applySettings(settings: LabelCaptureAdaptiveRecognitionSettings): Promise<void>;
    private mount;
    private unmount;
    private onContextUpdatedListener;
    private setupUI;
    private showProcessingAnimation;
    private hideProcessingAnimation;
}

export { type LabelCaptureAdaptiveRecognitionListener, LabelCaptureAdaptiveRecognitionOverlay, type LabelCaptureAdaptiveRecognitionOverlayJSON };
