import { IConfigurationStore } from './configuration-store/configuration-store'; import { Entry } from './configuration-store/configuration-store-utils'; import { BanditParameters, BanditVariation, ConfigDetails, Environment, Flag, ObfuscatedFlag } from './interfaces'; import { BanditKey, FlagKey, HashedFlagKey } from './types'; export interface IConfiguration { getFlag(key: FlagKey | HashedFlagKey): Flag | ObfuscatedFlag | null; getFlags(): Record; getBandits(): Record; getBanditVariations(): Record; getFlagBanditVariations(flagKey: FlagKey | HashedFlagKey): BanditVariation[]; getFlagVariationBandit(flagKey: FlagKey | HashedFlagKey, variationValue: string): BanditParameters | null; getBandit(key: BanditKey): BanditParameters | null; getFlagConfigDetails(): ConfigDetails; getFlagKeys(): FlagKey[] | HashedFlagKey[]; isObfuscated(): boolean; isInitialized(): boolean; } export type ConfigStoreHydrationPacket = { entries: Record; environment: Environment; createdAt: string; format: string; salt?: string; }; export declare class StoreBackedConfiguration implements IConfiguration { private readonly flagConfigurationStore; private readonly banditVariationConfigurationStore?; private readonly banditModelConfigurationStore?; constructor(flagConfigurationStore: IConfigurationStore, banditVariationConfigurationStore?: (IConfigurationStore | null) | undefined, banditModelConfigurationStore?: (IConfigurationStore | null) | undefined); hydrateConfigurationStores(flagConfig: ConfigStoreHydrationPacket, banditVariationConfig?: ConfigStoreHydrationPacket, banditModelConfig?: ConfigStoreHydrationPacket): Promise; getBandit(key: string): BanditParameters | null; getFlagVariationBandit(flagKey: string, variationValue: string): BanditParameters | null; getFlag(key: string): Flag | ObfuscatedFlag | null; getFlagConfigDetails(): ConfigDetails; getFlagBanditVariations(flagKey: string): BanditVariation[]; getFlagKeys(): string[]; getFlags(): Record; isObfuscated(): boolean; isInitialized(): boolean; getBandits(): Record; getBanditVariations(): Record; } //# sourceMappingURL=i-configuration.d.ts.map