import { EventType } from '../Constants'; import { BoundaryEvent, EndEvent, Event, EventDefinition, IntermediateCatchEvent, IntermediateThrowEvent, StartEvent } from './EventBase'; /** * Describes a global BPMN Signal object. */ export type Signal = { id: string; name: string; }; /** * Contains the definition for a SignalEvent. */ export type SignalEventDefinition = EventDefinition & { id: string; name: string; }; /** * Describes a Flow Node with a Signal Event Definition. */ export type SignalEvent = Event & { readonly eventType: EventType.signalEvent; signalEventDefinition: SignalEventDefinition; signalChannel?: string; }; export type SignalBoundaryEvent = BoundaryEvent & SignalEvent; export type SignalStartEvent = StartEvent & SignalEvent; export type SignalEndEvent = EndEvent & SignalEvent; export type SignalIntermediateCatchEvent = IntermediateCatchEvent & SignalEvent; export type SignalIntermediateThrowEvent = IntermediateThrowEvent & SignalEvent;