import { FrameData, DataCaptureMode, DataCaptureContext, DataCaptureModeJSON, CameraSettings } from '@scandit/web-datacapture-core'; import { LabelCaptureFeedback } from './api/LabelCaptureFeedback.js'; import { LabelCaptureSettings } from './api/LabelCaptureSettings.js'; import { nativeHandle } from '@scandit/web-datacapture-core/build/js/private/nativeHandle.js'; import { LabelCaptureSession } from './api/LabelCaptureSession.js'; interface LabelCaptureListener { didStartObservingLabelCapture?(labelCapture: LabelCapture): void; didStopObservingLabelCapture?(labelCapture: LabelCapture): void; didUpdateSession?(labelCapture: LabelCapture, session: LabelCaptureSession, frameData: FrameData): void; } declare class LabelCapture implements DataCaptureMode { private skipSerialization; private [nativeHandle]; context: DataCaptureContext | null; private listeners; private _receiptScanningHandler; private workerListener; private _isEnabled; private _feedback; private constructor(); toJSONObject(): DataCaptureModeJSON; static createRecommendedCameraSettings(): CameraSettings; static forContext(context: DataCaptureContext, settings: LabelCaptureSettings): Promise; get feedback(): LabelCaptureFeedback; set feedback(feedback: LabelCaptureFeedback); isEnabled(): boolean; setEnabled(enabled: boolean): Promise; applySettings(settings: LabelCaptureSettings): Promise; addListener(listener: LabelCaptureListener): void; removeListener(listener: LabelCaptureListener): void; private onWorkerMessage; private didStartObservingLabelCapture; private didStopObservingLabelCapture; private didUpdateSession; protected emitFeedback(): void; } export { LabelCapture as L, type LabelCaptureListener as a };