summaryrefslogtreecommitdiff
path: root/frontend-old/node_modules/@firebase/app-compat/dist/src
diff options
context:
space:
mode:
authoraltaf-creator <dev@altafcreator.com>2025-11-09 11:15:19 +0800
committeraltaf-creator <dev@altafcreator.com>2025-11-09 11:15:19 +0800
commit8eff962cab608341a6f2fedc640a0e32d96f26e2 (patch)
tree05534d1a720ddc3691d346c69b4972555820a061 /frontend-old/node_modules/@firebase/app-compat/dist/src
pain
Diffstat (limited to 'frontend-old/node_modules/@firebase/app-compat/dist/src')
-rw-r--r--frontend-old/node_modules/@firebase/app-compat/dist/src/errors.d.ts28
-rw-r--r--frontend-old/node_modules/@firebase/app-compat/dist/src/firebaseApp.d.ts91
-rw-r--r--frontend-old/node_modules/@firebase/app-compat/dist/src/firebaseNamespace.d.ts26
-rw-r--r--frontend-old/node_modules/@firebase/app-compat/dist/src/firebaseNamespaceCore.d.ts27
-rw-r--r--frontend-old/node_modules/@firebase/app-compat/dist/src/index.d.ts26
-rw-r--r--frontend-old/node_modules/@firebase/app-compat/dist/src/index.lite.d.ts18
-rw-r--r--frontend-old/node_modules/@firebase/app-compat/dist/src/lite/firebaseAppLite.d.ts49
-rw-r--r--frontend-old/node_modules/@firebase/app-compat/dist/src/lite/firebaseNamespaceLite.d.ts18
-rw-r--r--frontend-old/node_modules/@firebase/app-compat/dist/src/logger.d.ts18
-rw-r--r--frontend-old/node_modules/@firebase/app-compat/dist/src/public-types.d.ts100
-rw-r--r--frontend-old/node_modules/@firebase/app-compat/dist/src/registerCoreComponents.d.ts17
-rw-r--r--frontend-old/node_modules/@firebase/app-compat/dist/src/tsdoc-metadata.json11
-rw-r--r--frontend-old/node_modules/@firebase/app-compat/dist/src/types.d.ts71
13 files changed, 500 insertions, 0 deletions
diff --git a/frontend-old/node_modules/@firebase/app-compat/dist/src/errors.d.ts b/frontend-old/node_modules/@firebase/app-compat/dist/src/errors.d.ts
new file mode 100644
index 0000000..bb66c09
--- /dev/null
+++ b/frontend-old/node_modules/@firebase/app-compat/dist/src/errors.d.ts
@@ -0,0 +1,28 @@
+/**
+ * @license
+ * Copyright 2019 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+import { ErrorFactory } from '@firebase/util';
+export declare const enum AppError {
+ NO_APP = "no-app",
+ INVALID_APP_ARGUMENT = "invalid-app-argument"
+}
+type ErrorParams = {
+ [key in AppError]: {
+ appName: string;
+ };
+};
+export declare const ERROR_FACTORY: ErrorFactory<AppError, ErrorParams>;
+export {};
diff --git a/frontend-old/node_modules/@firebase/app-compat/dist/src/firebaseApp.d.ts b/frontend-old/node_modules/@firebase/app-compat/dist/src/firebaseApp.d.ts
new file mode 100644
index 0000000..f00b305
--- /dev/null
+++ b/frontend-old/node_modules/@firebase/app-compat/dist/src/firebaseApp.d.ts
@@ -0,0 +1,91 @@
+/**
+ * @license
+ * Copyright 2020 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+import { FirebaseOptions } from './public-types';
+import { Component } from '@firebase/component';
+import { _FirebaseAppInternal as _FirebaseAppExp } from '@firebase/app';
+import { _FirebaseService, _FirebaseNamespace } from './types';
+import { Compat } from '@firebase/util';
+export interface _FirebaseApp {
+ /**
+ * The (read-only) name (identifier) for this App. '[DEFAULT]' is the default
+ * App.
+ */
+ name: string;
+ /**
+ * The (read-only) configuration options from the app initialization.
+ */
+ options: FirebaseOptions;
+ /**
+ * The settable config flag for GDPR opt-in/opt-out
+ */
+ automaticDataCollectionEnabled: boolean;
+ /**
+ * Make the given App unusable and free resources.
+ */
+ delete(): Promise<void>;
+}
+/**
+ * Global context object for a collection of services using
+ * a shared authentication state.
+ *
+ * marked as internal because it references internal types exported from @firebase/app
+ * @internal
+ */
+export declare class FirebaseAppImpl implements Compat<_FirebaseAppExp>, _FirebaseApp {
+ readonly _delegate: _FirebaseAppExp;
+ private readonly firebase;
+ private container;
+ constructor(_delegate: _FirebaseAppExp, firebase: _FirebaseNamespace);
+ get automaticDataCollectionEnabled(): boolean;
+ set automaticDataCollectionEnabled(val: boolean);
+ get name(): string;
+ get options(): FirebaseOptions;
+ delete(): Promise<void>;
+ /**
+ * Return a service instance associated with this app (creating it
+ * on demand), identified by the passed instanceIdentifier.
+ *
+ * NOTE: Currently storage and functions are the only ones that are leveraging this
+ * functionality. They invoke it by calling:
+ *
+ * ```javascript
+ * firebase.app().storage('STORAGE BUCKET ID')
+ * ```
+ *
+ * The service name is passed to this already
+ * @internal
+ */
+ _getService(name: string, instanceIdentifier?: string): _FirebaseService;
+ /**
+ * Remove a service instance from the cache, so we will create a new instance for this service
+ * when people try to get it again.
+ *
+ * NOTE: currently only firestore uses this functionality to support firestore shutdown.
+ *
+ * @param name The service name
+ * @param instanceIdentifier instance identifier in case multiple instances are allowed
+ * @internal
+ */
+ _removeServiceInstance(name: string, instanceIdentifier?: string): void;
+ /**
+ * @param component the component being added to this app's container
+ * @internal
+ */
+ _addComponent(component: Component): void;
+ _addOrOverwriteComponent(component: Component): void;
+ toJSON(): object;
+}
diff --git a/frontend-old/node_modules/@firebase/app-compat/dist/src/firebaseNamespace.d.ts b/frontend-old/node_modules/@firebase/app-compat/dist/src/firebaseNamespace.d.ts
new file mode 100644
index 0000000..78bb27b
--- /dev/null
+++ b/frontend-old/node_modules/@firebase/app-compat/dist/src/firebaseNamespace.d.ts
@@ -0,0 +1,26 @@
+/**
+ * @license
+ * Copyright 2019 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+import { FirebaseNamespace } from './public-types';
+/**
+ * Return a firebase namespace object.
+ *
+ * In production, this will be called exactly once and the result
+ * assigned to the 'firebase' global. It may be called multiple times
+ * in unit tests.
+ */
+export declare function createFirebaseNamespace(): FirebaseNamespace;
+export declare const firebase: FirebaseNamespace;
diff --git a/frontend-old/node_modules/@firebase/app-compat/dist/src/firebaseNamespaceCore.d.ts b/frontend-old/node_modules/@firebase/app-compat/dist/src/firebaseNamespaceCore.d.ts
new file mode 100644
index 0000000..c3fe4a7
--- /dev/null
+++ b/frontend-old/node_modules/@firebase/app-compat/dist/src/firebaseNamespaceCore.d.ts
@@ -0,0 +1,27 @@
+/**
+ * @license
+ * Copyright 2019 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+import { _FirebaseNamespace } from './types';
+import { FirebaseAppImpl } from './firebaseApp';
+import { FirebaseAppLiteImpl } from './lite/firebaseAppLite';
+/**
+ * Because auth can't share code with other components, we attach the utility functions
+ * in an internal namespace to share code.
+ * This function return a firebase namespace object without
+ * any utility functions, so it can be shared between the regular firebaseNamespace and
+ * the lite version.
+ */
+export declare function createFirebaseNamespaceCore(firebaseAppImpl: typeof FirebaseAppImpl | typeof FirebaseAppLiteImpl): _FirebaseNamespace;
diff --git a/frontend-old/node_modules/@firebase/app-compat/dist/src/index.d.ts b/frontend-old/node_modules/@firebase/app-compat/dist/src/index.d.ts
new file mode 100644
index 0000000..b59db2b
--- /dev/null
+++ b/frontend-old/node_modules/@firebase/app-compat/dist/src/index.d.ts
@@ -0,0 +1,26 @@
+/**
+ * @license
+ * Copyright 2020 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+import { FirebaseNamespace } from './public-types';
+declare global {
+ interface Window {
+ firebase: FirebaseNamespace;
+ }
+}
+declare const firebase: FirebaseNamespace;
+export default firebase;
+export { _FirebaseNamespace, _FirebaseService } from './types';
+export { FirebaseApp, FirebaseNamespace } from './public-types';
diff --git a/frontend-old/node_modules/@firebase/app-compat/dist/src/index.lite.d.ts b/frontend-old/node_modules/@firebase/app-compat/dist/src/index.lite.d.ts
new file mode 100644
index 0000000..4823bc1
--- /dev/null
+++ b/frontend-old/node_modules/@firebase/app-compat/dist/src/index.lite.d.ts
@@ -0,0 +1,18 @@
+/**
+ * @license
+ * Copyright 2019 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+declare const firebase: import("./public-types").FirebaseNamespace;
+export default firebase;
diff --git a/frontend-old/node_modules/@firebase/app-compat/dist/src/lite/firebaseAppLite.d.ts b/frontend-old/node_modules/@firebase/app-compat/dist/src/lite/firebaseAppLite.d.ts
new file mode 100644
index 0000000..826e4a1
--- /dev/null
+++ b/frontend-old/node_modules/@firebase/app-compat/dist/src/lite/firebaseAppLite.d.ts
@@ -0,0 +1,49 @@
+/**
+ * @license
+ * Copyright 2019 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+import { FirebaseApp, FirebaseOptions } from '../public-types';
+import { _FirebaseNamespace, _FirebaseService } from '../types';
+import { _FirebaseAppInternal as FirebaseAppExp } from '@firebase/app';
+import { Compat } from '@firebase/util';
+/**
+ * Global context object for a collection of services using
+ * a shared authentication state.
+ */
+export declare class FirebaseAppLiteImpl implements FirebaseApp, Compat<FirebaseAppExp> {
+ readonly _delegate: FirebaseAppExp;
+ private readonly firebase;
+ constructor(_delegate: FirebaseAppExp, firebase: _FirebaseNamespace);
+ get automaticDataCollectionEnabled(): boolean;
+ set automaticDataCollectionEnabled(val: boolean);
+ get name(): string;
+ get options(): FirebaseOptions;
+ delete(): Promise<void>;
+ /**
+ * Return a service instance associated with this app (creating it
+ * on demand), identified by the passed instanceIdentifier.
+ *
+ * NOTE: Currently storage is the only one that is leveraging this
+ * functionality. They invoke it by calling:
+ *
+ * ```javascript
+ * firebase.app().storage('STORAGE BUCKET ID')
+ * ```
+ *
+ * The service name is passed to this already
+ * @internal
+ */
+ _getService(name: string, instanceIdentifier?: string): _FirebaseService;
+}
diff --git a/frontend-old/node_modules/@firebase/app-compat/dist/src/lite/firebaseNamespaceLite.d.ts b/frontend-old/node_modules/@firebase/app-compat/dist/src/lite/firebaseNamespaceLite.d.ts
new file mode 100644
index 0000000..1a1eed0
--- /dev/null
+++ b/frontend-old/node_modules/@firebase/app-compat/dist/src/lite/firebaseNamespaceLite.d.ts
@@ -0,0 +1,18 @@
+/**
+ * @license
+ * Copyright 2019 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+import { FirebaseNamespace } from '../public-types';
+export declare function createFirebaseNamespaceLite(): FirebaseNamespace;
diff --git a/frontend-old/node_modules/@firebase/app-compat/dist/src/logger.d.ts b/frontend-old/node_modules/@firebase/app-compat/dist/src/logger.d.ts
new file mode 100644
index 0000000..4a4edbd
--- /dev/null
+++ b/frontend-old/node_modules/@firebase/app-compat/dist/src/logger.d.ts
@@ -0,0 +1,18 @@
+/**
+ * @license
+ * Copyright 2019 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+import { Logger } from '@firebase/logger';
+export declare const logger: Logger;
diff --git a/frontend-old/node_modules/@firebase/app-compat/dist/src/public-types.d.ts b/frontend-old/node_modules/@firebase/app-compat/dist/src/public-types.d.ts
new file mode 100644
index 0000000..0bb8a86
--- /dev/null
+++ b/frontend-old/node_modules/@firebase/app-compat/dist/src/public-types.d.ts
@@ -0,0 +1,100 @@
+/**
+ * @license
+ * Copyright 2021 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+import { LogCallback, LogLevelString, LogOptions } from '@firebase/logger';
+import { _FirebaseApp } from './firebaseApp';
+export interface FirebaseOptions {
+ apiKey?: string;
+ authDomain?: string;
+ databaseURL?: string;
+ projectId?: string;
+ storageBucket?: string;
+ messagingSenderId?: string;
+ appId?: string;
+ measurementId?: string;
+}
+export interface FirebaseAppConfig {
+ name?: string;
+ automaticDataCollectionEnabled?: boolean;
+}
+interface FirebaseAppConstructor {
+ new (): FirebaseApp;
+}
+/**
+ * This interface will be enhanced by other products by adding e.g. firestore(), messaging() methods.
+ * As a result, FirebaseAppImpl can't directly implement it, otherwise there will be typings errors:
+ *
+ * For example, "Class 'FirebaseAppImpl' incorrectly implements interface 'FirebaseApp'.
+ * Property 'installations' is missing in type 'FirebaseAppImpl' but required in type 'FirebaseApp'"
+ *
+ * To workaround this issue, we defined a _FirebaseApp interface which is implemented by FirebaseAppImpl
+ * and let FirebaseApp extends it.
+ */
+export interface FirebaseApp extends _FirebaseApp {
+}
+export interface FirebaseNamespace {
+ /**
+ * Create (and initialize) a FirebaseApp.
+ *
+ * @param options Options to configure the services used in the App.
+ * @param config The optional config for your firebase app
+ */
+ initializeApp(options: FirebaseOptions, config?: FirebaseAppConfig): FirebaseApp;
+ /**
+ * Create (and initialize) a FirebaseApp.
+ *
+ * @param options Options to configure the services used in the App.
+ * @param name The optional name of the app to initialize ('[DEFAULT]' if
+ * omitted)
+ */
+ initializeApp(options: FirebaseOptions, name?: string): FirebaseApp;
+ app: {
+ /**
+ * Retrieve an instance of a FirebaseApp.
+ *
+ * Usage: firebase.app()
+ *
+ * @param name The optional name of the app to return ('[DEFAULT]' if omitted)
+ */
+ (name?: string): FirebaseApp;
+ /**
+ * For testing FirebaseApp instances:
+ * app() instanceof firebase.app.App
+ *
+ * DO NOT call this constuctor directly (use firebase.app() instead).
+ */
+ App: FirebaseAppConstructor;
+ };
+ /**
+ * A (read-only) array of all the initialized Apps.
+ */
+ apps: FirebaseApp[];
+ /**
+ * Registers a library's name and version for platform logging purposes.
+ * @param library Name of 1p or 3p library (e.g. firestore, angularfire)
+ * @param version Current version of that library.
+ */
+ registerVersion(library: string, version: string, variant?: string): void;
+ setLogLevel(logLevel: LogLevelString): void;
+ onLog(logCallback: LogCallback, options?: LogOptions): void;
+ SDK_VERSION: string;
+}
+declare module '@firebase/component' {
+ interface NameServiceMapping {
+ 'app-compat': FirebaseApp;
+ }
+}
+export {};
diff --git a/frontend-old/node_modules/@firebase/app-compat/dist/src/registerCoreComponents.d.ts b/frontend-old/node_modules/@firebase/app-compat/dist/src/registerCoreComponents.d.ts
new file mode 100644
index 0000000..45612e1
--- /dev/null
+++ b/frontend-old/node_modules/@firebase/app-compat/dist/src/registerCoreComponents.d.ts
@@ -0,0 +1,17 @@
+/**
+ * @license
+ * Copyright 2019 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+export declare function registerCoreComponents(variant?: string): void;
diff --git a/frontend-old/node_modules/@firebase/app-compat/dist/src/tsdoc-metadata.json b/frontend-old/node_modules/@firebase/app-compat/dist/src/tsdoc-metadata.json
new file mode 100644
index 0000000..6af1f6a
--- /dev/null
+++ b/frontend-old/node_modules/@firebase/app-compat/dist/src/tsdoc-metadata.json
@@ -0,0 +1,11 @@
+// This file is read by tools that parse documentation comments conforming to the TSDoc standard.
+// It should be published with your NPM package. It should not be tracked by Git.
+{
+ "tsdocVersion": "0.12",
+ "toolPackages": [
+ {
+ "packageName": "@microsoft/api-extractor",
+ "packageVersion": "0.1.2"
+ }
+ ]
+}
diff --git a/frontend-old/node_modules/@firebase/app-compat/dist/src/types.d.ts b/frontend-old/node_modules/@firebase/app-compat/dist/src/types.d.ts
new file mode 100644
index 0000000..c6ba71c
--- /dev/null
+++ b/frontend-old/node_modules/@firebase/app-compat/dist/src/types.d.ts
@@ -0,0 +1,71 @@
+/**
+ * @license
+ * Copyright 2017 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+/**
+ * THIS FILE IS FOR INTERNAL USAGE ONLY, IF YOU ARE NOT DEVELOPING THE FIREBASE
+ * SDKs, PLEASE DO NOT REFERENCE THIS FILE AS IT MAY CHANGE WITHOUT WARNING
+ */
+import { FirebaseApp, FirebaseNamespace } from './public-types';
+import { Compat } from '@firebase/util';
+import { Component, ComponentContainer, Name } from '@firebase/component';
+export interface FirebaseServiceInternals {
+ /**
+ * Delete the service and free it's resources - called from
+ * app.delete().
+ */
+ delete(): Promise<void>;
+}
+export interface _FirebaseService extends Compat<unknown> {
+ app: FirebaseApp;
+ INTERNAL?: FirebaseServiceInternals;
+}
+/**
+ * All ServiceNamespaces extend from FirebaseServiceNamespace
+ */
+export interface FirebaseServiceNamespace<T extends _FirebaseService> {
+ (app?: FirebaseApp): T;
+}
+export interface _FirebaseApp extends FirebaseApp {
+ container: ComponentContainer;
+ _addComponent<T extends Name>(component: Component<T>): void;
+ _addOrOverwriteComponent<T extends Name>(component: Component<T>): void;
+ _removeServiceInstance(name: string, instanceIdentifier?: string): void;
+}
+export interface _FirebaseNamespace extends FirebaseNamespace {
+ INTERNAL: {
+ /**
+ * Internal API to register a Firebase Service into the firebase namespace.
+ *
+ * Each service will create a child namespace (firebase.<name>) which acts as
+ * both a namespace for service specific properties, and also as a service
+ * accessor function (firebase.<name>() or firebase.<name>(app)).
+ *
+ * @param name The Firebase Service being registered.
+ * @param createService Factory function to create a service instance.
+ * @param serviceProperties Properties to copy to the service's namespace.
+ * @param appHook All appHooks called before initializeApp returns to caller.
+ * @param allowMultipleInstances Whether the registered service supports
+ * multiple instances per app. If not specified, the default is false.
+ */
+ registerComponent<T extends Name>(component: Component<T>): FirebaseServiceNamespace<_FirebaseService> | null;
+ /**
+ * Internal API to remove an app from the list of registered apps.
+ */
+ removeApp(name: string): void;
+ useAsService(app: FirebaseApp, serviceName: string): string | null;
+ [index: string]: unknown;
+ };
+}