import type { IdentityManagerBase } from "./IdentityManagerBase.js";

/**
 * This object provides the framework and helper methods used in managing user credentials for the following resources:
 *
 * * Secured [ArcGIS.com](https://arcgis.com) or
 * [ArcGIS Enterprise portal](https://enterprise.arcgis.com/en/portal/latest/administer/windows/what-is-portal-for-arcgis-.htm) resources (e.g. web maps).
 *
 * * ArcGIS Server resources secured using token-based authentication. Note that only ArcGIS Server versions 10 SP 1
 * and greater are supported.
 * If your application accesses services from different domains, it is deemed a cross-domain request and you need to setup
 * a [proxy](https://developers.arcgis.com/javascript/latest/proxies/) or use [CORS](https://developers.arcgis.com/javascript/latest/cors/) (if supported by browser). If CORS is supported, the Identity Manager knows to make a
 * request to the token service over https.
 *
 * Authentication requests over http are prevented because sensitive data sent via GET can be viewed in server logs.
 * To prevent this, the Identity Manager requires that you use POST over https to ensure your credentials are secure.
 * View the [proxy pages](https://developers.arcgis.com/javascript/latest/proxies/) and [CORS](https://developers.arcgis.com/javascript/latest/cors/) help topic for more details.
 *
 * > [!WARNING]
 * >
 * > The IdentityManager module is slightly different than other modules in the API. Instead of returning a class constructor, it returns a singleton instance that has already been created by this module.
 *
 * @since 4.0
 * @see [Access Secure Services](https://developers.arcgis.com/javascript/latest/guide/secure-resources/)
 * @see [Authentication and OAuth 2](https://developers.arcgis.com/authentication/)
 * @see [Guide topic - Proxy pages](https://developers.arcgis.com/javascript/latest/proxies/)
 * @see [ArcGIS Organization portals](https://developers.arcgis.com/javascript/latest/arcgis-organization-portals/)
 * @see [Sample - Access ArcGIS Online items using OAuth 2.0](https://developers.arcgis.com/javascript/latest/sample-code/identity-oauth-basic/)
 */
declare const idMgr: IdentityManagerBase;
export default idMgr;