import type * as COAService from '@motionpicture/coa-service';
import * as factory from '../../../../factory';
import { IMinimizedIndividualEvent } from '../../../../factory/event';
export type IAcceptedOffer4COA = factory.action.accept.coaOffer.IAcceptedOffer4COA;
export type IRequestBody = COAService.factory.reserve.IUpdTmpReserveSeatArgs;
export type IResponseBody = COAService.factory.reserve.IUpdTmpReserveSeatResult;
export declare function createAuthorizeSeatReservationActionAttributes(params: {
    acceptAction: {
        id: string;
    };
    event: {
        id: string;
        typeOf: factory.eventType.ScreeningEvent;
    };
    transaction: Pick<factory.transaction.ITransaction<factory.transactionType.PlaceOrder>, 'agent' | 'id' | 'project' | 'seller' | 'typeOf'>;
    pendingTransaction: factory.action.authorize.offer.eventService.ICOAPendingTransaction;
}): factory.action.authorize.offer.eventService.IAttributes;
/**
 * 供給情報から承認アクションの価格を導き出す
 */
export declare function offers2resultPrice(offers: IAcceptedOffer4COA[]): {
    price: number;
    eligibleMonetaryAmount: never[];
};
type IResultAcceptedOffer = factory.order.IAcceptedOffer<factory.order.IEventReservation>;
/**
 * COA仮予約結果から注文アイテムを生成する
 */
export declare function responseBody2acceptedOffers4result(params: {
    project: {
        id: string;
    };
    responseBody: IResponseBody;
    acceptedOffer: IAcceptedOffer4COA[];
    event: Pick<IMinimizedIndividualEvent<factory.eventType.ScreeningEvent>, 'coaInfo' | 'doorTime' | 'endDate' | 'id' | 'location' | 'startDate' | 'superEvent' | 'typeOf' | 'identifier' | 'name'>;
    seller: Pick<factory.transaction.placeOrder.ISeller, 'typeOf' | 'name'>;
    bookingTime: Date;
    totalPrice: number;
}): IResultAcceptedOffer[];
export {};
