Back to Firebase Js Sdk

Remote Config.Api

common/api-review/remote-config.api.md

12.12.13.5 KB
Original Source

API Report File for "@firebase/remote-config"

Do not edit this file. It is a report generated by API Extractor.

ts

import { FirebaseApp } from '@firebase/app';
import { FirebaseError } from '@firebase/app';

// @public
export function activate(remoteConfig: RemoteConfig): Promise<boolean>;

// @public
export interface ConfigUpdate {
    getUpdatedKeys(): Set<string>;
}

// @public
export interface ConfigUpdateObserver {
    complete: () => void;
    error: (error: FirebaseError) => void;
    next: (configUpdate: ConfigUpdate) => void;
}

// @public
export interface CustomSignals {
    // (undocumented)
    [key: string]: string | number | null;
}

// @public
export function ensureInitialized(remoteConfig: RemoteConfig): Promise<void>;

// @public
export function fetchAndActivate(remoteConfig: RemoteConfig): Promise<boolean>;

// @public
export function fetchConfig(remoteConfig: RemoteConfig): Promise<void>;

// @public
export interface FetchResponse {
    config?: FirebaseRemoteConfigObject;
    eTag?: string;
    experiments?: FirebaseExperimentDescription[];
    status: number;
    templateVersion?: number;
}

// @public
export type FetchStatus = 'no-fetch-yet' | 'success' | 'failure' | 'throttle';

// @public
export type FetchType = 'BASE' | 'REALTIME';

// @public
export interface FirebaseExperimentDescription {
    // (undocumented)
    affectedParameterKeys?: string[];
    // (undocumented)
    experimentId: string;
    // (undocumented)
    experimentStartTime: string;
    // (undocumented)
    timeToLiveMillis: string;
    // (undocumented)
    triggerTimeoutMillis: string;
    // (undocumented)
    variantId: string;
}

// @public
export interface FirebaseRemoteConfigObject {
    // (undocumented)
    [key: string]: string;
}

// @public
export function getAll(remoteConfig: RemoteConfig): Record<string, Value>;

// @public
export function getBoolean(remoteConfig: RemoteConfig, key: string): boolean;

// @public
export function getNumber(remoteConfig: RemoteConfig, key: string): number;

// @public (undocumented)
export function getRemoteConfig(app?: FirebaseApp, options?: RemoteConfigOptions): RemoteConfig;

// @public
export function getString(remoteConfig: RemoteConfig, key: string): string;

// @public
export function getValue(remoteConfig: RemoteConfig, key: string): Value;

// @public
export function isSupported(): Promise<boolean>;

// @public
export type LogLevel = 'debug' | 'error' | 'silent';

// @public
export function onConfigUpdate(remoteConfig: RemoteConfig, observer: ConfigUpdateObserver): Unsubscribe;

// @public
export interface RemoteConfig {
    app: FirebaseApp;
    defaultConfig: {
        [key: string]: string | number | boolean;
    };
    fetchTimeMillis: number;
    lastFetchStatus: FetchStatus;
    settings: RemoteConfigSettings;
}

// @public
export interface RemoteConfigOptions {
    initialFetchResponse?: FetchResponse;
    templateId?: string;
}

// @public
export interface RemoteConfigSettings {
    fetchTimeoutMillis: number;
    minimumFetchIntervalMillis: number;
}

// @public
export function setCustomSignals(remoteConfig: RemoteConfig, customSignals: CustomSignals): Promise<void>;

// @public
export function setLogLevel(remoteConfig: RemoteConfig, logLevel: LogLevel): void;

// @public
export type Unsubscribe = () => void;

// @public
export interface Value {
    asBoolean(): boolean;
    asNumber(): number;
    asString(): string;
    getSource(): ValueSource;
}

// @public
export type ValueSource = 'static' | 'default' | 'remote';