import type { Connection } from 'mongoose';
import { RedisClientType } from 'redis';
import { ISetting } from './mongoose/schemas/setting';
interface IPublishResult {
    transactionNumber: string;
}
/**
 * 取引番号リポジトリ
 */
export declare class TransactionNumberRepo {
    private readonly settingModel;
    private readonly counterRepo;
    constructor(params: {
        redisClient: RedisClientType;
        connection: Connection;
    });
    /**
     * タイムスタンプから発行する
     */
    publishByTimestamp(params: {
        startDate: Date;
    }): Promise<IPublishResult>;
    /**
     * DB移行時のみに使用目的の設定更新
     */
    setUseMongo4transactionNumberFrom(params: {
        useMongo4transactionNumberFrom: Date;
    }): Promise<Pick<ISetting, "useMongo4transactionNumberFrom"> | null>;
    private useMongoBySettings;
}
export {};
