| /** | 
|  * Return array of browsers by selection queries. | 
|  * | 
|  * ```js | 
|  * browserslist('IE >= 10, IE 8') //=> ['ie 11', 'ie 10', 'ie 8'] | 
|  * ``` | 
|  * | 
|  * @param queries Browser queries. | 
|  * @param opts Options. | 
|  * @returns Array with browser names in Can I Use. | 
|  */ | 
| declare function browserslist( | 
|   queries?: string | readonly string[] | null, | 
|   opts?: browserslist.Options | 
| ): string[] | 
|   | 
| declare namespace browserslist { | 
|   interface Query { | 
|     compose: 'or' | 'and' | 
|     type: string | 
|     query: string | 
|     not?: true | 
|   } | 
|   | 
|   interface Options { | 
|     /** | 
|      * Path to processed file. It will be used to find config files. | 
|      */ | 
|     path?: string | false | 
|     /** | 
|      * Processing environment. It will be used to take right queries | 
|      * from config file. | 
|      */ | 
|     env?: string | 
|     /** | 
|      * Custom browser usage statistics for "> 1% in my stats" query. | 
|      */ | 
|     stats?: Stats | string | 
|     /** | 
|      * Path to config file with queries. | 
|      */ | 
|     config?: string | 
|     /** | 
|      * Do not throw on unknown version in direct query. | 
|      */ | 
|     ignoreUnknownVersions?: boolean | 
|     /** | 
|      * Throw an error if env is not found. | 
|      */ | 
|     throwOnMissing?: boolean | 
|     /** | 
|      * Disable security checks for extend query. | 
|      */ | 
|     dangerousExtend?: boolean | 
|     /** | 
|      * Alias mobile browsers to the desktop version when Can I Use | 
|      * doesn’t have data about the specified version. | 
|      */ | 
|     mobileToDesktop?: boolean | 
|   } | 
|   | 
|   type Config = { | 
|     defaults: string[] | 
|     [section: string]: string[] | undefined | 
|   } | 
|   | 
|   interface Stats { | 
|     [browser: string]: { | 
|       [version: string]: number | 
|     } | 
|   } | 
|   | 
|   /** | 
|    * Browser names aliases. | 
|    */ | 
|   let aliases: { | 
|     [alias: string]: string | undefined | 
|   } | 
|   | 
|   /** | 
|    * Aliases to work with joined versions like `ios_saf 7.0-7.1`. | 
|    */ | 
|   let versionAliases: { | 
|     [browser: string]: | 
|       | { | 
|           [version: string]: string | undefined | 
|         } | 
|       | undefined | 
|   } | 
|   | 
|   /** | 
|    * Can I Use only provides a few versions for some browsers (e.g. `and_chr`). | 
|    * | 
|    * Fallback to a similar browser for unknown versions. | 
|    */ | 
|   let desktopNames: { | 
|     [browser: string]: string | undefined | 
|   } | 
|   | 
|   let data: { | 
|     [browser: string]: | 
|       | { | 
|           name: string | 
|           versions: string[] | 
|           released: string[] | 
|           releaseDate: { | 
|             [version: string]: number | undefined | null | 
|           } | 
|         } | 
|       | undefined | 
|   } | 
|   | 
|   let nodeVersions: string[] | 
|   | 
|   interface Usage { | 
|     [version: string]: number | 
|   } | 
|   | 
|   let usage: { | 
|     global?: Usage | 
|     custom?: Usage | null | 
|     [country: string]: Usage | undefined | null | 
|   } | 
|   | 
|   let cache: { | 
|     [feature: string]: { | 
|       [name: string]: 'y' | 'n' | 
|     } | 
|   } | 
|   | 
|   /** | 
|    * Default browsers query | 
|    */ | 
|   let defaults: readonly string[] | 
|   | 
|   /** | 
|    * Which statistics should be used. Country code or custom statistics. | 
|    * Pass `"my stats"` to load statistics from `Browserslist` files. | 
|    */ | 
|   type StatsOptions = string | 'my stats' | Stats | { dataByBrowser: Stats } | 
|   | 
|   /** | 
|    * Return browsers market coverage. | 
|    * | 
|    * ```js | 
|    * browserslist.coverage(browserslist('> 1% in US'), 'US') //=> 83.1 | 
|    * ``` | 
|    * | 
|    * @param browsers Browsers names in Can I Use. | 
|    * @param stats Which statistics should be used. | 
|    * @returns Total market coverage for all selected browsers. | 
|    */ | 
|   function coverage(browsers: readonly string[], stats?: StatsOptions): number | 
|   | 
|   /** | 
|    * Get queries AST to analyze the config content. | 
|    * | 
|    * @param queries Browser queries. | 
|    * @param opts Options. | 
|    * @returns An array of the data of each query in the config. | 
|    */ | 
|   function parse( | 
|     queries?: string | readonly string[] | null, | 
|     opts?: browserslist.Options | 
|   ): Query[] | 
|   | 
|   function clearCaches(): void | 
|   | 
|   function parseConfig(string: string): Config | 
|   | 
|   function readConfig(file: string): Config | 
|   | 
|   function findConfig(...pathSegments: string[]): Config | undefined | 
|   | 
|   interface LoadConfigOptions { | 
|     config?: string | 
|     path?: string | 
|     env?: string | 
|   } | 
|   | 
|   function loadConfig(options: LoadConfigOptions): string[] | undefined | 
| } | 
|   | 
| declare global { | 
|   namespace NodeJS { | 
|     interface ProcessEnv { | 
|       BROWSERSLIST?: string | 
|       BROWSERSLIST_CONFIG?: string | 
|       BROWSERSLIST_DANGEROUS_EXTEND?: string | 
|       BROWSERSLIST_DISABLE_CACHE?: string | 
|       BROWSERSLIST_ENV?: string | 
|       BROWSERSLIST_IGNORE_OLD_DATA?: string | 
|       BROWSERSLIST_STATS?: string | 
|     } | 
|   } | 
| } | 
|   | 
| export = browserslist |