lib/bacen/sta/client.ex
defmodule Bacen.STA.Client do
@moduledoc """
The Bacen's STA http client behaviour.
"""
@typep error :: {:error, String.t() | atom()}
@typep xml_node :: %{attr: keyword(), name: atom(), value: list(any())}
@typep xml_nodes :: list(xml_node())
@type response ::
:ok
| {:ok, xml_nodes() | String.t()}
| error()
@callback send_protocol(String.t()) :: response()
@callback send_file_content(String.t(), String.t()) :: response()
end