UNPKG

sinch-rtc

Version:

RTC JavaScript/Web SDK

30 lines (29 loc) 1.12 kB
import { ApiClient } from "../ocra/ApiClient"; import { FeatureStorage } from "../storage/FeatureStorage"; import { FeatureFlag } from "../constants"; export type FeatureFlags = Map<FeatureFlag, boolean | number>; export declare class Features { private featureStorage; private featureFlags; private userId?; private instanceId?; private timeService; private onFeatureChanged; constructor(featureStorage: FeatureStorage); getFeatureFlag(key: FeatureFlag): boolean | number | undefined; private initialiseFeatureFlags; shouldRefresh(): boolean; setUserInstance(userId: string, instanceId: string, applicationKey: string): void; refresh(apiClient: ApiClient): Promise<void>; addListener(listener: (arg: FeatureFlags) => void): void; resetListeners(): void; private fetchFeatureFlags; private updateFeatureFlags; private updateAndPublishFeaturesIfNeeded; private publishFeaturesChanged; private hasFeaturesChanged; private storeFeatures; } export declare class FeaturesFactory { static create(featureStorage: FeatureStorage): Features; }