import { BaseCache } from "../domain/BaseCache";
export default class MemoryCache<K, V> extends BaseCache<K, V> {
    private _storage;
    private _ttls;
    constructor();
    cache(key: K, value: V, ttl?: number): Promise<void>;
    get(key: K): Promise<V | undefined>;
    getTTL(key: K): Promise<number>;
    del(key: K): Promise<number>;
    setnx(key: K, value: V): Promise<number>;
    getset(key: K, value: V): Promise<V>;
    expire(key: K, ttl: number): Promise<V>;
    keys(key: string): Promise<V[]>;
    exists(key: K): Promise<boolean>;
}
