import type { RedisClientType } from 'redis';
import * as factory from '../factory';
interface IProcessKey {
    typeOf: factory.transactionType;
    /**
     * 取引ID
     */
    id: string;
    project: {
        id: string;
    };
}
interface IOptions {
    lockExpiresInSeconds: number;
}
/**
 * 取引プロセスリポジトリ
 */
export declare class TransactionProcessRepo {
    private readonly concurrentLockRepo;
    private readonly options;
    constructor(redisClient: RedisClientType, options: IOptions);
    static CREATE_REDIS_KEY(params: Pick<IProcessKey, 'id' | 'typeOf'>): string;
    lock(params: IProcessKey): Promise<void>;
    unlock(params: Pick<IProcessKey, 'id' | 'typeOf'>): Promise<void>;
}
export {};
