type Fnc = (this: any, ...args: any[]) => R; export declare function cache>(func: F, delay?: number): (this: any, ...args: F extends (...args: infer P) => R ? P : never) => Promise; export declare function Cache(delay?: number): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor; export {};