1 | /**
|
2 | * @license
|
3 | * Copyright 2019 Google LLC
|
4 | *
|
5 | * Licensed under the Apache License, Version 2.0 (the "License");
|
6 | * you may not use this file except in compliance with the License.
|
7 | * You may obtain a copy of the License at
|
8 | *
|
9 | * http://www.apache.org/licenses/LICENSE-2.0
|
10 | *
|
11 | * Unless required by applicable law or agreed to in writing, software
|
12 | * distributed under the License is distributed on an "AS IS" BASIS,
|
13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14 | * See the License for the specific language governing permissions and
|
15 | * limitations under the License.
|
16 | */
|
17 |
|
18 | import { FirebaseApp } from '@firebase/app-types';
|
19 |
|
20 | export interface FirebaseInstallations {
|
21 | /**
|
22 | * Creates a Firebase Installation if there isn't one for the app and
|
23 | * returns the Installation ID.
|
24 | *
|
25 | * @return Firebase Installation ID
|
26 | */
|
27 | getId(): Promise<string>;
|
28 |
|
29 | /**
|
30 | * Returns an Authentication Token for the current Firebase Installation.
|
31 | *
|
32 | * @return Firebase Installation Authentication Token
|
33 | */
|
34 | getToken(forceRefresh?: boolean): Promise<string>;
|
35 |
|
36 | /**
|
37 | * Deletes the Firebase Installation and all associated data.
|
38 | */
|
39 | delete(): Promise<void>;
|
40 |
|
41 | /**
|
42 | * Sets a new callback that will get called when Installation ID changes.
|
43 | * Returns an unsubscribe function that will remove the callback when called.
|
44 | */
|
45 | onIdChange(callback: (installationId: string) => void): () => void;
|
46 | }
|
47 |
|
48 | export type FirebaseInstallationsName = 'installations';
|
49 |
|
50 | declare module '@firebase/component' {
|
51 | interface NameServiceMapping {
|
52 | 'installations-compat': FirebaseInstallations;
|
53 | }
|
54 | }
|