UNPKG

@angular/fire

Version:
65 lines (60 loc) 4.2 kB
import * as i0 from '@angular/core'; import { InjectionToken, NgZone } from '@angular/core'; import { ɵAngularFireSchedulers as _AngularFireSchedulers } from '@angular/fire'; import { ɵPromiseProxy as _PromiseProxy } from '@angular/fire/compat'; import { FirebaseOptions } from 'firebase/app'; import firebase from 'firebase/compat/app'; import { Observable, MonoTypeOperatorFunction, OperatorFunction } from 'rxjs'; type Settings = firebase.remoteConfig.Settings; type ConfigTemplate = Record<string, string | number | boolean>; declare const SETTINGS: InjectionToken<firebase.remoteConfig.Settings>; declare const DEFAULTS: InjectionToken<ConfigTemplate>; declare class Value implements firebase.remoteConfig.Value { _source: firebase.remoteConfig.ValueSource; _value: string; asBoolean(): boolean; asString(): string; asNumber(): number; getSource(): firebase.remoteConfig.ValueSource; constructor(_source: firebase.remoteConfig.ValueSource, _value: string); } declare class Parameter extends Value { key: string; fetchTimeMillis: number; constructor(key: string, fetchTimeMillis: number, source: firebase.remoteConfig.ValueSource, value: string); } declare const filterRemote: () => MonoTypeOperatorFunction<Parameter | Parameter[]>; declare const filterFresh: (howRecentInMillis: number) => MonoTypeOperatorFunction<Parameter | Parameter[]>; interface AngularFireRemoteConfig extends _PromiseProxy<firebase.remoteConfig.RemoteConfig> { } declare class AngularFireRemoteConfig { private zone; readonly changes: Observable<Parameter>; readonly parameters: Observable<Parameter[]>; readonly numbers: Observable<Record<string, number | undefined>> & Record<string, Observable<number>>; readonly booleans: Observable<Record<string, boolean | undefined>> & Record<string, Observable<boolean>>; readonly strings: Observable<Record<string, string | undefined>> & Record<string, Observable<string | undefined>>; private readonly injector; constructor(options: FirebaseOptions, name: string | null | undefined, settings: Settings | null, defaultConfig: ConfigTemplate | null, zone: NgZone, schedulers: _AngularFireSchedulers, platformId: Object); static ɵfac: i0.ɵɵFactoryDeclaration<AngularFireRemoteConfig, [null, { optional: true; }, { optional: true; }, { optional: true; }, null, null, null]>; static ɵprov: i0.ɵɵInjectableDeclaration<AngularFireRemoteConfig>; } declare const budget: <T>(interval: number) => MonoTypeOperatorFunction<T>; declare function scanToObject(): OperatorFunction<Parameter, Record<string, string | undefined>>; declare function scanToObject(to: 'numbers'): OperatorFunction<Parameter, Record<string, number | undefined>>; declare function scanToObject(to: 'booleans'): OperatorFunction<Parameter, Record<string, boolean | undefined>>; declare function scanToObject(to: 'strings'): OperatorFunction<Parameter, Record<string, string | undefined>>; declare function scanToObject<T extends ConfigTemplate>(template: T): OperatorFunction<Parameter, T & Record<string, string | undefined>>; declare function mapToObject(): OperatorFunction<Parameter[], Record<string, string | undefined>>; declare function mapToObject(to: 'numbers'): OperatorFunction<Parameter[], Record<string, number | undefined>>; declare function mapToObject(to: 'booleans'): OperatorFunction<Parameter[], Record<string, boolean | undefined>>; declare function mapToObject(to: 'strings'): OperatorFunction<Parameter[], Record<string, string | undefined>>; declare function mapToObject<T extends ConfigTemplate>(template: T): OperatorFunction<Parameter[], T & Record<string, string | undefined>>; declare class AngularFireRemoteConfigModule { constructor(); static ɵfac: i0.ɵɵFactoryDeclaration<AngularFireRemoteConfigModule, never>; static ɵmod: i0.ɵɵNgModuleDeclaration<AngularFireRemoteConfigModule, never, never, never>; static ɵinj: i0.ɵɵInjectorDeclaration<AngularFireRemoteConfigModule>; } export { AngularFireRemoteConfig, AngularFireRemoteConfigModule, DEFAULTS, Parameter, SETTINGS, Value, budget, filterFresh, filterRemote, mapToObject, scanToObject }; export type { ConfigTemplate };