import { CacheLoader, CacheProvider } from './cacheProvider';
export type Configuration<K, V> = {
    provider: CacheProvider<K, V>;
    defaultValue: V;
    /**
     * Handler for background revalidation errors
     */
    errorHandler?: (key: K, error: Error) => void;
};
export declare class DefaultWhileMissCache<K, V> implements CacheProvider<K, V> {
    private readonly provider;
    private readonly defaultValue;
    private readonly errorHandler;
    constructor(config: Configuration<K, V>);
    get(key: K, loader: CacheLoader<K, V>): Promise<V>;
    set(key: K, value: V): Promise<void>;
    delete(key: K): Promise<void>;
}
