import { f as FrameSource } from "../Camera-BKZMXwCV.js"; import { $n as Control, Qn as CameraFOVSwitchControl, Yn as TorchSwitchControl, Zn as CameraSwitchControl, i as DataCaptureContext, ir as DataCaptureView } from "../DataCaptureContext-CAmigtb7.js"; //#region src/main/private/ViewControls+related.d.ts interface PrivateControl { type: "camera-fov" | "camera" | "torch"; view: DataCaptureView | null; } interface TorchSwitchControlIcon { on: { idle: string | null; pressed: string | null; }; off: { idle: string | null; pressed: string | null; }; } interface CameraSwitchControlIcon { idle: string | null; pressed: string | null; } interface CameraFOVSwitchControlIcon { wide: { idle: string | null; pressed: string | null; }; ultraWide: { idle: string | null; pressed: string | null; }; } interface PrivateControlWidget { install: () => Promise; remove: (definitiveRemoval?: boolean) => void; } declare enum ButtonState { Idle = "idle", Pressed = "pressed" } declare abstract class ButtonControlWidget { protected domHost: HTMLElement; protected state: ButtonState; protected button: HTMLButtonElement | undefined; protected isHover: boolean; protected onTouchStartListener: (event?: Event) => void; protected onMouseEnterListener: (event?: Event) => void; protected onMouseLeaveListener: (event?: Event) => void; protected onClickListener: (event?: Event) => void; protected control: C; private controlTypeToAriaLabelMap; constructor(control: C, domHost: HTMLElement); protected get frameSource(): FrameSource | null | undefined; protected get context(): DataCaptureContext | null | undefined; install(): Promise; remove(definitiveRemoval?: boolean): void; protected hide(): void; protected show(): void; protected setupButton(): HTMLButtonElement; protected setup(): void; private onTouchStart; private onMouseEnter; private onMouseLeave; private onClick; private updateButtonBackground; protected abstract getImageFromState(): string | null; protected abstract buttonClicked(): Promise; protected abstract canShow(): Promise; } declare class PrivateTorchControlWidget extends ButtonControlWidget implements PrivateControlWidget { constructor(control: TorchSwitchControl, domHost: HTMLElement); protected buttonClicked(): Promise; protected canShow(): Promise; protected getImageFromState(): string | null; protected setup(): void; private isTorchAvailable; private retrieveTorchState; } declare class CameraSwitchControlWidget extends ButtonControlWidget implements PrivateControlWidget { private isTransitioning; constructor(control: CameraSwitchControl, domHost: HTMLElement); protected canShow(): Promise; protected getImageFromState(): string | null; protected buttonClicked(): Promise; protected setup(): void; private getNextDeviceCamera; private switchCameras; } declare class PrivateCameraFOVSwitchControlWidget extends ButtonControlWidget implements PrivateControlWidget { private isTransitioning; constructor(control: CameraFOVSwitchControl, domHost: HTMLElement); install(): Promise; protected canShow(): Promise; protected getImageFromState(): string | null; protected buttonClicked(): Promise; protected setup(): void; private setInitialCamera; private isUltraWideBackCamera; private getAlternativeCamera; private switchCameras; } //#endregion export { ButtonState, CameraFOVSwitchControlIcon, CameraSwitchControlIcon, CameraSwitchControlWidget, PrivateCameraFOVSwitchControlWidget, PrivateControl, PrivateControlWidget, PrivateTorchControlWidget, TorchSwitchControlIcon };