import { Plugin } from 'vue';
import { IResult } from 'ua-parser-js';

declare module '@vue/runtime-core' {
  export interface GlobalComponents {
    BrowserView: void
    ChromeView: void
    EdgeView: void
    MobileView: void
    WindowsView: void
    SafariView: void
    AndroidView: void
  }
}

declare const vueDeviceDetect: Plugin;

declare function parseUA(userAgent: string): IResult;

declare const isSmartTV: boolean;
declare const isConsole: boolean;
declare const isWearable: boolean;
declare const isEmbedded: boolean;
declare const isMobileSafari: boolean | "";
declare const isChromium: boolean;
declare const isMobile: boolean | "";
declare const isMobileOnly: boolean;
declare const isTablet: boolean | "";
declare const isBrowser: boolean;
declare const isDesktop: boolean;
declare const isAndroid: boolean;
declare const isWinPhone: boolean;
declare const isIOS: boolean | "";
declare const isChrome: boolean;
declare const isFirefox: boolean;
declare const isSafari: boolean;
declare const isOpera: boolean;
declare const isIE: boolean;
declare const osVersion: string;
declare const osName: string;
declare const fullBrowserVersion: string;
declare const browserVersion: string;
declare const browserName: string;
declare const mobileVendor: string;
declare const mobileModel: string;
declare const engineName: string;
declare const engineVersion: string;
declare const isEdge: boolean;
declare const isYandex: boolean;
declare const deviceType: string;
declare const isIOS13: boolean;
declare const isIPad13: boolean | "";
declare const isIPhone13: boolean | "";
declare const isIPod13: boolean | "";
declare const isElectron: boolean;
declare const isEdgeChromium: boolean;
declare const isLegacyEdge: boolean;
declare const isWindows: boolean;
declare const isMacOs: boolean;
declare const isMIUI: boolean;
declare const isSamsungBrowser: boolean;

export { browserName, browserVersion, deviceType, engineName, engineVersion, fullBrowserVersion, isAndroid, isBrowser, isChrome, isChromium, isConsole, isDesktop, isEdge, isEdgeChromium, isElectron, isEmbedded, isFirefox, isIE, isIOS, isIOS13, isIPad13, isIPhone13, isIPod13, isLegacyEdge, isMIUI, isMacOs, isMobile, isMobileOnly, isMobileSafari, isOpera, isSafari, isSamsungBrowser, isSmartTV, isTablet, isWearable, isWinPhone, isWindows, isYandex, mobileModel, mobileVendor, osName, osVersion, parseUA, vueDeviceDetect };
