@startuml
!theme plain
package "infra-inference-commons" {
  interface ModelManager
  interface ManagedInferenceProvider
  class ModelDescriptor
  enum ResidencyMode
  class ModelLoadException
}
interface InferenceProvider <<core:inference>>
ManagedInferenceProvider --|> InferenceProvider
ModelManager --> ModelDescriptor : load()
ManagedInferenceProvider --> ModelDescriptor : load()
ModelDescriptor --> ResidencyMode
@enduml
