import type { BrushJSON, DataCaptureOverlay, DataCaptureView, Viewfinder } from "scandit-web-datacapture-core";
import { Brush } from "scandit-web-datacapture-core";
import type { Serializable } from "scandit-web-datacapture-core/build/js/private/Serializable";
import type { BarcodeCapture } from "./BarcodeCapture";
export interface BarcodeCaptureOverlayJSON {
    type: "barcodeCapture";
    brush: BrushJSON;
    viewfinder: any;
    shouldShowScanAreaGuides: boolean;
    drawLocalizedOnlyBarcodes: boolean;
    style: BarcodeCaptureOverlayStyle;
}
export declare enum BarcodeCaptureOverlayStyle {
    Frame = "frame"
}
export declare class BarcodeCaptureOverlay implements DataCaptureOverlay, Serializable<BarcodeCaptureOverlayJSON> {
    readonly type = "barcodeCapture";
    _style: BarcodeCaptureOverlayStyle;
    private barcodeCapture;
    private _shouldShowScanAreaGuides;
    private _viewfinder;
    private _brush;
    get style(): BarcodeCaptureOverlayStyle;
    getBrush(): Brush;
    setBrush(brush: Brush): Promise<void>;
    getViewfinder(): Viewfinder | null;
    setViewfinder(viewfinder: Viewfinder | null): Promise<void>;
    shouldShowScanAreaGuides(): boolean;
    setShouldShowScanAreaGuides(shouldShowScanAreaGuides: boolean): Promise<void>;
    static withBarcodeCapture(barcodeCapture: BarcodeCapture): Promise<BarcodeCaptureOverlay>;
    static withBarcodeCaptureForView(barcodeCapture: BarcodeCapture, view: DataCaptureView | null): Promise<BarcodeCaptureOverlay>;
    static withBarcodeCaptureForViewWithStyle(barcodeCapture: BarcodeCapture, view: DataCaptureView | null, style: BarcodeCaptureOverlayStyle): Promise<BarcodeCaptureOverlay>;
    toJSONObject(): BarcodeCaptureOverlayJSON;
}
