import * as factory from '../../../factory';
export type INotification = factory.notification.payAction.IPayAction4inform | factory.notification.refundAction.IRefundAction4inform;
export declare function creatPublishPaymentUrlParams(params: {
    accountId?: string;
    object: Pick<factory.action.authorize.paymentMethod.any.IObjectIncludingPaymentMethodDetails, 'amount' | 'creditCard' | 'issuedThrough' | 'method' | 'paymentMethod'>;
    paymentServiceType: factory.service.paymentService.PaymentServiceType;
    transaction: Pick<factory.transaction.ITransaction<factory.transactionType.PlaceOrder>, 'expires' | 'seller' | 'project'>;
    transactionNumber: string;
    location?: factory.action.trade.pay.ILocation;
    identifier?: string;
}): Pick<factory.assetTransaction.pay.IStartParamsWithoutDetail, 'agent' | 'location' | 'project' | 'recipient' | 'transactionNumber' | 'typeOf'> & {
    object: factory.action.accept.pay.IPayObject;
    identifier?: string;
};
export declare function creatPayTransactionStartParams(params: {
    accountId?: string;
    object: factory.action.authorize.paymentMethod.any.IObjectIncludingPaymentMethodDetails;
    paymentServiceType: factory.service.paymentService.PaymentServiceType;
    transaction: Pick<factory.transaction.ITransaction<factory.transactionType.PlaceOrder>, 'expires' | 'seller' | 'project'>;
    transactionNumber: string;
    location?: factory.action.trade.pay.ILocation;
    order: {
        /**
         * 決済カード決済承認の場合、事前発行済の確認番号を決済取引へ連携
         */
        confirmationNumber: string;
        orderNumber: string;
    };
    action: Pick<factory.action.authorize.invoice.IAction, 'id' | 'typeOf'>;
}): factory.assetTransaction.pay.IStartParamsWithoutDetail & {
    instrument: factory.action.trade.pay.IInstrument[];
};
export declare function createMovieTicket(params: factory.action.trade.pay.IMovieTicket): factory.action.trade.pay.IMovieTicket;
export declare function createAuthorizeResult(params: {
    object: factory.action.authorize.paymentMethod.any.IObjectIncludingPaymentMethodDetails;
    payTransaction: Pick<factory.assetTransaction.pay.ITransaction, 'object'>;
    permit?: Pick<factory.ownershipInfo.IPermitAsGood, 'identifier'>;
}): factory.action.authorize.paymentMethod.any.IResult;
/**
 * 通知対象としてのアクションを最適化
 */
export declare function optimizeAction4inform(action: Pick<factory.action.trade.pay.IAction, 'id' | 'object' | 'project' | 'typeOf'> | Pick<factory.action.trade.refund.IAction, 'id' | 'object' | 'project' | 'typeOf'>): INotification;
