import { IParticipantAsCustomer, IParticipantAsPerson, IParticipantAsProject, IParticipantAsWebApplication } from '../../../../action'; import { ICreativeWork as IEmailMessage } from '../../../../creativeWork/message/email'; import { ISimpleOrder } from '../../../../order'; import { IRecipe, ISendMultipleArgs, ISendMultipleResult } from '../../../../recipe/sendEmailMessage'; import { IAction as IBaseAction, IAttributes as IBaseAttributes } from '../../send'; export { IRecipe, ISendMultipleArgs, ISendMultipleResult }; export type IAgent = IParticipantAsProject; export type IRecipient = IParticipantAsWebApplication | IParticipantAsPerson | IParticipantAsCustomer; export type IObjectAsEmailMessage = Pick; export type IOptimizedObject = Pick & { identifier: string; text?: never; }; export type IObject = /** * @deprecated use IOptimizedObject */ IObjectAsEmailMessage | IOptimizedObject; export interface IResult { statusCode?: number; statusMessage?: string; } export type IPurpose = ISimpleOrder; export interface IAttributes extends Pick, 'typeOf' | 'sameAs' | 'result' | 'recipient' | 'purpose' | 'project' | 'object' | 'error' | 'agent'> { agent: IAgent; purpose: IPurpose; recipient: IRecipient; } /** * Eメール送信アクション */ export type IAction = IBaseAction;