/**
 * Camera Service Module
 *
 * This module provides a factory-based approach to camera management across different
 * browsers and platforms. Each platform has its own specialized service implementation.
 *
 * Usage:
 * ```typescript
 * import { CameraServiceFactory } from './support/camera';
 *
 * const cameraService = CameraServiceFactory.create();
 * await cameraService.openCamera({ videoElementId: 'video' });
 * ```
 */
export { CameraServiceFactory } from './CameraServiceFactory';
export { BaseCameraService } from './services/BaseCameraService';
export { Camera } from './camera.domain';
export { FirefoxCameraService } from './services/FirefoxCameraService';
export { MobileCameraService } from './services/MobileCameraService';
export { MacSafariCameraService } from './services/MacSafariCameraService';
export { DesktopCameraService } from './services/DesktopCameraService';
export type { CameraOpenResult, OpenCameraProps, SwitchCameraResult, CameraFaceMode, FacingMode, ScreenOrientation, } from './camera.types';
export { checkDeviceIsVirtualCamera, getCameraList, getVideoConstraints, isFaceTimeCamera, isMobileBackCameraPortrait, calculateWidth, calculateHeight, calculateAspectRatio, createBestResolutionStream, createBasicVideoConstraints, createFirefoxVideoConstraints, createMacSafariVideoConstraints, getFilteredVideoDevices, getVideoInputDevices, filterDevicesByPattern, getExternalDevice, } from './camera.utils';
export { CAMERA_HEIGHT, CAMERA_WIDTH, CAMERA_LOW_RES_WIDTH, CAMERA_LOW_RES_HEIGHT } from './camera.constants';
export { CameraServiceFactory as default } from './CameraServiceFactory';
