{
  "api": {
    "name": "AppLanguagePlugin",
    "slug": "applanguageplugin",
    "docs": "",
    "tags": [],
    "methods": [
      {
        "name": "initialize",
        "signature": "(options?: InitializeOptions | undefined) => Promise<void>",
        "parameters": [
          {
            "name": "options",
            "docs": "",
            "type": "InitializeOptions | undefined"
          }
        ],
        "returns": "Promise<void>",
        "tags": [
          {
            "name": "since",
            "text": "1.1.0"
          }
        ],
        "docs": "Initializes the plugin and injects dependencies.\n\nOnly available for Web.",
        "complexTypes": [
          "InitializeOptions"
        ],
        "slug": "initialize"
      },
      {
        "name": "getApplicationLocales",
        "signature": "() => Promise<LocalesResult>",
        "parameters": [],
        "returns": "Promise<LocalesResult>",
        "tags": [
          {
            "name": "since",
            "text": "1.0.0"
          }
        ],
        "docs": "Returns the UI locales for the calling app.",
        "complexTypes": [
          "LocalesResult"
        ],
        "slug": "getapplicationlocales"
      },
      {
        "name": "setApplicationLocales",
        "signature": "(options: LocalesOptions) => Promise<void>",
        "parameters": [
          {
            "name": "options",
            "docs": "",
            "type": "LocalesOptions"
          }
        ],
        "returns": "Promise<void>",
        "tags": [
          {
            "name": "since",
            "text": "1.0.0"
          }
        ],
        "docs": "Sets the UI locales for the calling app.\n\nNote: Pass an empty locales list to reset to the system locale.\n\nOnly available for Android.",
        "complexTypes": [
          "LocalesOptions"
        ],
        "slug": "setapplicationlocales"
      },
      {
        "name": "resetApplicationLocales",
        "signature": "() => Promise<void>",
        "parameters": [],
        "returns": "Promise<void>",
        "tags": [
          {
            "name": "since",
            "text": "1.0.0"
          }
        ],
        "docs": "Resets the app locale to the system locale.\n\nOnly available for Android.",
        "complexTypes": [],
        "slug": "resetapplicationlocales"
      },
      {
        "name": "getSystemLocales",
        "signature": "() => Promise<LocalesResult>",
        "parameters": [],
        "returns": "Promise<LocalesResult>",
        "tags": [
          {
            "name": "since",
            "text": "1.0.0"
          }
        ],
        "docs": "Returns the current system locales, ignoring app-specific overrides.",
        "complexTypes": [
          "LocalesResult"
        ],
        "slug": "getsystemlocales"
      },
      {
        "name": "getOverrideLocaleConfig",
        "signature": "() => Promise<LocaleConfigResult>",
        "parameters": [],
        "returns": "Promise<LocaleConfigResult>",
        "tags": [
          {
            "name": "since",
            "text": "1.0.0"
          }
        ],
        "docs": "Returns the override `LocaleConfig` for the calling app.\n\nOnly available for Android (>= 34) and later.",
        "complexTypes": [
          "LocaleConfigResult"
        ],
        "slug": "getoverridelocaleconfig"
      },
      {
        "name": "setOverrideLocaleConfig",
        "signature": "(options: LocaleConfigOptions) => Promise<void>",
        "parameters": [
          {
            "name": "options",
            "docs": "",
            "type": "LocalesOptions"
          }
        ],
        "returns": "Promise<void>",
        "tags": [
          {
            "name": "since",
            "text": "1.0.0"
          }
        ],
        "docs": "Sets the override `LocaleConfig` for the calling app.\n\nNote: Only the app itself with the same user can override its own `LocaleConfig`.\n\nOnly available for Android (>= 34) and later.",
        "complexTypes": [
          "LocaleConfigOptions"
        ],
        "slug": "setoverridelocaleconfig"
      },
      {
        "name": "openSettings",
        "signature": "() => Promise<void>",
        "parameters": [],
        "returns": "Promise<void>",
        "tags": [
          {
            "name": "since",
            "text": "1.0.0"
          }
        ],
        "docs": "Shows settings to allow configuration of per application locale.\n\nOnly available for iOS and Android (>= 33) and later.",
        "complexTypes": [],
        "slug": "opensettings"
      },
      {
        "name": "addListener",
        "signature": "(eventName: 'languageChanged', listenerFunc: LanguageChangedListener) => Promise<PluginListenerHandle>",
        "parameters": [
          {
            "name": "eventName",
            "docs": "",
            "type": "'languageChanged'"
          },
          {
            "name": "listenerFunc",
            "docs": "",
            "type": "LanguageChangedListener"
          }
        ],
        "returns": "Promise<PluginListenerHandle>",
        "tags": [
          {
            "name": "since",
            "text": "1.1.0"
          }
        ],
        "docs": "Called when the user's preferred language changes.\n\nOnly available for Web.",
        "complexTypes": [
          "PluginListenerHandle",
          "LanguageChangedListener"
        ],
        "slug": "addlistenerlanguagechanged-"
      },
      {
        "name": "removeAllListeners",
        "signature": "() => Promise<void>",
        "parameters": [],
        "returns": "Promise<void>",
        "tags": [
          {
            "name": "since",
            "text": "1.1.0"
          }
        ],
        "docs": "Remove all listeners for this plugin.\n\nOnly available for Web.",
        "complexTypes": [],
        "slug": "removealllisteners"
      }
    ],
    "properties": []
  },
  "interfaces": [
    {
      "name": "InitializeOptions",
      "slug": "initializeoptions",
      "docs": "",
      "tags": [
        {
          "text": "1.1.0",
          "name": "since"
        }
      ],
      "methods": [],
      "properties": [
        {
          "name": "i18n",
          "tags": [
            {
              "text": "1.1.0",
              "name": "since"
            }
          ],
          "docs": "The instance of i18n.\n\nOnly available for Web.",
          "complexTypes": [
            "I18n"
          ],
          "type": "I18n"
        }
      ]
    },
    {
      "name": "PluginListenerHandle",
      "slug": "pluginlistenerhandle",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "remove",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "() => Promise<void>"
        }
      ]
    },
    {
      "name": "LanguageChangedEvent",
      "slug": "languagechangedevent",
      "docs": "",
      "tags": [
        {
          "text": "1.1.0",
          "name": "since"
        }
      ],
      "methods": [],
      "properties": [
        {
          "name": "locales",
          "tags": [
            {
              "text": "1.1.0",
              "name": "since"
            }
          ],
          "docs": "Returns an array of strings representing the user's preferred languages.",
          "complexTypes": [],
          "type": "string[] | undefined"
        }
      ]
    }
  ],
  "enums": [
    {
      "name": "Status",
      "slug": "status",
      "members": [
        {
          "name": "SUCCESS",
          "value": "0",
          "tags": [
            {
              "text": "1.0.0",
              "name": "since"
            }
          ],
          "docs": "Succeeded reading the `LocaleConfig` structure stored in an XML file."
        },
        {
          "name": "NOT_SPECIFIED",
          "value": "1",
          "tags": [
            {
              "text": "1.0.0",
              "name": "since"
            }
          ],
          "docs": "No `android:localeConfig` tag on pointing to an XML file that stores the `LocaleConfig`."
        },
        {
          "name": "PARSING_FAILED",
          "value": "2",
          "tags": [
            {
              "text": "1.0.0",
              "name": "since"
            }
          ],
          "docs": "Malformed input in the XML file where the `LocaleConfig` was stored."
        }
      ]
    }
  ],
  "typeAliases": [
    {
      "name": "LocalesResult",
      "slug": "localesresult",
      "docs": "",
      "types": [
        {
          "text": "{\n  /**\n   * Returns the locales supported by the specified application.\n   *\n   * @since 1.0.0\n   */\n  locales?: string[];\n}",
          "complexTypes": []
        }
      ]
    },
    {
      "name": "LocalesOptions",
      "slug": "localesoptions",
      "docs": "",
      "types": [
        {
          "text": "{\n  /**\n   * The list of locales.\n   *\n   * @since 1.0.0\n   */\n  locales?: string[];\n}",
          "complexTypes": []
        }
      ]
    },
    {
      "name": "LocaleConfigResult",
      "slug": "localeconfigresult",
      "docs": "",
      "types": [
        {
          "text": "LocalesResult",
          "complexTypes": [
            "LocalesResult"
          ]
        },
        {
          "text": "{\n      /**\n       * Get the status of reading the resource file where the `LocaleConfig` was stored.\n       *\n       * @since 1.0.0\n       */\n      status: Status;\n    }",
          "complexTypes": [
            "Status"
          ]
        }
      ]
    },
    {
      "name": "LocaleConfigOptions",
      "slug": "localeconfigoptions",
      "docs": "",
      "types": [
        {
          "text": "LocalesOptions",
          "complexTypes": [
            "LocalesOptions"
          ]
        }
      ]
    },
    {
      "name": "LanguageChangedListener",
      "slug": "languagechangedlistener",
      "docs": "Callback to receive when the user's preferred language changes.",
      "types": [
        {
          "text": "(event: LanguageChangedEvent): void",
          "complexTypes": [
            "LanguageChangedEvent"
          ]
        }
      ]
    }
  ],
  "pluginConfigs": []
}