import { DataCaptureView, NumberWithUnit } from '@scandit/web-datacapture-core';
import { SparkScan } from '../SparkScan.js';
import { SparkScanBarcodeFeedback, SparkScanBarcodeErrorFeedback } from '../SparkScanBarcodeFeedback.js';
import { SparkScanScanningBehavior } from '../SparkScanScanningBehavior.js';
import { SparkScanViewSettings } from './SparkScanViewSettings.js';
import { SparkScanViewState } from './SparkScanViewState.js';
import '@scandit/web-datacapture-core/build/js/private/Serializable';
import '../SparkScanSession.js';
import '../../Barcode.js';
import '../../EncodingRange.js';
import '../../StructuredAppendData.js';
import '../SparkScanSettings.js';
import '../../ScanIntention.js';
import '../../SymbologySettings.js';
import './SparkScanMiniPreviewSize.js';
import '../SparkScanScanningMode.js';
import '../SparkScanPreviewBehavior.js';
import './SparkScanToastSettings.js';

declare class SparkScanOverlayManager {
    private settings;
    private sparkScanOverlay?;
    private smartScanSelectionOverlay?;
    constructor(settings: SparkScanViewSettings);
    get isReady(): boolean;
    prepareScanning(sparkScan: SparkScan, dataCaptureView: DataCaptureView, scanningBehavior: SparkScanScanningBehavior): Promise<void>;
    onSwitchToActiveState(previousState: SparkScanViewState, continuousModeEnabled: boolean, barcodeFeedback?: SparkScanBarcodeFeedback): Promise<void>;
    onSwitchToIdleState(): Promise<void>;
    setBrushForFeedback(barcodeFeedback: SparkScanBarcodeFeedback): Promise<void>;
    overlayReadyForDraw(): Promise<void>;
    onSwitchToErrorState(barcodeFeedback: SparkScanBarcodeErrorFeedback): Promise<void>;
    onSwitchedToSmartScanSelection(dataCaptureView?: DataCaptureView | null): Promise<void>;
    onSwitchedAwayFromSmartScanSelection(dataCaptureView?: DataCaptureView | null): Promise<void>;
    setShouldRemoveLocationsAfterScan(value: boolean): Promise<void>;
    setShouldDrawViewfinder(value: boolean): Promise<void>;
    setRadius(radius: NumberWithUnit): void;
    private setBrushToOverlays;
    private brushForFeedback;
}

export { SparkScanOverlayManager };
