import { ICameraService, CameraInfo } from './interfaces/ICameraService'; import { IEventBus } from './interfaces/IEventBus'; export declare class CameraService implements ICameraService { private eventBus; private availableCameras; private selectedCameraId; private deviceType; private preferredCameraFacing; private preferredCamera; private static cameraCapabilitiesCache; private static deviceEnumerationCache; private static readonly CACHE_DURATION; private currentStreamPromise?; private lastStreamConstraints?; constructor(eventBus: IEventBus, preferredCamera?: 'auto' | 'front' | 'back'); detectDeviceType(): Promise<'mobile' | 'desktop' | 'tablet'>; enumerateDevices(): Promise; getAvailableCameras(): MediaDeviceInfo[]; isMultipleCamerasAvailable(): boolean; getSelectedCameraId(): string | null; setSelectedCamera(cameraId: string): Promise; getPreferredFacing(): 'environment' | 'user' | null; setupCamera(constraints?: MediaTrackConstraints): Promise; switchCamera(cameraId: string): Promise; isRearCamera(stream: MediaStream): boolean; getCameraInfo(): Promise<{ availableCameras: CameraInfo[]; selectedCameraId: string | null; deviceType: string; isMultipleCamerasAvailable: boolean; preferredFacing: 'environment' | 'user' | null; }>; private checkCameraPermission; private handleCameraPermissionError; private setInitialCameraPreference; private checkCameraAutofocus; private selectFrontCamera; private selectBackCamera; private selectAutoCamera; private updatePreferredFacing; private getMaxResolution; private constraintsEqual; static clearCaches(): void; invalidateDeviceCache(): void; private isVirtualCamera; }