export declare class ICacheClass { get: GetterFunction; set: SetterFunction; del: RemoveFunction; } export declare class ICacheClassPromise { get: GetterPromise; set: SetterPromise; del: RemovePromise; clear: GetterPromise; ignoreError: (e: Error) => void; } export declare type NodejsCallback = (err: Error, data: any) => void; export declare type SetterFunction = (name: string, value: Object, ttl: number, cb?: NodejsCallback) => void; export declare type RemoveFunction = (name: string, cb?: NodejsCallback) => void; export declare type GetterFunction = (name: string, cb: NodejsCallback) => void; export declare type CacheKeyType = (string | number)[]; export declare type SetterPromise = (name: CacheKeyType, value: any, ttl: number) => Promise; export declare type RemovePromise = (name: CacheKeyType) => Promise; export declare type GetterPromise = (name: CacheKeyType) => Promise; export declare function wrapCache(cache: ICacheClass, cache2?: ICacheClass): ICacheClassPromise;