/*!
 * @package @coolgk/utils
 * @version 3.1.4
 * @link https://github.com/coolgk/node-utils
 * @license MIT
 * @author Daniel Gong <daniel.k.gong@gmail.com>
 *
 * Copyright (c) 2017 Daniel Gong <daniel.k.gong@gmail.com>. All rights reserved.
 * Licensed under the MIT License.
 */

/*!
 *  Copyright (c) 2017 Daniel Gong <daniel.k.gong@gmail.com>. All rights reserved.
 *  Licensed under the MIT License.
 */
import { RedisClient } from 'redis';
export interface ICacheClient extends RedisClient {
    [key: string]: any;
}
export interface ICacheConfig {
    readonly redisClient: ICacheClient;
}
export declare class Cache {
    private _redisClient;
    constructor(options: ICacheConfig);
    set(name: string, value: any, expiry?: number): Promise<any>;
    get(name: string): Promise<any>;
    delete(name: string | string[]): Promise<any>;
    getSetIfNull(name: string, callback: () => any, expiry?: number): Promise<any>;
    command(command: string, ...params: any[]): Promise<any>;
}
export default Cache;
