defmodule Frenzy.Pipeline.Stage do @callback apply(Map.t(), Map.t()) :: {:ok, Map.t()} | :tombstone | {:error, String.t()} @callback validate_opts(Map.t()) :: {:ok, Map.t()} | {:error, String.t()} @callback default_opts() :: Map.t() end