import type { ReactNativeFirebase } from '../types/app';
import type { FirebaseJsonConfig, ModuleConfig } from '../types/internal';
import type { ReactNativeFirebaseNativeModules } from './NativeModules';
import type EventEmitter from 'react-native/Libraries/vendor/emitter/EventEmitter';
export default class FirebaseModule<NativeModuleName extends keyof ReactNativeFirebaseNativeModules = any> {
    _app: ReactNativeFirebase.FirebaseAppBase;
    _nativeModule: ReactNativeFirebaseNativeModules[NativeModuleName] | null;
    _customUrlOrRegion: string | null;
    _config: ModuleConfig;
    constructor(app: ReactNativeFirebase.FirebaseAppBase, config: ModuleConfig, customUrlOrRegion?: string | null);
    get app(): ReactNativeFirebase.FirebaseApp;
    get firebaseJson(): FirebaseJsonConfig;
    get emitter(): EventEmitter;
    eventNameForApp(...args: Array<string | number>): string;
    get native(): ReactNativeFirebaseNativeModules[NativeModuleName];
}
//# sourceMappingURL=FirebaseModule.d.ts.map