import { type CacheDecoratorOptions, type CacheManager } from "./types"; type DecoratorTarget = { constructor: { name: string; }; }; /** * 캐시 매니저 참조 설정 (내부 사용) */ export declare function setCacheManagerRef(manager: CacheManager | null): void; /** * 캐시 매니저 참조 가져오기 (내부 사용) */ export declare function getCacheManagerRef(): CacheManager | null; /** * @cache 데코레이터 * * 메서드의 결과를 캐싱합니다. * * @example * class UserModelClass extends BaseModelClass<...> { * @cache({ ttl: '10m', tags: ['user'] }) * @api() * async findById(subset: UserSubsetKey, id: string) { * const { rows } = await this.findMany(subset, { id, num: 1, page: 1 }); * return rows[0]; * } * } */ export declare function cache(options?: CacheDecoratorOptions): (_target: DecoratorTarget, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor; export {}; //# sourceMappingURL=decorator.d.ts.map