import type { BrushJSON, DataCaptureOverlay, DataCaptureView } from "@scandit/web-datacapture-core";
import { type Brush } from "@scandit/web-datacapture-core";
import type { Serializable } from "@scandit/web-datacapture-core/build/js/private/Serializable";
import { IdLayoutLineStyle, IdLayoutStyle } from "./Enums";
import type { IdCapture } from "./IdCapture";
export interface IdCaptureOverlayJSON {
    type: "idCapture";
    idLayoutStyle: IdLayoutStyle;
    idLayoutLineStyle: IdLayoutLineStyle;
    showTextHints: boolean;
    capturedBrush: BrushJSON;
    localizedBrush: BrushJSON;
    rejectedBrush: BrushJSON;
    frontSideTextHint: string;
    backSideTextHint: string;
    moveCloserTextHint: string;
    moveFurtherAwayTextHint: string;
    tapShutterToScanTextHint: string;
    lookingForDocumentTextHint: string;
    holdStillTextHint: string;
}
export declare class IdCaptureOverlay implements DataCaptureOverlay, Serializable<IdCaptureOverlayJSON> {
    private readonly type;
    private idCapture;
    private view?;
    private _idLayoutStyle;
    private readonly _defaultCapturedBrush;
    private readonly _defaultLocalizedBrush;
    private readonly _defaultRejectedBrush;
    private _capturedBrush;
    private _localizedBrush;
    private _rejectedBrush;
    private _idLayoutLineStyle;
    private _showTextHints;
    private _frontSideTextHint;
    private _backSideTextHint;
    private _moveCloserTextHint;
    private _moveFurtherAwayTextHint;
    private _tapShutterToScanTextHint;
    private _lookingForDocumentTextHint;
    private _holdStillTextHint;
    private shutterControl;
    private _cloudScanningAnimation;
    private onShutterPositionUpdateListener;
    private onShutterButtonStateChangedListener;
    private readonly onContextUpdatedListener;
    private readonly overlayListener;
    get idLayoutStyle(): IdLayoutStyle;
    set idLayoutStyle(style: IdLayoutStyle);
    get idLayoutLineStyle(): IdLayoutLineStyle;
    set idLayoutLineStyle(lineStyle: IdLayoutLineStyle);
    get showTextHints(): boolean;
    set showTextHints(showTextHints: boolean);
    get defaultCapturedBrush(): Brush;
    get defaultLocalizedBrush(): Brush;
    get defaultRejectedBrush(): Brush;
    static withIdCapture(idCapture: IdCapture): Promise<IdCaptureOverlay>;
    static withIdCaptureForView(idCapture: IdCapture, view: DataCaptureView | null): Promise<IdCaptureOverlay>;
    private showCloudProcessingAnimation;
    private hideCloudProcessingAnimation;
    /**
     * @deprecated 6.21.0
     */
    setFrontSideTextHint(hint: string): Promise<void>;
    /**
     * @deprecated 6.21.0
     */
    setBackSideTextHint(hint: string): Promise<void>;
    /**
     * @deprecated 6.21.0
     */
    setMoveCloserTextHint(hint: string): Promise<void>;
    /**
     * @deprecated 6.21.0
     */
    setMoveFurtherAwayTextHint(hint: string): Promise<void>;
    getCapturedBrush(): Brush;
    setCapturedBrush(brush: Brush): Promise<void>;
    getLocalizedBrush(): Brush;
    setLocalizedBrush(brush: Brush): Promise<void>;
    getRejectedBrush(): Brush;
    setRejectedBrush(brush: Brush): Promise<void>;
    toJSONObject(): IdCaptureOverlayJSON;
    private installShutterButton;
    private onContextUpdated;
    private onShutterPositionUpdate;
    private onShutterButtonStateChanged;
}
