import { IContractRepository } from '../../domain/repositories/IContractRepository'; import { ContractEntity } from '../../domain/entities/ContractEntity'; import { ICache } from '../../domain/services/caching/interfaces/ICache'; /** * Cached Contract Repository * Decorator pattern to add caching to any IContractRepository implementation. * Follows SOLID (Open/Closed) and Clean Architecture (Infrastructure layer). * * Uses ICache interface to allow swapping cache implementations (LRU, Redis, etc.) * without changing the repository logic. */ export declare class CachedContractRepository implements IContractRepository { private readonly repository; private readonly cache; private readonly ttl; constructor(repository: IContractRepository, cache: ICache, ttl?: number); save(contract: ContractEntity): Promise; findById(id: string): Promise; findByName(name: string): Promise; findAll(): Promise; findByCategory(category: string): Promise; findActive(): Promise; delete(id: string): Promise; exists(name: string): Promise; private invalidateContract; } //# sourceMappingURL=CachedContractRepository.d.ts.map