import type { StorageInstance } from '@vlian/utils';
/**
 * 缓存配置
 */
export interface CacheConfig {
    /**
     * 默认过期时间（毫秒）
     */
    defaultTTL?: number;
    /**
     * 最大缓存项数量
     */
    maxSize?: number;
}
/**
 * 多级缓存管理器（使用 LRU 策略）
 */
export declare class MultiLevelCache {
    private memoryCache;
    private storage;
    private config;
    private head;
    private tail;
    constructor(storage: StorageInstance, config?: CacheConfig);
    /**
     * 将节点移到链表头部（最近使用）
     */
    private moveToHead;
    /**
     * 移除尾部节点（最久未使用）
     */
    private removeTail;
    /**
     * 获取缓存
     */
    get<T>(key: string): Promise<T | null>;
    /**
     * 在内存中设置缓存（LRU）
     */
    private setInMemory;
    /**
     * 设置缓存
     */
    set<T>(key: string, data: T, ttl?: number): Promise<void>;
    /**
     * 删除缓存
     */
    delete(key: string): Promise<void>;
    /**
     * 清空缓存
     */
    clear(): Promise<void>;
    /**
     * 清理过期项（优化版本：批量删除，减少 DOM 操作）
     */
    cleanup(): Promise<void>;
}
//# sourceMappingURL=cache.d.ts.map