import { CacheLoader, CacheProvider } from './cacheProvider';
/**
 * A cache provider that automatically caches loaded values.
 */
export declare class AutoSaveCache<K, V> implements CacheProvider<K, V> {
    private readonly cacheProvider;
    constructor(cacheProvider: CacheProvider<K, V>);
    get(key: K, loader: CacheLoader<K, V>): Promise<V>;
    set(key: K, value: V): Promise<void>;
    delete(key: K): Promise<void>;
}
