| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198 | /** * 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
 |