UNPKG

@privateid/ultra-web-sdk-alpha

Version:
132 lines (131 loc) 5.95 kB
/// <reference types="ua-parser-js" /> import { CameraFaceMode, CameraOpenResult, FacingMode, ScreenOrientation } from './camera.types'; export declare function getScreenOrientation(): ScreenOrientation; export declare function getUserAgent(): string | undefined; export declare function parseUserAgent(): import("ua-parser-js").IResult; export declare function isPortrait(): boolean; export declare function isBackCameraAndPortrait(faceMode: FacingMode): boolean; export declare function isMobileUA(): boolean; export declare function isFirefoxUA(): boolean; export declare function isSafariUA(): boolean; export declare function isChromeUA(): boolean; export declare function isSamsungUA(): boolean; export declare function isAndroid(): boolean; /** * See https://developer.chrome.com/docs/multidevice/user-agent/#webview_user_agent * This onloy detects the WebView after Android 4.4. It'd return false for older * Android version. */ export declare function isAndroidWebView(): boolean; export declare function isAndroid12OrAbove(): boolean; export declare function isIOSUA(): boolean; export declare function getMajorAndroidVersion(): number; export declare function getMajorSafariVersion(): number; export declare function getMajorChromeVersion(): number; export declare function getMajorIOSVersion(): number; export declare function getMajorMinorOsVersion(): string; export declare function isWindows(): boolean; export declare function isMac(): boolean; export declare function isLinux(): boolean; export declare function getPlatform(): string; export declare function isMobileDevice(): boolean; export declare function isIOSDesktop(): boolean; export declare function isIOS(): boolean; export declare function isIOS15OrGreater(): boolean; export declare function isAndroidDesktop(): boolean; export declare const isMobileBackCameraPortrait: ({ label, facingMode }: { label: string; facingMode: FacingMode[]; }) => boolean; export declare function isFaceTimeCamera(label: string, isDocumentScan: boolean): boolean; export declare const getCameraList: (backOnly: boolean) => Promise<Array<any>>; export declare const getVideoConstraints: (availableDevices?: Array<any> | null, faceMode?: FacingMode, requireHD?: boolean, isDocumentScan?: boolean, canvasResolution?: { width: number; height: number; }, hasError?: boolean) => { audio: boolean; video: { facingMode: FacingMode; resizeMode: string; width: number | { ideal: number; }; height: number | { ideal: number; min?: undefined; }; deviceId: any; aspectRatio: number; focusMode: string; }; } | { audio: boolean; video: { aspectRatio: number; height: { min: number; ideal?: undefined; }; resizeMode: string; facingMode?: undefined; width?: undefined; deviceId?: undefined; focusMode?: undefined; }; }; export declare function scaleImageData(imageData: any, scaleFactor: number): ImageData; export declare function zoomInCanvasImage(canvas: any, scaleFactor: number): ImageData; export declare const checkDeviceIsVirtualCamera: (deviceLabel: string) => boolean; export declare function getFilteredVideoDevices(): Promise<MediaDeviceInfo[]>; export declare function getVideoInputDevices(): Promise<MediaDeviceInfo[]>; export declare function filterDevicesByPattern(devices: MediaDeviceInfo[], pattern: RegExp): MediaDeviceInfo[]; export declare function getExternalDevice(devices: MediaDeviceInfo[]): MediaDeviceInfo | undefined; export declare function isWindowsDevice(): boolean; export declare function getDefaultDevice(devices: MediaDeviceInfo[], deviceId: string): any[]; export declare function getBestResolution(isMacFaceTimeCamera: boolean, deviceCapabilites: any[], canvasResolution?: { width: number; height: number; } | null): Promise<MediaStream>; /** * This function open camera, and returns the stream, current faceMode and the list of available media devices * @category Face * @param domElement id of the video tag */ export declare function getTheNextResolutionAvailable(currentResolution: number): number; export declare function startVideo(videoElement: string, stream: MediaStream): Promise<void>; export declare function enableMutationObserver(videoElement: HTMLVideoElement, stream: MediaStream): void; export declare function getDevicesWithCapabilities(devices: MediaDeviceInfo[]): MediaDeviceInfo[]; export declare function calculateWidth(canvasResolution: { width: number; height: number; } | null, isPortraitMobileCamera: boolean, resolution: number): number; export declare function calculateHeight(canvasResolution: { width: number; height: number; } | null): number; export declare function calculateAspectRatio(canvasResolution: { width: number; height: number; } | null, isPortraitMobileCamera: boolean): 1 | 1.7777777778; export declare function createBasicVideoConstraints(options: { deviceId?: string; width?: number; height?: number; aspectRatio?: number; facingMode?: string; focusMode?: string; resizeMode?: string; }): MediaStreamConstraints; export declare function createFirefoxVideoConstraints(faceMode: CameraFaceMode, canvasResolution?: { width: number; height: number; } | null): MediaStreamConstraints; export declare function createMacSafariVideoConstraints(deviceId: string, resolution: number, canvasResolution?: { width: number; height: number; } | null): MediaStreamConstraints; export declare function createBestResolutionStream(deviceCapabilites: any[], canvasResolution?: { width: number; height: number; } | null): Promise<MediaStream>; export declare function prepareCameraResult(stream: MediaStream, devices: MediaDeviceInfo[], faceMode: CameraFaceMode | null, videoElement: string): Promise<CameraOpenResult>;