import { EntityManager, Repository } from 'typeorm';
import { SchemeInvoiceJob } from '../entities/SchemeInvoiceJob';
type ClaimedJob = {
    id: string;
    schemeId: string;
    attempts: number;
    maxAttempts: number;
};
export declare class SchemeInvoiceJobRepository {
    private repository;
    constructor(repository: Repository<SchemeInvoiceJob>);
    private normalizeRows;
    enqueueSchemeJob(schemeId: string): Promise<void>;
    claimJobs(limit: number, workerId: string, schemeId?: string): Promise<ClaimedJob[]>;
    markSuccess(jobId: string, manager?: EntityManager): Promise<void>;
    markFailure(jobId: string, attempts: number, maxAttempts: number, errorMessage: string): Promise<void>;
    reenqueueStaleAndFailed(staleMinutes?: number): Promise<number>;
}
export {};
//# sourceMappingURL=schemeInvoiceJob.repository.d.ts.map