import { Redis } from './interfaces';
/**
 * Redis Cache Helper
 * Added by Jason.Song (成长的小猪) on 2023/03/16 23:59:41
 */
export declare class RedisCacheHelper {
    private readonly redis;
    constructor(redis: Redis);
    /**
     * Set specified type data
     * Added by Jason.Song (成长的小猪) on 2023/03/17 00:01:01
     * @param key
     * @param value
     * @param expire Set a key's time to live in seconds, for example: 60, "30m", "8h", "7d". Values are interpreted as counts of seconds. If you use strings, make sure to provide time units (minutes, hours, days, etc.)
     * @returns
     */
    set(key: string, value: string | number | boolean | object, expire?: number | string): Promise<boolean>;
    /**
     * delete key
     * Added by Jason.Song (成长的小猪) on 2023/03/17 00:12:53
     * @param keys
     * @returns
     */
    del(...keys: string[]): Promise<number>;
    /**
     * Get string type data by key
     * Added by Jason.Song (成长的小猪) on 2023/03/17 00:13:31
     * @param key
     * @param defaults
     * @returns
     */
    getAsStr(key: string, defaults?: string): Promise<string | undefined>;
    /**
     * Get number type data by key
     * Added by Jason.Song (成长的小猪) on 2023/03/17 00:14:39
     * @param key
     * @param defaults
     * @returns
     */
    getAsNum(key: string, defaults?: number): Promise<number | undefined>;
    /**
     * Get boolean type data by key
     * Added by Jason.Song (成长的小猪) on 2023/03/17 00:18:03
     * @param key
     * @param defaults
     * @returns
     */
    getAsBool(key: string, defaults?: boolean): Promise<boolean | undefined>;
    /**
     * Get object type data by key
     * Added by Jason.Song (成长的小猪) on 2023/03/17 00:21:07
     * @param key
     * @param defaults
     * @returns
     */
    getAsObj<T>(key: string, defaults?: T): Promise<T | undefined>;
}
