# `Aludel.Interfaces.Storage.Behaviour`
[🔗](https://github.com/ccarvalho-eng/aludel/blob/main/lib/aludel/interfaces/storage/behaviour.ex#L1)

Behaviour for external document storage adapters.

# `config`

```elixir
@type config() :: keyword()
```

# `delete`

```elixir
@callback delete(String.t(), config()) :: :ok | {:error, term()}
```

# `get`

```elixir
@callback get(String.t(), config()) :: {:ok, binary()} | {:error, term()}
```

# `put`

```elixir
@callback put(String.t(), binary(), String.t(), config()) ::
  {:ok, String.t()} | {:error, term()}
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
