import { MayBeArray } from './utility/utility'; import { Awaitable, ClassType, TypedMethodDecorator } from './def'; import { Aragami } from './aragami'; export declare const WithKey: (factory?: (param: any, obj: any, key: string) => Awaitable) => ParameterDecorator; export declare const WithLockKey: (factory?: (param: any, obj: any, key: string) => Awaitable>) => ParameterDecorator; export declare class WrapDecoratorBuilder { private aragamiFactory; constructor(aragamiFactory: (obj: any) => Awaitable); build(): { UseLock: () => TypedMethodDecorator<(...args: any[]) => Promise>; UseCache: (cl: ClassType) => TypedMethodDecorator<(...args: any[]) => Promise>; }; }