import { IFeatureFlagSet, ICustomEvent, IFeatureFlag, IFeatureFlagBase, IOption, IUser, IFeatureFlagChange, FeatureFlagValue } from "./types"; export declare class Ffc { private _readyEventEmitted; private _readyPromise; private _insightsQueue; private _featureFlagEvaluationBuffer; private _option; constructor(); on(name: string, cb: (changes: IFeatureFlagChange | IFeatureFlagChange[]) => void): void; waitUntilReady(): Promise; init(option: IOption): Promise; identify(user: IUser): Promise; logout(): Promise; /** * bootstrap with predefined feature flags. * @param {array} featureFlags the predefined feature flags. * @param {boolean} forceFullFetch if a forced full fetch should be made. * @return {Promise} nothing. */ bootstrap(featureFlags?: IFeatureFlag[], forceFullFetch?: boolean): Promise; private dataSync; variation(key: string, defaultResult: FeatureFlagValue): FeatureFlagValue; boolVariation(key: string, defaultResult: boolean): boolean; getUser(): IUser; sendCustomEvent(data: ICustomEvent[]): void; sendFeatureFlagInsight(key: string, variation: string): void; getAllFeatureFlags(): IFeatureFlagSet; } declare const ffcClient: Ffc; export default ffcClient;