1 package com.android.onboarding.nodes 2 3 import java.time.Instant 4 5 /** An one-directional edge in the [OnboardingGraph]. */ 6 sealed interface OnboardingGraphEdge { 7 8 /** [OnboardingGraphNode] node this edge is linked to. */ 9 val node: OnboardingGraphNode 10 11 /** The time when this edge was initiated. */ 12 val timestamp: Instant 13 14 /** An [OnboardingGraphEdge] that was received by the [node]. */ 15 interface Incoming : OnboardingGraphEdge 16 17 /** An [OnboardingGraphEdge] that was initiated by the [node]. */ 18 interface Outgoing : OnboardingGraphEdge 19 } 20