///
import { Flag, IAsyncStore, IConfigurationStore, IObfuscatedPrecomputedBandit, ISyncStore, PrecomputedFlag, Variation } from '@eppo/js-client-sdk-common';
import { ServingStoreUpdateStrategy } from './isolatable-hybrid.store';
export declare function precomputedFlagsStorageFactory(): IConfigurationStore;
export declare function precomputedBanditStoreFactory(): IConfigurationStore;
export declare function configurationStorageFactory({ maxAgeSeconds, servingStoreUpdateStrategy, hasChromeStorage, hasWindowLocalStorage, persistentStore, forceMemoryOnly, }: {
maxAgeSeconds?: number;
servingStoreUpdateStrategy?: ServingStoreUpdateStrategy;
hasChromeStorage?: boolean;
hasWindowLocalStorage?: boolean;
persistentStore?: IAsyncStore;
forceMemoryOnly?: boolean;
}, { chromeStorage, windowLocalStorage, storageKeySuffix, }?: {
chromeStorage?: chrome.storage.StorageArea;
windowLocalStorage?: Storage;
storageKeySuffix?: string;
}): IConfigurationStore;
export declare function overrideStorageFactory({ hasWindowLocalStorage, forceMemoryOnly, }: {
hasWindowLocalStorage?: boolean;
forceMemoryOnly?: boolean;
}, { windowLocalStorage, storageKey, }?: {
windowLocalStorage?: Storage;
storageKey?: string;
}): ISyncStore;
export declare function hasChromeStorage(): boolean;
export declare function chromeStorageIfAvailable(): chrome.storage.StorageArea | undefined;
/** Returns whether `window.localStorage` is available */
export declare function hasWindowLocalStorage(): boolean;
export declare function localStorageIfAvailable(): Storage | undefined;
//# sourceMappingURL=configuration-factory.d.ts.map