// Type definitions for Bowser 1.x
							 | 
						|
								// Project: https://github.com/lancedikson/bowser
							 | 
						|
								// Definitions by: Paulo Cesar <https://github.com/pocesar>
							 | 
						|
								// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
							 | 
						|
								
							 | 
						|
								declare const bowser: bowser.IBowser;
							 | 
						|
								export = bowser;
							 | 
						|
								export as namespace bowser;
							 | 
						|
								
							 | 
						|
								declare namespace bowser {
							 | 
						|
								    export interface IBowserPlatform {
							 | 
						|
								        ipad: boolean;
							 | 
						|
								        ipod: boolean;
							 | 
						|
								        iphone: boolean;
							 | 
						|
								        /** If a tablet device is detected, the flag tablet is set instead of mobile. */
							 | 
						|
								        tablet: boolean;
							 | 
						|
								        /** All detected mobile OSes are additionally flagged mobile, unless it's a tablet */
							 | 
						|
								        mobile: boolean;
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    export interface IBowserOS {
							 | 
						|
								        mac: boolean;
							 | 
						|
								        /**other than Windows Phone */
							 | 
						|
								        windows: boolean;
							 | 
						|
								        windowsphone: boolean;
							 | 
						|
								        /**other than android, chromeos, webos, tizen, and sailfish */
							 | 
						|
								        linux: boolean;
							 | 
						|
								        chromeos: boolean;
							 | 
						|
								        android: boolean;
							 | 
						|
								        /** also sets one of iphone/ipad/ipod */
							 | 
						|
								        ios: boolean;
							 | 
						|
								        blackberry: boolean;
							 | 
						|
								        firefoxos: boolean;
							 | 
						|
								        /** may also set touchpad */
							 | 
						|
								        webos: boolean;
							 | 
						|
								        bada: boolean;
							 | 
						|
								        tizen: boolean;
							 | 
						|
								        sailfish: boolean;
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    export interface IBowserVersions {
							 | 
						|
								        chrome: boolean;
							 | 
						|
								        chromium: boolean;
							 | 
						|
								        firefox: boolean;
							 | 
						|
								        msie: boolean;
							 | 
						|
								        msedge: boolean;
							 | 
						|
								        safari: boolean;
							 | 
						|
								        android: boolean;
							 | 
						|
								        ios: boolean;
							 | 
						|
								        opera: boolean;
							 | 
						|
								        samsungBrowser: boolean;
							 | 
						|
								        phantom: boolean;
							 | 
						|
								        blackberry: boolean;
							 | 
						|
								        webos: boolean;
							 | 
						|
								        silk: boolean;
							 | 
						|
								        bada: boolean;
							 | 
						|
								        tizen: boolean;
							 | 
						|
								        seamonkey: boolean;
							 | 
						|
								        sailfish: boolean;
							 | 
						|
								        ucbrowser: boolean;
							 | 
						|
								        qupzilla: boolean;
							 | 
						|
								        vivaldi: boolean;
							 | 
						|
								        sleipnir: boolean;
							 | 
						|
								        kMeleon: boolean;
							 | 
						|
								        whale: boolean;
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    export interface IBowserEngines {
							 | 
						|
								        /** IE <= 11 */
							 | 
						|
								        msie: boolean;
							 | 
						|
								        /**Chrome 0-27, Android <4.4, iOs, BB, etc. */
							 | 
						|
								        webkit: boolean;
							 | 
						|
								        /**Chrome >=28, Android >=4.4, Opera, etc. */
							 | 
						|
								        blink: boolean;
							 | 
						|
								        /**Firefox, etc. */
							 | 
						|
								        gecko: boolean;
							 | 
						|
								        /** IE > 11 */
							 | 
						|
								        msedge: boolean;
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    export interface IBowserGrade {
							 | 
						|
								        /** Grade A browser */
							 | 
						|
								        a: boolean;
							 | 
						|
								        /** Grade C browser */
							 | 
						|
								        c: boolean;
							 | 
						|
								        /** Grade X browser */
							 | 
						|
								        x: boolean;
							 | 
						|
								        /** A human readable name for this browser. E.g. 'Chrome', '' */
							 | 
						|
								        name: string;
							 | 
						|
								        /** Version number for the browser. E.g. '32.0' */
							 | 
						|
								        version: string|number;
							 | 
						|
								        /** Name for this operating system. E.g. 'macOS' */
							 | 
						|
								        osname: string;
							 | 
						|
								        /** Version number for this operating system. E.g. '10.12.6' */
							 | 
						|
								        osversion: string|number;
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    export interface IBowserDetection extends IBowserGrade, IBowserEngines, IBowserOS, IBowserVersions, IBowserPlatform { }
							 | 
						|
								
							 | 
						|
								    export interface IBowserMinVersions {
							 | 
						|
								        // { msie: "11", "firefox": "4" }
							 | 
						|
								        [index: string]: string;
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    export interface IBowser extends IBowserDetection {
							 | 
						|
								        (): IBowserDetection;
							 | 
						|
								        test(browserList: string[]): boolean;
							 | 
						|
								        _detect(ua: string): IBowser;
							 | 
						|
								        detect(ua: string): IBowser;
							 | 
						|
								        compareVersions(versions: string[]): number;
							 | 
						|
								        check(minVersions: IBowserMinVersions, strictMode?: boolean|string, ua?: string): Boolean;
							 | 
						|
								        isUnsupportedBrowser(minVersions: IBowserMinVersions, strictMode?: boolean|string, ua?: string): boolean;
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								}
							 |