/**
 * Interface defining the property object that describes the cases.
 *
 * @OvationCXMApi
 */
export interface JourneyWorkflowEventContextAttribute {
    name: string;
    value?: string;
}
export interface JourneyWorkflowEvent {
    name: string;
    source: string;
    type: string;
    kind?: 'produced' | 'consumed';
    objectReference?: string;
    contextAttributes?: JourneyWorkflowEventContextAttribute[];
}
export interface JourneyWorkflowActivity<TState, TOutput> {
    idFlowActivity: string;
    type: string;
    output?: Partial<TOutput>;
    complete: boolean;
    skipped: boolean;
    dateStarted?: string;
    dateCompleted?: string;
    dateSkipped?: string;
    args?: any;
    state?: Partial<TState>;
}
export interface JourneyWorkflowStep {
    idFlowStep: string;
    name: string;
    complete: boolean;
    skipped: boolean;
    dateStarted?: string;
    dateCompleted?: string;
    dateSkipped?: string;
    activities: JourneyWorkflowActivity<any, any>[];
}
export interface JourneyWorkflowStage {
    idFlowStage: string;
    name: string;
    complete: boolean;
    skipped: boolean;
    dateStarted?: string;
    dateCompleted?: string;
    dateSkipped?: string;
    steps: JourneyWorkflowStep[];
}
export interface JourneyWorkflow {
    id: string;
    idFlow?: string;
    idJourney?: string;
    isComplete: boolean;
    stages?: JourneyWorkflowStage[];
    events?: JourneyWorkflowEvent[];
    dateCreated?: string;
    dateUpdated?: string;
    dateCompleted?: string;
}
