import { Repository } from 'typeorm';
import { IdempotencyKey } from 'src/common/entities';
import { AppLoggerService } from 'src/common/services/logger.service';
export declare class IdempotencyRepository {
    private readonly repo;
    private readonly logger;
    constructor(repo: Repository<IdempotencyKey>, logger: AppLoggerService);
    tryInsertPending(idempotencyKey: string, endpoint: string, requestHash: string, userId: number | null): Promise<{
        id: number;
    } | null>;
    findByKeyAndEndpoint(idempotencyKey: string, endpoint: string, userId: number | null): Promise<IdempotencyKey | null>;
    incrementHitCount(id: number): Promise<void>;
    tryReclaimFailed(idempotencyKey: string, endpoint: string, requestHash: string, userId: number | null): Promise<{
        id: number;
    } | null>;
    markCompleted(id: number, responseData: object | null): Promise<void>;
    markFailed(id: number): Promise<void>;
}
