import type { GMOFactory } from '@gmopg/factory'; import { IHowToDirection as IBaseHowToDirection, IHowToSection as IBaseHowToSection, IHowToStep as IBaseHowToStep, IRecipe as IBaseRecipe, RecipeCategory, StepIdentifier } from '../recipe'; export type IEntryTranArgs = GMOFactory.service.credit.IEntryTranArgs; export type IEntryTranResult = GMOFactory.service.credit.IEntryTranResult; export type IExecTranArgs = GMOFactory.service.credit.IExecTranArgs; export type IExecTranResult = GMOFactory.service.credit.IExecTranResult; export type IExecTran3dsArgs = GMOFactory.service.credit.IExecTran3dsArgs; export type IExecTran3dsResult = GMOFactory.service.credit.IExecTran3dsResult; export interface IDirectionEntryTran extends IBaseHowToDirection { beforeMedia?: IEntryTranArgs; afterMedia?: IEntryTranResult; } export interface IDirectionExecTran extends IBaseHowToDirection { beforeMedia?: IExecTranArgs; afterMedia?: IExecTranResult | IExecTran3dsResult; } export interface IStepEntryTran extends IBaseHowToStep { identifier: StepIdentifier.entryTran; itemListElement: [IDirectionEntryTran]; } export interface IStepExecTran extends IBaseHowToStep { identifier: StepIdentifier.execTran; itemListElement: [IDirectionExecTran]; } export interface IHowToSection extends IBaseHowToSection { itemListElement: [IStepEntryTran, IStepExecTran]; } export interface IRecipe extends IBaseRecipe { recipeCategory: RecipeCategory.publishPaymentUrl; step: IHowToSection[]; }