UNPKG

2.47 kBTypeScriptView Raw
1/*! firebase-admin v10.0.0 */
2/*!
3 * Copyright 2020 Google Inc.
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/// <reference types="node" />
18import { FirebaseDatabase } from '@firebase/database-types';
19import { App } from '../app';
20/**
21 * The Firebase Database service interface. Extends the
22 * {@link https://firebase.google.com/docs/reference/js/firebase.database.Database | Database}
23 * interface provided by the `@firebase/database` package.
24 */
25export interface Database extends FirebaseDatabase {
26 /**
27 * Gets the currently applied security rules as a string. The return value consists of
28 * the rules source including comments.
29 *
30 * @returns A promise fulfilled with the rules as a raw string.
31 */
32 getRules(): Promise<string>;
33 /**
34 * Gets the currently applied security rules as a parsed JSON object. Any comments in
35 * the original source are stripped away.
36 *
37 * @returns A promise fulfilled with the parsed rules object.
38 */
39 getRulesJSON(): Promise<object>;
40 /**
41 * Sets the specified rules on the Firebase Realtime Database instance. If the rules source is
42 * specified as a string or a Buffer, it may include comments.
43 *
44 * @param source - Source of the rules to apply. Must not be `null` or empty.
45 * @returns Resolves when the rules are set on the Realtime Database.
46 */
47 setRules(source: string | Buffer | object): Promise<void>;
48}
49export declare class DatabaseService {
50 private readonly appInternal;
51 private tokenListener;
52 private tokenRefreshTimeout;
53 private databases;
54 constructor(app: App);
55 private get firebaseApp();
56 /**
57 * Returns the app associated with this DatabaseService instance.
58 *
59 * @returns The app associated with this DatabaseService instance.
60 */
61 get app(): App;
62 getDatabase(url?: string): Database;
63 private onTokenChange;
64 private scheduleTokenRefresh;
65 private ensureUrl;
66}