23
23
import { FirebaseApp , FirebaseNamespace } from '@firebase/app-types' ;
24
24
import { Observer , Subscribe } from '@firebase/util' ;
25
25
import { FirebaseError , ErrorFactory } from '@firebase/util' ;
26
- import { Component , ComponentContainer } from '@firebase/component' ;
26
+ import { Component , ComponentContainer , Name } from '@firebase/component' ;
27
27
28
28
export interface FirebaseServiceInternals {
29
29
/**
@@ -86,8 +86,8 @@ export interface FirebaseAppInternals {
86
86
87
87
export interface _FirebaseApp extends FirebaseApp {
88
88
container : ComponentContainer ;
89
- _addComponent ( component : Component ) : void ;
90
- _addOrOverwriteComponent ( component : Component ) : void ;
89
+ _addComponent < T extends Name > ( component : Component < T > ) : void ;
90
+ _addOrOverwriteComponent < T extends Name > ( component : Component < T > ) : void ;
91
91
_removeServiceInstance ( name : string , instanceIdentifier ?: string ) : void ;
92
92
}
93
93
export interface _FirebaseNamespace extends FirebaseNamespace {
@@ -106,8 +106,8 @@ export interface _FirebaseNamespace extends FirebaseNamespace {
106
106
* @param allowMultipleInstances Whether the registered service supports
107
107
* multiple instances per app. If not specified, the default is false.
108
108
*/
109
- registerComponent (
110
- component : Component
109
+ registerComponent < T extends Name > (
110
+ component : Component < T >
111
111
) : FirebaseServiceNamespace < FirebaseService > | null ;
112
112
113
113
/**
0 commit comments