export interface CacheEntry<T> {
    data: T;
    timestamp: number;
    ttl: number;
}
export interface EdgeCacheOptions {
    defaultTTL?: number;
    maxSize?: number;
    storage?: 'memory' | 'localStorage' | 'indexedDB';
}
export declare class EdgeCache {
    private memoryCache;
    private options;
    private dbName;
    private storeName;
    private db;
    constructor(options?: EdgeCacheOptions);
    private initIndexedDB;
    get<T>(key: string): Promise<T | null>;
    set<T>(key: string, data: T, ttl?: number): Promise<void>;
    delete(key: string): Promise<void>;
    clear(): Promise<void>;
    private evictOldest;
}
