@react-native-firebase/remote-config
Version:
React Native Firebase - React Native Firebase provides native integration with Remote Config, allowing you to change the appearance and/or functionality of your app without requiring an app update.
58 lines • 1.74 kB
TypeScript
import type { FirebaseApp, FirebaseError } from '@firebase/app';
export type LogLevel = 'debug' | 'error' | 'silent';
export type FetchStatus = 'success' | 'failure' | 'no_fetch_yet' | 'throttled';
export type ValueSource = 'static' | 'default' | 'remote';
export interface FirebaseRemoteConfigObject {
[key: string]: string;
}
export interface FirebaseExperimentDescription {
experimentId: string;
variantId: string;
experimentStartTime: string;
triggerTimeoutMillis: string;
timeToLiveMillis: string;
affectedParameterKeys?: string[];
}
export interface FetchResponse {
status: number;
eTag?: string;
config?: FirebaseRemoteConfigObject;
templateVersion?: number;
experiments?: FirebaseExperimentDescription[];
}
export interface RemoteConfigOptions {
templateId?: string;
initialFetchResponse?: FetchResponse;
}
export interface Value {
getSource(): ValueSource;
asBoolean(): boolean;
asNumber(): number;
asString(): string;
}
export interface RemoteConfigSettings {
minimumFetchIntervalMillis: number;
fetchTimeoutMillis: number;
}
export interface ConfigUpdate {
getUpdatedKeys(): Set<string>;
}
export interface ConfigUpdateObserver {
next: (configUpdate: ConfigUpdate) => void;
error: (error: FirebaseError) => void;
complete: () => void;
}
export type Unsubscribe = () => void;
export interface CustomSignals {
[key: string]: string | number | null;
}
export interface RemoteConfig {
app: FirebaseApp;
fetchTimeMillis: number;
lastFetchStatus: FetchStatus;
settings: RemoteConfigSettings;
defaultConfig: {
[key: string]: string | number | boolean;
};
}
//# sourceMappingURL=remote-config.d.ts.map