import type { SurfrockFactory } from '@surfrock/factory'; import { IHowToDirection as IBaseHowToDirection, IHowToSection as IBaseHowToSection, IHowToStep as IBaseHowToStep, IRecipe as IBaseRecipe, RecipeCategory, StepIdentifier } from '../recipe'; export interface IResultAsError { name: string; message: string; } export type ISeatInfoSyncCancelIn = SurfrockFactory.service.seat.seatInfoSyncCancel.ISeatInfoSyncCancelIn; export type ISeatInfoSyncCancelResult = SurfrockFactory.service.seat.seatInfoSyncCancel.ISeatInfoSyncCancelResult | IResultAsError; export type ISeatInfoSyncIn = SurfrockFactory.service.seat.seatInfoSync.ISeatInfoSyncIn; export type ISeatInfoSyncResult = SurfrockFactory.service.seat.seatInfoSync.ISeatInfoSyncResult | IResultAsError; export interface IDirectionSeatInfoSyncCancel extends IBaseHowToDirection { beforeMedia?: ISeatInfoSyncCancelIn; afterMedia?: ISeatInfoSyncCancelResult; } export interface IDirectionSeatInfoSync extends IBaseHowToDirection { beforeMedia?: ISeatInfoSyncIn; afterMedia?: ISeatInfoSyncResult; } export interface IStepSeatInfoSyncCancel extends IBaseHowToStep { identifier: StepIdentifier.seatInfoSyncCancel; itemListElement: [IDirectionSeatInfoSyncCancel]; } export interface IStepSeatInfoSync extends IBaseHowToStep { identifier: StepIdentifier.seatInfoSync; itemListElement: [IDirectionSeatInfoSync]; } export interface IHowToSection extends IBaseHowToSection { itemListElement: [IStepSeatInfoSyncCancel] | [IStepSeatInfoSync]; } export interface IRecipe extends IBaseRecipe { recipeCategory: RecipeCategory.refundMovieTicket; step: IHowToSection[]; }