import { IParticipantAsPerson, IParticipantAsWebApplication, IParticipantAsSoftwareApplication, IParticipantAsProject, IAction as IBaseAction, IAttributes as IBaseAttributes } from '../../action'; import { ActionType } from '../../actionType'; import { IInstrumentAsApplication } from './instrumentAsApplication'; import { IObject } from './update/object'; import { IResult } from './update/result'; import { ITargetCollection } from './update/targetCollection'; export * from './update/object'; export * from './update/result'; export * from './update/targetCollection'; export type IAgent = IParticipantAsPerson | IParticipantAsWebApplication | IParticipantAsSoftwareApplication | IParticipantAsProject; export interface IInstrumentAsTask { typeOf: 'Task'; } export type IInstrument = IInstrumentAsApplication | IInstrumentAsTask; export interface IAttributes extends Pick, 'typeOf' | 'targetCollection' | 'sameAs' | 'result' | 'project' | 'object' | 'instrument' | 'error' | 'agent'> { potentialActions?: never; purpose?: never; agent: IAgent; instrument: IInstrument; targetCollection: ITargetCollection; } /** * 編集アクション */ export type IAction = IBaseAction;