import { FlagsResponse } from "./flags"; interface StorageItem { get(): string | null; set(value: string): void; clear(): void; } interface cacheEntry { expireAt: number; staleAt: number; success: boolean; flags: FlagsResponse | undefined; attemptCount: number; } export declare function validateFlags(flagsInput: any): FlagsResponse | undefined; export interface CacheResult { flags: FlagsResponse | undefined; stale: boolean; success: boolean; attemptCount: number; } export declare class FlagCache { private storage; private staleTimeMs; private expireTimeMs; constructor(storage: StorageItem, staleTimeMs: number, expireTimeMs: number); set(key: string, { success, flags, attemptCount, }: { success: boolean; flags?: FlagsResponse; attemptCount: number; }): CacheData; get(key: string): CacheResult | undefined; clear(): void; } type CacheData = Record; export declare function isObject(item: any): boolean; export {};