import UAParser from 'ua-parser-js';
import { FacingMode } from './types';
export declare function getUserAgent(): string | null | undefined;
export declare function parseUserAgent(): UAParser.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 const 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;
    };
};
