import { t as SparkScanPreviewBehavior } from "../../SparkScanPreviewBehavior-DUe7DkaL.js";
import { t as SparkScanViewSettings } from "../../SparkScanViewSettings-d9lkb1df.js";
import { Camera, CameraPosition, DataCaptureContext, TorchState } from "@scandit/web-datacapture-core";

//#region src/main/spark/ui/SparkScanCameraManager.d.ts
interface CameraCapabilities {
  isTorchAvailable: boolean;
  isZoomAvailable: boolean;
  cameraPosition: CameraPosition;
}
declare class SparkScanCameraManager {
  private context?;
  private toggleCameraPosition;
  get camera(): Camera | undefined;
  prepareScanning(context: DataCaptureContext, settings: SparkScanViewSettings): Promise<CameraCapabilities>;
  onSwitchToActiveState(torchState: TorchState): Promise<void>;
  onSwitchToInactiveState(previewBehavior: SparkScanPreviewBehavior): Promise<void>;
  onSwitchToIdleState(): Promise<void>;
  onSwitchToErrorState(): Promise<void>;
  stopScanning(): Promise<void>;
  onTorchButtonTap(torchState: TorchState): Promise<void>;
  onCameraSwitchButtonTap(): Promise<CameraCapabilities | undefined>;
  onMiniPreviewZoomButtonTap(zoomFactor: number): Promise<void>;
}
//#endregion
export { CameraCapabilities, SparkScanCameraManager };