import { Cache } from '@nestjs/cache-manager';
import { ConfigService } from '@nestjs/config';
import { Events } from 'cache-manager';
import { Keyv } from 'cacheable';
export declare class AppCacheService {
    private readonly cacheManager;
    private readonly configService;
    private readonly logger;
    private readonly MEMORY_CACHE_FILE;
    constructor(cacheManager: Cache, configService: ConfigService);
    private isOnlyMemoryStore;
    restore(): Promise<void>;
    backup(): Promise<void>;
    get<T>(key: string): Promise<T | null>;
    mget<T>(keys: string[]): Promise<Array<T | null>>;
    ttl(key: string): Promise<number | null>;
    set<T>(key: string, value: T, ttl?: number): Promise<T>;
    mset<T>(list: Array<{
        key: string;
        value: T;
        ttl?: number;
    }>): Promise<Array<{
        key: string;
        value: T;
        ttl?: number;
    }>>;
    del(key: string): Promise<boolean>;
    mdel(keys: string[]): Promise<boolean>;
    clear(): Promise<boolean>;
    on<E extends keyof Events>(event: E, listener: Events[E]): import("events")<[never]>;
    off<E extends keyof Events>(event: E, listener: Events[E]): import("events")<[never]>;
    disconnect(): Promise<undefined>;
    get cacheId(): () => string;
    get stores(): Keyv<any>[];
    wrap<T>(key: unknown, fnc: () => Promise<T> | T, ttl?: unknown, refreshThreshold?: unknown): Promise<T>;
}
//# sourceMappingURL=appcache.service.d.ts.map