/** * Agentic QE v3 - Claim Repository * Persistent storage for test task claims * * Uses memory backend with optional vector search for semantic matching. * Supports filtering, sorting, and expiry management. */ import { Claim, ClaimFilter, ClaimSortOptions, IClaimRepository } from './interfaces'; import { MemoryBackend } from '../../kernel/interfaces'; /** * In-memory implementation of claim repository * Suitable for single-node deployments and testing */ export declare class InMemoryClaimRepository implements IClaimRepository { private readonly claims; create(claim: Claim): Promise; get(claimId: string): Promise; update(claim: Claim): Promise; delete(claimId: string): Promise; find(filter: ClaimFilter, sort?: ClaimSortOptions): Promise; count(filter: ClaimFilter): Promise; findExpired(): Promise; findStale(thresholdMs: number): Promise; private applyFilter; private applySort; /** Clear all claims (for testing) */ clear(): void; } /** * Persistent implementation using MemoryBackend * Supports distributed deployments with shared storage */ export declare class PersistentClaimRepository implements IClaimRepository { private readonly memory; private readonly namespace; constructor(memory: MemoryBackend, namespace?: string); create(claim: Claim): Promise; get(claimId: string): Promise; update(claim: Claim): Promise; delete(claimId: string): Promise; find(filter: ClaimFilter, sort?: ClaimSortOptions): Promise; count(filter: ClaimFilter): Promise; findExpired(): Promise; findStale(thresholdMs: number): Promise; private getClaimKey; private getIndexKey; private serializeClaim; private deserializeClaim; private serializeMetadata; private deserializeMetadata; private updateIndexes; private removeFromIndexes; private applyFilter; private applySort; } /** * Create an in-memory claim repository (for testing/single-node) */ export declare function createInMemoryClaimRepository(): IClaimRepository; /** * Create a persistent claim repository */ export declare function createPersistentClaimRepository(memory: MemoryBackend, namespace?: string): IClaimRepository; //# sourceMappingURL=claim-repository.d.ts.map