defmodule Replicate.Models.Behaviour do @moduledoc """ Documentation for the Model Behaviour """ @callback get!(name :: String.t()) :: Replicate.Models.Model.t() @callback get(name :: String.t()) :: {:ok, Replicate.Models.Model.t()} | {:error, String.t()} @callback get_version!(Replicate.Models.Model.t(), version :: String.t()) :: Replicate.Models.Version.t() @callback get_latest_version!(Replicate.Models.Model.t()) :: Replicate.Models.Version.t() @callback list_versions(Replicate.Models.Model.t()) :: [Replicate.Models.Version.t()] end