# `DirenvConfig.Client`
[🔗](https://github.com/noizu/direnv-config/blob/main/lib/direnv_config/client.ex#L1)

# `t`

```elixir
@type t() :: %DirenvConfig.Client{
  dc_binary: String.t(),
  mode: :native | :cli,
  store_path: String.t()
}
```

# `bump`

```elixir
@spec bump(t()) :: {:ok, non_neg_integer()} | {:error, term()}
```

# `get`

```elixir
@spec get(t(), String.t(), String.t() | nil) :: {:ok, term()} | :error
```

# `get!`

```elixir
@spec get!(t(), String.t(), String.t() | nil) :: term()
```

# `get_bool`

```elixir
@spec get_bool(t(), String.t(), String.t()) :: {:ok, boolean()} | :error
```

# `get_int`

```elixir
@spec get_int(t(), String.t(), String.t()) :: {:ok, integer()} | :error
```

# `get_string`

```elixir
@spec get_string(t(), String.t(), String.t()) :: {:ok, String.t()} | :error
```

# `has_changed?`

```elixir
@spec has_changed?(t(), non_neg_integer()) :: boolean()
```

# `list_configs`

```elixir
@spec list_configs(t()) :: {:ok, [String.t()]} | :error
```

# `new`

```elixir
@spec new(keyword()) :: t()
```

# `set`

```elixir
@spec set(t(), String.t(), String.t(), String.t(), keyword()) ::
  :ok | {:error, term()}
```

# `unset`

```elixir
@spec unset(t(), String.t(), [String.t()], keyword()) :: :ok | {:error, term()}
```

# `version`

```elixir
@spec version(t()) :: non_neg_integer()
```

---

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