@privateid/ultra-web-sdk-alpha
Version:
CryptoNets WebAssembly SDK
132 lines (131 loc) • 5.95 kB
TypeScript
/// <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>;