package com.correx.core.transitions.resolution

import com.correx.core.events.types.StageId
import com.correx.core.events.types.TransitionId

sealed interface TransitionDecision {

    data class Move(
        val transitionId: TransitionId,
        val to: StageId
    ) : TransitionDecision

    data object Stay : TransitionDecision

    data class Blocked(
        val reason: String
    ) : TransitionDecision

    data object NoMatch : TransitionDecision
}
