import * as factory from '../../factory';
import type { OrderInTransactionRepo } from '../../repo/orderInTransaction';
interface IAcceptOfferOperationRepos {
    orderInTransaction: OrderInTransactionRepo;
}
type IAcceptOfferOperation<T> = (repos: IAcceptOfferOperationRepos) => Promise<T>;
export type IAuthorizeActionWithInstrument = Pick<factory.action.authorize.offer.moneyTransfer.IAction | factory.action.authorize.offer.product.IAction | factory.action.authorize.offer.eventService.IAction, 'instrument'>;
export declare function acceptOffer(params: {
    orderNumber: string;
    project: {
        id: string;
    };
    acceptedOffers: factory.order.IAcceptedOffer<factory.order.IItemOffered>[];
}): IAcceptOfferOperation<void>;
export declare function voidAcceptedOffer(params: {
    /**
     * 取消対象の興行オファー承認アクション
     */
    /**
     * instrument.serialNumberからvoidする場合に指定
     */
    authorizeActionsWithInstrument: IAuthorizeActionWithInstrument[];
    orderNumber: string;
}): (repos: {
    orderInTransaction: OrderInTransactionRepo;
}) => Promise<void>;
export {};
