massive update, probably broken
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-tsserver / node_modules / typescript / lib / lib.es2020.intl.d.ts
index 179cd470dc735ce9d2af95b5b6885d7b593a13e6..fc274b2c537e448d19bf94b7d1483bf55f425feb 100644 (file)
@@ -21,38 +21,39 @@ and limitations under the License.
 declare namespace Intl {\r
 \r
     /**\r
-     * [BCP 47 language tag](http://tools.ietf.org/html/rfc5646) definition.\r
+     * [Unicode BCP 47 Locale Identifiers](https://unicode.org/reports/tr35/#Unicode_Language_and_Locale_Identifiers) definition.\r
      *\r
      * [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl#locales_argument).\r
-     *\r
-     * [Wikipedia](https://en.wikipedia.org/wiki/IETF_language_tag).\r
      */\r
-    type BCP47LanguageTag = string;\r
+    type UnicodeBCP47LocaleIdentifier = string;\r
 \r
     /**\r
      * Unit to use in the relative time internationalized message.\r
      *\r
      * [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/RelativeTimeFormat/format#Parameters).\r
-     *\r
-     * [Specification](https://tc39.es/ecma402/#sec-singularrelativetimeunit).\r
      */\r
     type RelativeTimeFormatUnit =\r
-        | "year" | "years"\r
-        | "quarter" | "quarters"\r
-        | "month" | "months"\r
-        | "week" | "weeks"\r
-        | "day" | "days"\r
-        | "hour" | "hours"\r
-        | "minute" | "minutes"\r
-        | "second" | "seconds"\r
-        ;\r
+        | "year"\r
+        | "years"\r
+        | "quarter"\r
+        | "quarters"\r
+        | "month"\r
+        | "months"\r
+        | "week"\r
+        | "weeks"\r
+        | "day"\r
+        | "days"\r
+        | "hour"\r
+        | "hours"\r
+        | "minute"\r
+        | "minutes"\r
+        | "second"\r
+        | "seconds";\r
 \r
     /**\r
      * The locale matching algorithm to use.\r
      *\r
      * [MDN](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Intl#Locale_negotiation).\r
-     *\r
-     * [Specification](https://tc39.es/ecma402/#sec-InitializeRelativeTimeFormat).\r
      */\r
     type RelativeTimeFormatLocaleMatcher = "lookup" | "best fit";\r
 \r
@@ -60,8 +61,6 @@ declare namespace Intl {
      * The format of output message.\r
      *\r
      * [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/RelativeTimeFormat/RelativeTimeFormat#Parameters).\r
-     *\r
-     * [Specification](https://tc39.es/ecma402/#sec-InitializeRelativeTimeFormat).\r
      */\r
     type RelativeTimeFormatNumeric = "always" | "auto";\r
 \r
@@ -69,36 +68,40 @@ declare namespace Intl {
      * The length of the internationalized message.\r
      *\r
      * [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/RelativeTimeFormat/RelativeTimeFormat#Parameters).\r
-     *\r
-     * [Specification](https://tc39.es/ecma402/#sec-InitializeRelativeTimeFormat).\r
      */\r
     type RelativeTimeFormatStyle = "long" | "short" | "narrow";\r
 \r
+    /**\r
+     * [BCP 47 language tag](http://tools.ietf.org/html/rfc5646) definition.\r
+     *\r
+     * [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl#locales_argument).\r
+     */\r
+    type BCP47LanguageTag = string;\r
+\r
     /**\r
      * An object with some or all of properties of `options` parameter\r
      * of `Intl.RelativeTimeFormat` constructor.\r
      *\r
      * [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/RelativeTimeFormat/RelativeTimeFormat#Parameters).\r
-     *\r
-     * [Specification](https://tc39.es/ecma402/#sec-InitializeRelativeTimeFormat).\r
      */\r
     interface RelativeTimeFormatOptions {\r
+        /** The locale matching algorithm to use. For information about this option, see [Intl page](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Intl#Locale_negotiation). */\r
         localeMatcher?: RelativeTimeFormatLocaleMatcher;\r
+        /** The format of output message. */\r
         numeric?: RelativeTimeFormatNumeric;\r
+        /** The length of the internationalized message. */\r
         style?: RelativeTimeFormatStyle;\r
     }\r
 \r
     /**\r
      * An object with properties reflecting the locale\r
      * and formatting options computed during initialization\r
-     * of the `Intel.RelativeTimeFormat` object\r
+     * of the `Intl.RelativeTimeFormat` object\r
      *\r
      * [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/RelativeTimeFormat/resolvedOptions#Description).\r
-     *\r
-     * [Specification](https://tc39.es/ecma402/#table-relativetimeformat-resolvedoptions-properties)\r
      */\r
     interface ResolvedRelativeTimeFormatOptions {\r
-        locale: BCP47LanguageTag;\r
+        locale: UnicodeBCP47LocaleIdentifier;\r
         style: RelativeTimeFormatStyle;\r
         numeric: RelativeTimeFormatNumeric;\r
         numberingSystem: string;\r
@@ -109,8 +112,6 @@ declare namespace Intl {
      * that can be used for custom locale-aware formatting.\r
      *\r
      * [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/RelativeTimeFormat/formatToParts#Using_formatToParts).\r
-     *\r
-     * [Specification](https://tc39.es/ecma402/#sec-FormatRelativeTimeToParts).\r
      */\r
     interface RelativeTimeFormatPart {\r
         type: string;\r
@@ -127,6 +128,7 @@ declare namespace Intl {
          *\r
          * While this method automatically provides the correct plural forms,\r
          * the grammatical form is otherwise as neutral as possible.\r
+         *\r
          * It is the caller's responsibility to handle cut-off logic\r
          * such as deciding between displaying "in 7 days" or "in 1 week".\r
          * This API does not support relative dates involving compound units.\r
@@ -134,68 +136,33 @@ declare namespace Intl {
          *\r
          * @param value -  Numeric value to use in the internationalized relative time message\r
          *\r
-         * @param unit - [Unit](https://tc39.es/ecma402/#sec-singularrelativetimeunit)\r
-         *  to use in the relative time internationalized message.\r
-         *  Possible values are: `"year"`, `"quarter"`, `"month"`, `"week"`,\r
-         *  `"day"`, `"hour"`, `"minute"`, `"second"`.\r
-         *  Plural forms are also permitted.\r
+         * @param unit - [Unit](https://tc39.es/ecma402/#sec-singularrelativetimeunit) to use in the relative time internationalized message.\r
          *\r
          * @throws `RangeError` if `unit` was given something other than `unit` possible values\r
          *\r
-         * @returns Internationalized relative time message as string\r
+         * @returns {string} Internationalized relative time message as string\r
          *\r
          * [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/RelativeTimeFormat/format).\r
-         *\r
-         * [Specification](https://tc39.es/ecma402/#sec-Intl.RelativeTimeFormat.prototype.format).\r
          */\r
-        format(\r
-            value: number,\r
-            unit: RelativeTimeFormatUnit,\r
-        ): string;\r
+        format(value: number, unit: RelativeTimeFormatUnit): string;\r
 \r
         /**\r
-         *  A version of the format method which it returns an array of objects\r
-         *  which represent "parts" of the object,\r
-         *  separating the formatted number into its constituent parts\r
-         *  and separating it from other surrounding text.\r
-         *  These objects have two properties:\r
-         * `type` a NumberFormat formatToParts type, and `value`,\r
-         *  which is the String which is the component of the output.\r
-         *  If a "part" came from NumberFormat,\r
-         *  it will have a unit property which indicates the `unit` being formatted;\r
-         *  literals which are part of the larger frame will not have this property.\r
+         *  Returns an array of objects representing the relative time format in parts that can be used for custom locale-aware formatting.\r
          *\r
          *  @param value - Numeric value to use in the internationalized relative time message\r
          *\r
-         *  @param unit - [Unit](https://tc39.es/ecma402/#sec-singularrelativetimeunit)\r
-         *   to use in the relative time internationalized message.\r
-         *   Possible values are: `"year"`, `"quarter"`, `"month"`, `"week"`,\r
-         *   `"day"`, `"hour"`, `"minute"`, `"second"`.\r
-         *   Plural forms are also permitted.\r
+         *  @param unit - [Unit](https://tc39.es/ecma402/#sec-singularrelativetimeunit) to use in the relative time internationalized message.\r
          *\r
          *  @throws `RangeError` if `unit` was given something other than `unit` possible values\r
          *\r
-         *  @returns Array of [FormatRelativeTimeToParts](https://tc39.es/ecma402/#sec-FormatRelativeTimeToParts)\r
-         *\r
          *  [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/RelativeTimeFormat/formatToParts).\r
-         *\r
-         *  [Specification](https://tc39.es/ecma402/#sec-Intl.RelativeTimeFormat.prototype.formatToParts).\r
          */\r
-        formatToParts(\r
-            value: number,\r
-            unit: RelativeTimeFormatUnit,\r
-        ): RelativeTimeFormatPart[];\r
+        formatToParts(value: number, unit: RelativeTimeFormatUnit): RelativeTimeFormatPart[];\r
 \r
         /**\r
          * Provides access to the locale and options computed during initialization of this `Intl.RelativeTimeFormat` object.\r
          *\r
-         * @returns A new object with properties reflecting the locale\r
-         *  and formatting options computed during initialization\r
-         *  of the `Intel.RelativeTimeFormat` object.\r
-         *\r
          * [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/RelativeTimeFormat/resolvedOptions).\r
-         *\r
-         * [Specification](https://tc39.es/ecma402/#sec-intl.relativetimeformat.prototype.resolvedoptions)\r
          */\r
         resolvedOptions(): ResolvedRelativeTimeFormatOptions;\r
     }\r
@@ -204,44 +171,25 @@ declare namespace Intl {
      * The [`Intl.RelativeTimeFormat`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/RelativeTimeFormat)\r
      * object is a constructor for objects that enable language-sensitive relative time formatting.\r
      *\r
-     * Part of [Intl object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl)\r
-     * namespace and the [ECMAScript Internationalization API](https://www.ecma-international.org/publications/standards/Ecma-402.htm).\r
-     *\r
      * [Compatibility](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/RelativeTimeFormat#Browser_compatibility).\r
-     *\r
-     * [Polyfills](https://github.com/tc39/proposal-intl-relative-time#polyfills).\r
      */\r
     const RelativeTimeFormat: {\r
         /**\r
-         * Constructor creates [Intl.RelativeTimeFormat](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RelativeTimeFormat)\r
-         * objects\r
+         * Creates [Intl.RelativeTimeFormat](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RelativeTimeFormat) objects\r
          *\r
          * @param locales - A string with a [BCP 47 language tag](http://tools.ietf.org/html/rfc5646), or an array of such strings.\r
          *  For the general form and interpretation of the locales argument,\r
          *  see the [`Intl` page](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl#Locale_identification_and_negotiation).\r
          *\r
          * @param options - An [object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/RelativeTimeFormat/RelativeTimeFormat#Parameters)\r
-         *  with some or all of options of the formatting.\r
-         *  An object with some or all of the following properties:\r
-         *  - `localeMatcher` - The locale matching algorithm to use.\r
-         *    Possible values are `"lookup"` and `"best fit"`; the default is `"best fit"`.\r
-         *    For information about this option, see [Intl page](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Intl#Locale_negotiation).\r
-         *  - `numeric` - The format of output message.\r
-         *    Possible values are: `"always"` (default, e.g., `1 day ago`) or `"auto"` (e.g., `yesterday`).\r
-         *    The `"auto"` value allows to not always have to use numeric values in the output.\r
-         *  - `style` - The length of the internationalized message. Possible values are:\r
-         *    `"long"` (default, e.g., in 1 month),\r
-         *    `"short"` (e.g., in 1 mo.)\r
-         *    or `"narrow"` (e.g., in 1 mo.). The narrow style could be similar to the short style for some locales.\r
+         *  with some or all of options of `RelativeTimeFormatOptions`.\r
          *\r
          * @returns [Intl.RelativeTimeFormat](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RelativeTimeFormat) object.\r
          *\r
          * [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/RelativeTimeFormat/RelativeTimeFormat).\r
-         *\r
-         * [Specification](https://tc39.es/ecma402/#sec-intl-relativetimeformat-constructor).\r
          */\r
         new(\r
-            locales?: BCP47LanguageTag | BCP47LanguageTag[],\r
+            locales?: UnicodeBCP47LocaleIdentifier | UnicodeBCP47LocaleIdentifier[],\r
             options?: RelativeTimeFormatOptions,\r
         ): RelativeTimeFormat;\r
 \r
@@ -256,55 +204,165 @@ declare namespace Intl {
          *\r
          * @param options - An [object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/RelativeTimeFormat/RelativeTimeFormat#Parameters)\r
          *  with some or all of options of the formatting.\r
-         *  An object with some or all of the following properties:\r
-         *  - `localeMatcher` - The locale matching algorithm to use.\r
-         *    Possible values are `"lookup"` and `"best fit"`; the default is `"best fit"`.\r
-         *    For information about this option, see [Intl page](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Intl#Locale_negotiation).\r
-         *  - `numeric` - The format of output message.\r
-         *    Possible values are: `"always"` (default, e.g., `1 day ago`) or `"auto"` (e.g., `yesterday`).\r
-         *    The `"auto"` value allows to not always have to use numeric values in the output.\r
-         *  - `style` - The length of the internationalized message. Possible values are:\r
-         *    `"long"` (default, e.g., in 1 month),\r
-         *    `"short"` (e.g., in 1 mo.)\r
-         *    or `"narrow"` (e.g., in 1 mo.). The narrow style could be similar to the short style for some locales.\r
          *\r
          * @returns An array containing those of the provided locales\r
          *  that are supported in date and time formatting\r
          *  without having to fall back to the runtime's default locale.\r
          *\r
          * [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/RelativeTimeFormat/supportedLocalesOf).\r
-         *\r
-         * [Specification](https://tc39.es/ecma402/#sec-Intl.RelativeTimeFormat.supportedLocalesOf).\r
          */\r
         supportedLocalesOf(\r
-            locales: BCP47LanguageTag | BCP47LanguageTag[],\r
+            locales?: UnicodeBCP47LocaleIdentifier | UnicodeBCP47LocaleIdentifier[],\r
             options?: RelativeTimeFormatOptions,\r
-        ): BCP47LanguageTag[];\r
+        ): UnicodeBCP47LocaleIdentifier[];\r
     };\r
 \r
     interface NumberFormatOptions {\r
-        compactDisplay?: string;\r
-        notation?: string;\r
-        signDisplay?: string;\r
-        unit?: string;\r
-        unitDisplay?: string;\r
+        compactDisplay?: "short" | "long" | undefined;\r
+        notation?: "standard" | "scientific" | "engineering" | "compact" | undefined;\r
+        signDisplay?: "auto" | "never" | "always" | undefined;\r
+        unit?: string | undefined;\r
+        unitDisplay?: "short" | "long" | "narrow" | undefined;\r
     }\r
 \r
     interface ResolvedNumberFormatOptions {\r
-        compactDisplay?: string;\r
-        notation?: string;\r
-        signDisplay?: string;\r
+        compactDisplay?: "short" | "long";\r
+        notation?: "standard" | "scientific" | "engineering" | "compact";\r
+        signDisplay?: "auto" | "never" | "always";\r
         unit?: string;\r
-        unitDisplay?: string;\r
+        unitDisplay?: "short" | "long" | "narrow";\r
     }\r
 \r
     interface DateTimeFormatOptions {\r
-        dateStyle?: "full" | "long" | "medium" | "short";\r
-        timeStyle?: "full" | "long" | "medium" | "short";\r
+        calendar?: string | undefined;\r
+        dayPeriod?: "narrow" | "short" | "long" | undefined;\r
+        numberingSystem?: string | undefined;\r
+\r
+        dateStyle?: "full" | "long" | "medium" | "short" | undefined;\r
+        timeStyle?: "full" | "long" | "medium" | "short" | undefined;\r
+        hourCycle?: "h11" | "h12" | "h23" | "h24" | undefined;\r
+    }\r
+\r
+    type LocaleHourCycleKey = "h12" | "h23" | "h11" | "h24";\r
+    type LocaleCollationCaseFirst = "upper" | "lower" | "false";\r
+\r
+    interface LocaleOptions {\r
+        /** A string containing the language, and the script and region if available. */\r
+        baseName?: string;\r
+        /** The part of the Locale that indicates the locale's calendar era. */\r
         calendar?: string;\r
-        dayPeriod?: "narrow" | "short" | "long";\r
+        /** Flag that defines whether case is taken into account for the locale's collation rules. */\r
+        caseFirst?: LocaleCollationCaseFirst;\r
+        /** The collation type used for sorting */\r
+        collation?: string;\r
+        /** The time keeping format convention used by the locale. */\r
+        hourCycle?: LocaleHourCycleKey;\r
+        /** The primary language subtag associated with the locale. */\r
+        language?: string;\r
+        /** The numeral system used by the locale. */\r
         numberingSystem?: string;\r
-        hourCycle?: "h11" | "h12" | "h23" | "h24";\r
-        fractionalSecondDigits?: 0 | 1 | 2 | 3;\r
+        /** Flag that defines whether the locale has special collation handling for numeric characters. */\r
+        numeric?: boolean;\r
+        /** The region of the world (usually a country) associated with the locale. Possible values are region codes as defined by ISO 3166-1. */\r
+        region?: string;\r
+        /** The script used for writing the particular language used in the locale. Possible values are script codes as defined by ISO 15924. */\r
+        script?: string;\r
     }\r
+\r
+    interface Locale extends LocaleOptions {\r
+        /** Gets the most likely values for the language, script, and region of the locale based on existing values. */\r
+        maximize(): Locale;\r
+        /** Attempts to remove information about the locale that would be added by calling `Locale.maximize()`. */\r
+        minimize(): Locale;\r
+        /** Returns the locale's full locale identifier string. */\r
+        toString(): BCP47LanguageTag;\r
+    }\r
+\r
+    /**\r
+     * Constructor creates [Intl.Locale](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Locale)\r
+     * objects\r
+     *\r
+     * @param tag - A string with a [BCP 47 language tag](http://tools.ietf.org/html/rfc5646).\r
+     *  For the general form and interpretation of the locales argument,\r
+     *  see the [`Intl` page](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl#Locale_identification_and_negotiation).\r
+     *\r
+     * @param options - An [object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Locale/Locale#Parameters) with some or all of options of the locale.\r
+     *\r
+     * @returns [Intl.Locale](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Locale) object.\r
+     *\r
+     * [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Locale).\r
+     */\r
+    const Locale: {\r
+        new (tag?: BCP47LanguageTag, options?: LocaleOptions): Locale;\r
+    };\r
+\r
+     interface DisplayNamesOptions {\r
+        localeMatcher: RelativeTimeFormatLocaleMatcher;\r
+        style: RelativeTimeFormatStyle;\r
+        type: "language" | "region" | "script" | "currency";\r
+        fallback: "code" | "none";\r
+    }\r
+\r
+    interface DisplayNames {\r
+        /**\r
+         * Receives a code and returns a string based on the locale and options provided when instantiating\r
+         * [`Intl.DisplayNames()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DisplayNames)\r
+         *\r
+         * @param code The `code` to provide depends on the `type` passed to display name during creation:\r
+         *  - If the type is `"region"`, code should be either an [ISO-3166 two letters region code](https://www.iso.org/iso-3166-country-codes.html),\r
+         *    or a [three digits UN M49 Geographic Regions](https://unstats.un.org/unsd/methodology/m49/).\r
+         *  - If the type is `"script"`, code should be an [ISO-15924 four letters script code](https://unicode.org/iso15924/iso15924-codes.html).\r
+         *  - If the type is `"language"`, code should be a `languageCode` ["-" `scriptCode`] ["-" `regionCode` ] *("-" `variant` )\r
+         *    subsequence of the unicode_language_id grammar in [UTS 35's Unicode Language and Locale Identifiers grammar](https://unicode.org/reports/tr35/#Unicode_language_identifier).\r
+         *    `languageCode` is either a two letters ISO 639-1 language code or a three letters ISO 639-2 language code.\r
+         *  - If the type is `"currency"`, code should be a [3-letter ISO 4217 currency code](https://www.iso.org/iso-4217-currency-codes.html).\r
+         *\r
+         * [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DisplayNames/of).\r
+         */\r
+        of(code: string): string;\r
+        /**\r
+         * Returns a new object with properties reflecting the locale and style formatting options computed during the construction of the current\r
+         * [`Intl/DisplayNames`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DisplayNames) object.\r
+         *\r
+         * [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DisplayNames/resolvedOptions).\r
+         */\r
+        resolvedOptions(): DisplayNamesOptions;\r
+    }\r
+\r
+    /**\r
+     * The [`Intl.DisplayNames()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DisplayNames)\r
+     * object enables the consistent translation of language, region and script display names.\r
+     *\r
+     * [Compatibility](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DisplayNames#browser_compatibility).\r
+     */\r
+    const DisplayNames: {\r
+        prototype: DisplayNames;\r
+\r
+        /**\r
+         * @param locales A string with a BCP 47 language tag, or an array of such strings.\r
+         *   For the general form and interpretation of the `locales` argument, see the [Intl](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl#locale_identification_and_negotiation)\r
+         *   page.\r
+         *\r
+         * @param options An object for setting up a display name.\r
+         *\r
+         * [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DisplayNames/DisplayNames).\r
+         */\r
+        new(locales?: BCP47LanguageTag | BCP47LanguageTag[], options?: Partial<DisplayNamesOptions>): DisplayNames;\r
+\r
+        /**\r
+         * Returns an array containing those of the provided locales that are supported in display names without having to fall back to the runtime's default locale.\r
+         *\r
+         * @param locales A string with a BCP 47 language tag, or an array of such strings.\r
+         *   For the general form and interpretation of the `locales` argument, see the [Intl](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl#locale_identification_and_negotiation)\r
+         *   page.\r
+         *\r
+         * @param options An object with a locale matcher.\r
+         *\r
+         * @returns An array of strings representing a subset of the given locale tags that are supported in display names without having to fall back to the runtime's default locale.\r
+         *\r
+         * [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DisplayNames/supportedLocalesOf).\r
+         */\r
+        supportedLocalesOf(locales: BCP47LanguageTag | BCP47LanguageTag[], options?: {localeMatcher: RelativeTimeFormatLocaleMatcher}): BCP47LanguageTag[];\r
+    };\r
+\r
 }\r