import type { BucketedUserConfig, DVCLogger } from '@devcycle/types';
import { DVCStorage } from './types';
import { DVCPopulatedUser } from './User';
export declare class CacheStore {
    store: DVCStorage;
    logger: DVCLogger;
    constructor(storage: DVCStorage, logger: DVCLogger);
    private getConfigKey;
    private getConfigUserIdKey;
    private getConfigFetchDateKey;
    private loadConfigUserId;
    private loadConfigFetchDate;
    saveConfig(data: BucketedUserConfig, user: DVCPopulatedUser, dateFetched: number): Promise<void>;
    private isBucketedUserConfig;
    loadConfig(user: DVCPopulatedUser, configCacheTTL?: number): Promise<BucketedUserConfig | null>;
    saveUser(user: DVCPopulatedUser): Promise<void>;
    loadUser(): Promise<DVCPopulatedUser | undefined>;
    saveAnonUserId(userId: string): Promise<void>;
    loadAnonUserId(): Promise<string | undefined>;
    removeAnonUserId(): Promise<void>;
}
export default CacheStore;
