import { DataCaptureOverlay, BrushJSON, Optional, Brush, DataCaptureView, DataCaptureMode, DataCaptureModeJSON, CameraSettings, DataCaptureContext, PrivateDataCaptureMode } from '@scandit/web-datacapture-core'; import { Serializable } from '@scandit/web-datacapture-core/build/js/private/Serializable'; import { BarcodeBatchSession } from './BarcodeBatchSession.js'; import { BarcodeBatchSettingsJSON, BarcodeBatchSettings } from './BarcodeBatchSettings.js'; import { TrackedBarcode, TrackedBarcodeJSON } from './TrackedBarcode.js'; interface BarcodeBatchBasicOverlayListener { brushForTrackedBarcode?(overlay: BarcodeBatchBasicOverlay, trackedBarcode: TrackedBarcode): Optional; didTapTrackedBarcode?(overlay: BarcodeBatchBasicOverlay, trackedBarcode: TrackedBarcode): void; } declare enum BarcodeBatchBasicOverlayStyle { Frame = "frame", Dot = "dot" } interface BarcodeBatchBasicOverlayJSON { type: "barcodeTrackingBasic"; style: BarcodeBatchBasicOverlayStyle; shouldShowScanAreaGuides: boolean; brush: BrushJSON; brushesForBarcodes: Record; } declare class BarcodeBatchBasicOverlay implements DataCaptureOverlay, Serializable { private _listener; private privateListener; private readonly type; private _style; private barcodeBatch; private _shouldShowScanAreaGuides; private _brush; private _brushesForBarcodes; get style(): BarcodeBatchBasicOverlayStyle; get listener(): Optional; set listener(listener: Optional); get brush(): Brush; static withBarcodeBatch(barcodeBatch: BarcodeBatch): Promise; static withBarcodeBatchForView(barcodeBatch: BarcodeBatch, view: Optional): Promise; static withBarcodeBatchForViewWithStyle(barcodeBatch: BarcodeBatch, view: Optional, style: BarcodeBatchBasicOverlayStyle): Promise; setBrush(brush: Brush): Promise; shouldShowScanAreaGuides(): boolean; setShouldShowScanAreaGuides(shouldShowScanAreaGuides: boolean): Promise; setBrushForTrackedBarcode(brush: Brush, trackedBarcode: TrackedBarcode): Promise; clearTrackedBarcodeBrushes(): Promise; toJSONObject(): BarcodeBatchBasicOverlayJSON; } interface PrivateBarcodeBatchListener extends BarcodeBatchListener { didTapTrackedBarcode?(trackedBarcode: TrackedBarcodeJSON): void; } declare class PrivateBarcodeBatchBasicOverlayListener implements PrivateBarcodeBatchListener { private basicOverlay; constructor(basicOverlay: BarcodeBatchBasicOverlay); didTapTrackedBarcode(trackedBarcode: TrackedBarcodeJSON): void; didUpdateSession(_: BarcodeBatch, session: BarcodeBatchSession): void; } interface PrivateBarcodeBatch extends PrivateDataCaptureMode { notifyContext: () => Promise; addPrivateListener(listener: PrivateBarcodeBatchListener): void; } interface BarcodeBatchListener { didUpdateSession?(barcodeBatch: BarcodeBatch, session: BarcodeBatchSession): void; } type BarcodeBatchJSON = DataCaptureModeJSON; declare class BarcodeBatch implements DataCaptureMode, Serializable { private readonly type; private _isEnabled; private settings; private _context; private readonly listeners; private readonly privateListeners; private readonly workerMessageListener; static get recommendedCameraSettings(): CameraSettings; get context(): DataCaptureContext | null; private set context(value); static forContext(context: DataCaptureContext | null, settings: BarcodeBatchSettings): Promise; isEnabled(): boolean; setEnabled(enabled: boolean): Promise; applySettings(settings: BarcodeBatchSettings): Promise; addListener(listener: BarcodeBatchListener): void; removeListener(listener: BarcodeBatchListener): void; toJSONObject(): BarcodeBatchJSON; private attachedToContext; private detachedFromContext; private addPrivateListener; private removePrivateListener; private onWorkerMessage; private notifyContext; } export { BarcodeBatch as B, type PrivateBarcodeBatch as P, BarcodeBatchBasicOverlay as a, type BarcodeBatchBasicOverlayJSON as b, type BarcodeBatchBasicOverlayListener as c, BarcodeBatchBasicOverlayStyle as d, type BarcodeBatchListener as e, PrivateBarcodeBatchBasicOverlayListener as f, type PrivateBarcodeBatchListener as g };