import * as factory from '../../factory';
import type { ActionRepo } from '../../repo/action';
import type { AssetTransactionRepo } from '../../repo/assetTransaction';
import { OfferRateLimitRepo } from '../../repo/rateLimit/offer';
import { ReservationRepo } from '../../repo/reservation';
import type { SettingRepo } from '../../repo/setting';
import { StockHolderRepo } from '../../repo/stockHolder';
import type { TaskRepo } from '../../repo/task';
/**
 * 保留予約取消
 */
declare function cancelPendingReservation(actionAttributes: factory.task.cancelPendingReservation.IPotentialCancelAction): (repos: {
    action: ActionRepo;
    assetTransaction: AssetTransactionRepo;
    stockHolder: StockHolderRepo;
    offerRateLimit: OfferRateLimitRepo;
    reservation: ReservationRepo;
    setting: SettingRepo;
    task: TaskRepo;
}) => Promise<void>;
/**
 * 予約をキャンセルする
 */
declare function cancelReservation(actionAttributesList: factory.action.cancel.reservation.IAttributes[]): (repos: {
    action: ActionRepo;
    stockHolder: StockHolderRepo;
    offerRateLimit: OfferRateLimitRepo;
    reservation: ReservationRepo;
    setting: SettingRepo;
    task: TaskRepo;
    assetTransaction: AssetTransactionRepo;
}) => Promise<void>;
declare function processUnlockOfferRateLimit(params: {
    project: {
        id: string;
    };
    reservation: {
        reservationNumber: string;
        reservedTicket: factory.reservation.ITicket;
    };
    reservationFor: factory.assetTransaction.reserve.IReservationFor;
}): (repos: {
    offerRateLimit: OfferRateLimitRepo;
}) => Promise<void>;
export { cancelPendingReservation, cancelReservation, processUnlockOfferRateLimit };
