The dependencies that can be used to initialize an [Auth](https://firebase.google.com/docs/reference/js/auth.auth#auth_interface) instance.

The modular SDK enables tree shaking by allowing explicit declarations of dependencies. For example, a web app does not need to include code that enables Cordova redirect sign in. That functionality is therefore split into [browserPopupRedirectResolver](https://firebase.google.com/docs/reference/js/auth#browserpopupredirectresolver) and [cordovaPopupRedirectResolver](https://firebase.google.com/docs/reference/js/auth#cordovapopupredirectresolver). The dependencies object is how Auth is configured to reduce bundle sizes.

There are two ways to initialize an [Auth](https://firebase.google.com/docs/reference/js/auth.auth#auth_interface) instance: [getAuth()](https://firebase.google.com/docs/reference/js/auth#getauth_cf608e1) and [initializeAuth()](https://firebase.google.com/docs/reference/js/auth#initializeauth_ca77c9b). `getAuth` initializes everything using platform-specific configurations, while `initializeAuth` takes a `Dependencies` object directly, giving you more control over what is used.

**Signature:**

    export interface Dependencies 

## Properties

| Property | Type | Description |
|---|---|---|
| [errorMap](https://firebase.google.com/docs/reference/js/auth.dependencies#dependencieserrormap) | [AuthErrorMap](https://firebase.google.com/docs/reference/js/auth.autherrormap#autherrormap_interface) | Which [AuthErrorMap](https://firebase.google.com/docs/reference/js/auth.autherrormap#autherrormap_interface) to use. |
| [persistence](https://firebase.google.com/docs/reference/js/auth.dependencies#dependenciespersistence) | [Persistence](https://firebase.google.com/docs/reference/js/auth.persistence#persistence_interface) \| [Persistence](https://firebase.google.com/docs/reference/js/auth.persistence#persistence_interface)\[\] | Which [Persistence](https://firebase.google.com/docs/reference/js/auth.persistence#persistence_interface) to use. If this is an array, the first `Persistence` that the device supports is used. The SDK searches for an existing account in order and, if one is found in a secondary `Persistence`, the account is moved to the primary `Persistence`.If no persistence is provided, the SDK falls back on [inMemoryPersistence](https://firebase.google.com/docs/reference/js/auth#inmemorypersistence). |
| [popupRedirectResolver](https://firebase.google.com/docs/reference/js/auth.dependencies#dependenciespopupredirectresolver) | [PopupRedirectResolver](https://firebase.google.com/docs/reference/js/auth.popupredirectresolver#popupredirectresolver_interface) | The [PopupRedirectResolver](https://firebase.google.com/docs/reference/js/auth.popupredirectresolver#popupredirectresolver_interface) to use. This value depends on the platform. Options are [browserPopupRedirectResolver](https://firebase.google.com/docs/reference/js/auth#browserpopupredirectresolver) and [cordovaPopupRedirectResolver](https://firebase.google.com/docs/reference/js/auth#cordovapopupredirectresolver). This field is optional if neither [signInWithPopup()](https://firebase.google.com/docs/reference/js/auth#signinwithpopup_770f816) or [signInWithRedirect()](https://firebase.google.com/docs/reference/js/auth#signinwithredirect_770f816) are being used. |

## Dependencies.errorMap

Which [AuthErrorMap](https://firebase.google.com/docs/reference/js/auth.autherrormap#autherrormap_interface) to use.

**Signature:**

    errorMap?: AuthErrorMap;

## Dependencies.persistence

Which [Persistence](https://firebase.google.com/docs/reference/js/auth.persistence#persistence_interface) to use. If this is an array, the first `Persistence` that the device supports is used. The SDK searches for an existing account in order and, if one is found in a secondary `Persistence`, the account is moved to the primary `Persistence`.

If no persistence is provided, the SDK falls back on [inMemoryPersistence](https://firebase.google.com/docs/reference/js/auth#inmemorypersistence).

**Signature:**

    persistence?: Persistence | Persistence[];

## Dependencies.popupRedirectResolver

The [PopupRedirectResolver](https://firebase.google.com/docs/reference/js/auth.popupredirectresolver#popupredirectresolver_interface) to use. This value depends on the platform. Options are [browserPopupRedirectResolver](https://firebase.google.com/docs/reference/js/auth#browserpopupredirectresolver) and [cordovaPopupRedirectResolver](https://firebase.google.com/docs/reference/js/auth#cordovapopupredirectresolver). This field is optional if neither [signInWithPopup()](https://firebase.google.com/docs/reference/js/auth#signinwithpopup_770f816) or [signInWithRedirect()](https://firebase.google.com/docs/reference/js/auth#signinwithredirect_770f816) are being used.

**Signature:**

    popupRedirectResolver?: PopupRedirectResolver;