import { FirebaseConfig, IFirebaseOptions } from '.';
export * from './utils';
export declare class FirebaseError extends Error {
    _native: NSError;
    static fromNative(native: NSError, message?: string): FirebaseError;
    get native(): NSError;
    intoNative(): NSError;
}
export declare class FirebaseOptions implements IFirebaseOptions {
    _nativeApp: FIRApp;
    static fromNative(native: FIRApp): FirebaseOptions;
    get ios(): FIROptions;
    get native(): FIROptions;
    get name(): string;
    _apiKey: string;
    set apiKey(value: string);
    get apiKey(): string;
    _gcmSenderId: string;
    set gcmSenderId(value: string);
    get gcmSenderId(): string;
    _androidClientId: string;
    set androidClientId(value: string);
    get androidClientId(): string;
    _appGroupId: string;
    set appGroupId(value: string);
    get appGroupId(): string;
    _bundleId: string;
    set bundleId(value: string);
    get bundleId(): string;
    _clientId: string;
    set clientId(value: string);
    get clientId(): string;
    _databaseURL: string;
    set databaseURL(value: string);
    get databaseURL(): string;
    _deepLinkURLScheme: string;
    set deepLinkURLScheme(value: string);
    get deepLinkURLScheme(): string;
    _googleAppId: string;
    set googleAppId(value: string);
    get googleAppId(): string;
    _projectId: string;
    set projectId(value: string);
    get projectId(): string;
    _storageBucket: string;
    set storageBucket(value: string);
    get storageBucket(): string;
    _trackingId: string;
    set trackingId(value: string);
    get trackingId(): string;
}
export declare class FirebaseApp {
    _native: FIRApp;
    _options: FirebaseOptions;
    static fromNative(app: FIRApp): FirebaseApp;
    get native(): FIRApp;
    get ios(): FIRApp;
    get name(): string;
    get options(): FirebaseOptions;
    delete(): Promise<void>;
    get apps(): any[];
}
export declare class Firebase {
    static _onResumeQueue: any[];
    static addToResumeQueue(callback: () => void): void;
    static addToActivityCreatedQueue(callback: () => void): void;
    static _inForeground: boolean;
    static _appDidLaunch: boolean;
    static get inForeground(): boolean;
    constructor();
    app(name?: string): FirebaseApp;
    initializeApp(options?: FirebaseOptions, configOrName?: FirebaseConfig | string): Promise<unknown>;
    initializeAppWithPath(path: string, options?: FirebaseOptions, config?: FirebaseConfig): Promise<unknown>;
    admob(): any;
}
export declare function firebase(): Firebase;
