import type { SettingValue } from "./ProjectConfig"; import { Setting } from "./ProjectConfig"; /** * Specifies the behaviours for flag overrides. */ export declare enum OverrideBehaviour { /** * When evaluating values, the SDK will not use feature flags and settings from the ConfigCat CDN, but it will use * all feature flags and settings that are loaded from local-override sources. */ LocalOnly = 0, /** * When evaluating values, the SDK will use all feature flags and settings that are downloaded from the ConfigCat CDN, * plus all feature flags and settings that are loaded from local-override sources. If a feature flag or a setting is * defined both in the fetched and the local-override source then the local-override version will take precedence. */ LocalOverRemote = 1, /** * When evaluating values, the SDK will use all feature flags and settings that are downloaded from the ConfigCat CDN, * plus all feature flags and settings that are loaded from local-override sources. If a feature flag or a setting is * defined both in the fetched and the local-override source then the fetched version will take precedence. */ RemoteOverLocal = 2 } export interface IOverrideDataSource { getOverrides(): Promise<{ [name: string]: Setting; }>; getOverridesSync(): { [name: string]: Setting; }; } export declare class MapOverrideDataSource implements IOverrideDataSource { private static getCurrentSettings; private readonly initialSettings; private readonly map?; private readonly ["constructor"]; constructor(map: { [name: string]: NonNullable; }, watchChanges?: boolean); getOverrides(): Promise<{ [name: string]: Setting; }>; getOverridesSync(): { [name: string]: Setting; }; } export declare class FlagOverrides { dataSource: IOverrideDataSource; behaviour: OverrideBehaviour; constructor(dataSource: IOverrideDataSource, behaviour: OverrideBehaviour); } //# sourceMappingURL=FlagOverrides.d.ts.map