import type { Redis } from "ioredis";
import { JobsRepo } from "./jobs-repo";
export declare function idempotent<Args extends any[]>(doIt: (...args: Args) => Promise<void>, keyBy?: (...args: Args) => string): (...args: Args) => Promise<void>;
export declare class QueueRepo {
    private readonly redis;
    private readonly jobsRepo;
    constructor(redis: Redis, jobsRepo: JobsRepo);
    private isMigrated;
    add: (endpoint: string, tokenId: string) => Promise<void>;
    get(tokenId: string): Promise<string[]>;
    private ensureMigrated;
}
