import type { COAFactory } from '@coasystems/factory'; import { IHowToDirection as IBaseHowToDirection, IHowToSection as IBaseHowToSection, IHowToStep as IBaseHowToStep, IRecipe as IBaseRecipe, RecipeCategory, StepIdentifier } from '../recipe'; export type IStateReserveArgs = COAFactory.reserve.IStateReserveArgs; export type IStateReserveResult = COAFactory.reserve.IStateReserveResult; export type IDelReserveArgs = COAFactory.reserve.IDelReserveArgs; export interface IDirectionStateReserve extends IBaseHowToDirection { beforeMedia?: IStateReserveArgs; afterMedia?: IStateReserveResult; } export interface IDirectionDelReserve extends IBaseHowToDirection { beforeMedia?: IDelReserveArgs; afterMedia?: never; } export interface IStepStateReserve extends IBaseHowToStep { identifier: StepIdentifier.stateReserve; itemListElement: [IDirectionStateReserve]; } export interface IStepDelReserve extends IBaseHowToStep { identifier: StepIdentifier.delReserve; itemListElement: [IDirectionDelReserve]; } export interface IHowToSection extends IBaseHowToSection { itemListElement: [IStepStateReserve, IStepDelReserve]; } export interface IRecipe extends IBaseRecipe { recipeCategory: RecipeCategory.returnCOAReserve; step: IHowToSection[]; }