import { DataCaptureContextListener, DataCaptureContext, Feedback, Point, FrameSource } from '@scandit/web-datacapture-core';
import { SparkScanViewSessionStopReason } from '../SparkScanAnalyticsManager.js';
import { a as SparkScanView, S as SparkScanViewUiListener } from '../../SparkScanView-CInaxmG9.js';
import { SparkScanListener, SparkScan } from '../SparkScan.js';
import { SparkScanSession } from '../SparkScanSession.js';
import { SparkScanViewSettings } from './SparkScanViewSettings.js';
import '../SparkScanScanningMode.js';
import '@scandit/web-datacapture-core/build/js/private/Serializable';
import '../SparkScanPreviewBehavior.js';
import '../SparkScanScanningBehavior.js';
import './SparkScanViewHandMode.js';
import '@scandit/web-datacapture-core/build/js/private/utils/index.js';
import '../SparkScanFeedbackDelegate.js';
import '../../Barcode.js';
import '../../EncodingRange.js';
import '../../StructuredAppendData.js';
import '../SparkScanBarcodeFeedback.js';
import './constants/tags.js';
import './SparkScanViewState.js';
import '../SparkScanSettings.js';
import '../../ScanIntention.js';
import '../../SymbologySettings.js';
import './SparkScanMiniPreviewSize.js';
import './SparkScanToastSettings.js';

declare class SparkScanViewPresenter implements SparkScanListener, DataCaptureContextListener {
    private context;
    private dataCaptureView;
    private cameras;
    private camera?;
    private sparkScan;
    private sparkScanOverlay?;
    private sparkScanViewSettings;
    private sparkScanView;
    private feedbackManager;
    private preferenceManager;
    private stateManager;
    private triggerButtonCollapseTimeout;
    private inactiveStateTimeout;
    private resumeCapturingTimeout?;
    private scanningBehaviorCache?;
    private defaultSuccessBrush;
    private defaultErrorBrush;
    private listener?;
    private analyticsManager;
    private stateTimeouts;
    private constructor();
    get portraitOrientationTriggerButtonTranslateX(): number;
    get portraitOrientationTriggerButtonTranslateY(): number;
    get landscapeOrientationTriggerButtonTranslateX(): number;
    get landscapeOrientationTriggerButtonTranslateY(): number;
    get portraitOrientationMiniPreviewTranslateX(): number;
    get portraitOrientationMiniPreviewTranslateY(): number;
    get landscapeOrientationMiniPreviewTranslateX(): number;
    get landscapeOrientationMiniPreviewTranslateY(): number;
    private get defaultTriggerButtonTranslateX();
    private get defaultTriggerButtonTranslateY();
    private get defaultMiniPreviewTranslateX();
    private get parentViewSizes();
    private get defaultMiniPreviewTranslateY();
    static forView(view: SparkScanView, context: DataCaptureContext, sparkScan: SparkScan, sparkScanViewSettings: SparkScanViewSettings): SparkScanViewPresenter;
    prepareScanning(host: HTMLElement): Promise<void>;
    startScanning(): Promise<void>;
    pauseScanning(): Promise<void>;
    stopScanning(options: {
        sessionStopReason: SparkScanViewSessionStopReason;
    }): Promise<void>;
    onTriggerButtonPointerDown(): Promise<void>;
    onTriggerButtonTap(): Promise<void>;
    onTriggerButtonLongPressStart(): Promise<void>;
    onTriggerButtonLongPressEnd(): Promise<void>;
    onClickOutside(): Promise<void>;
    onVisibilityChange(): Promise<void>;
    onTargetModeButtonTap(targetModeEnabled: boolean, feedback?: Feedback, showToast?: boolean): Promise<void>;
    onScanningBehaviorButtonTap(continuousModeEnabled: boolean, feedback?: Feedback, showToast?: boolean): Promise<void>;
    onBarcodeFindButtonTap(): Promise<void>;
    onLabelCaptureButtonTap(): Promise<void>;
    onCameraSwitchButtonTap(): Promise<void>;
    onTorchButtonTap(torchEnabled: boolean, feedback?: Feedback, showToast?: boolean): Promise<void>;
    restartTimeouts(): void;
    onMiniPreviewCloseButtonTap(): Promise<void>;
    onMiniPreviewResizeButtonTap(): void;
    onMiniPreviewZoomButtonTap(zoomFactor: number): Promise<void>;
    onMiniPreviewDrag(translate: Point, orientation: OrientationType): Promise<void>;
    onMiniPreviewPointerMove(): void;
    onMiniPreviewPointerUp(): Promise<void>;
    onMiniPreviewDragEnd(): Promise<void>;
    onTriggerButtonDrag(translate: Point, orientation: OrientationType): void;
    onOrientationChange(): Promise<void>;
    didScan(_sparkScan: SparkScan, session: SparkScanSession): Promise<void>;
    didChangeFrameSource(_context: DataCaptureContext, frameSource: FrameSource | null): void;
    setListener(listener: SparkScanViewUiListener | null): void;
    private brushForFeedback;
    private switchToIdleState;
    private switchToActiveState;
    private switchToInactiveState;
    private switchToErrorState;
    private enableTargetModeLocationSelection;
    private enableTargetMode;
    private applyPreferences;
    private setState;
    private startTimeoutForCurrentState;
}

export { SparkScanViewPresenter };
