import { MemoCache } from '@naturalcycles/js-lib';
import * as LRUCache from 'lru-cache';
export declare type LRUMemoCacheOptions<KEY, VALUE> = Partial<LRUCache.Options<KEY, VALUE>>;
/**
 * @example
 * Use it like this:
 *
 * @_Memo({ cacheFactory: () => new LRUMemoCache({...}) })
 * method1 ()
 */
export declare class LRUMemoCache<KEY = any, VALUE = any> implements MemoCache<KEY, VALUE> {
    constructor(opt: LRUMemoCacheOptions<KEY, VALUE>);
    private lru;
    has(k: any): boolean;
    get(k: any): any;
    set(k: any, v: any): void;
    clear(): void;
}
