diff --git a/packages-exp/app-compat/src/index.ts b/packages-exp/app-compat/src/index.ts index 2223e21d93e..2a3ae0a9a84 100644 --- a/packages-exp/app-compat/src/index.ts +++ b/packages-exp/app-compat/src/index.ts @@ -47,4 +47,4 @@ registerCoreComponents(); export default firebase; export { _FirebaseNamespace, _FirebaseService } from './types'; -export { FirebaseApp } from './public-types'; +export { FirebaseApp, FirebaseNamespace } from './public-types'; diff --git a/packages-exp/auth-compat-exp/index.ts b/packages-exp/auth-compat-exp/index.ts index b970e3f030c..3ebaa5fc26d 100644 --- a/packages-exp/auth-compat-exp/index.ts +++ b/packages-exp/auth-compat-exp/index.ts @@ -24,6 +24,7 @@ import { InstantiationMode } from '@firebase/component'; +import { FirebaseAuth } from '@firebase/auth-types'; import { version } from './package.json'; import { Auth } from './src/auth'; import { Persistence } from './src/persistence'; @@ -33,6 +34,23 @@ import { RecaptchaVerifier } from './src/recaptcha_verifier'; const AUTH_TYPE = 'auth'; +declare module '@firebase/component' { + interface NameServiceMapping { + 'auth-compat': FirebaseAuth; + } +} + +declare module '@firebase/app-compat' { + interface FirebaseNamespace { + auth: { + (app?: FirebaseApp): FirebaseAuth; + }; + } + interface FirebaseApp { + auth?(): FirebaseAuth; + } +} + // Create auth components to register with firebase. // Provides Auth public APIs. function registerAuthCompat(instance: _FirebaseNamespace): void {