import * as rxjs from 'rxjs';
import { FirebaseApp as FirebaseApp$1, deleteApp as deleteApp$1, getApp as getApp$1, getApps as getApps$1, initializeApp as initializeApp$1, initializeServerApp as initializeServerApp$1, onLog as onLog$1, registerVersion as registerVersion$1, setLogLevel as setLogLevel$1 } from 'firebase/app';
export * from 'firebase/app';
import * as i0 from '@angular/core';
import { Injector, EnvironmentProviders } from '@angular/core';

interface FirebaseApp extends FirebaseApp$1 {
}
declare class FirebaseApp {
    constructor(app: FirebaseApp$1);
}
interface FirebaseApps extends Array<FirebaseApp$1> {
}
declare class FirebaseApps {
    constructor();
}
declare const firebaseApp$: rxjs.Observable<FirebaseApp$1>;

declare class FirebaseAppModule {
    constructor(platformId: Object);
    static ɵfac: i0.ɵɵFactoryDeclaration<FirebaseAppModule, never>;
    static ɵmod: i0.ɵɵNgModuleDeclaration<FirebaseAppModule, never, never, never>;
    static ɵinj: i0.ɵɵInjectorDeclaration<FirebaseAppModule>;
}
declare function provideFirebaseApp(fn: (injector: Injector) => FirebaseApp$1, ...deps: any[]): EnvironmentProviders;

declare const deleteApp: typeof deleteApp$1;
declare const getApp: typeof getApp$1;
declare const getApps: typeof getApps$1;
declare const initializeApp: typeof initializeApp$1;
declare const initializeServerApp: typeof initializeServerApp$1;
declare const onLog: typeof onLog$1;
declare const registerVersion: typeof registerVersion$1;
declare const setLogLevel: typeof setLogLevel$1;

export { FirebaseApp, FirebaseAppModule, FirebaseApps, deleteApp, firebaseApp$, getApp, getApps, initializeApp, initializeServerApp, onLog, provideFirebaseApp, registerVersion, setLogLevel };
