import { R as ResultOrError, V as ValidationFlowState, a as LabelResultUpdateType } from '../sdcLabelInternalModuleCapture-CxPSiq2o.js';
import { nativeHandle } from '@scandit/web-datacapture-core/build/js/private/nativeHandle.js';
import { D as DataCaptureCallbackMessage } from '../NativeProxy-BpXwaSl-.js';
import { ValidationFlowFieldJSON, ValidationFlowField } from './ValidationFlowField.js';
import '../djinni-types/sdcBarcodeData.js';
import '../djinni-types/sdcSymbologySettings.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 './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';

interface PrivateValidationFlowListener {
    onFieldsScanned?(fields: ValidationFlowField[]): void;
    onScanTimeout?(): Promise<void>;
    onLabelIsMissingRequiredField?(fields: ValidationFlowField[]): Promise<void>;
    onManualInput?(field: ValidationFlowField, oldValue: string | undefined, newValue: string): void;
    onStateChanged?(state: ValidationFlowState): Promise<void>;
    onCloudBackupServiceStarted?(): Promise<void>;
    onCloudBackupServiceStopped?(): void;
    onResultUpdate?(updateType: LabelResultUpdateType, fields: ValidationFlowField[]): void;
}
declare class PrivateValidationFlowHandler {
    private [nativeHandle];
    private labelCaptureWorkerManager;
    private validationFlowListeners;
    private onWorkerMessageHandler;
    private constructor();
    private static create;
    startCompleteLabelScan(name: string): Promise<void>;
    startPartialLabelScan(fieldNames: string[]): Promise<void>;
    updateFieldValue(name: string, value: string): Promise<boolean>;
    onFinishFlowRequested(): Promise<ResultOrError<ValidationFlowFieldJSON[], string>>;
    pauseScan(): Promise<void>;
    reset(): Promise<void>;
    resumeScan(): Promise<void>;
    validationFlowFields(): Promise<ValidationFlowField[]>;
    clearAllFields(): Promise<void>;
    cancelCloudBackupTaskForField(fieldName: string): Promise<void>;
    uncancelCloudBackupTaskForField(fieldName: string): Promise<void>;
    addListener(listener: PrivateValidationFlowListener): void;
    removeListener(listener: PrivateValidationFlowListener): void;
    onWorkerMessage(eventType: DataCaptureCallbackMessage): Promise<void>;
}

export { PrivateValidationFlowHandler, type PrivateValidationFlowListener };
