# `Tinkex.Files.Types`
[🔗](https://github.com/North-Shore-AI/tinkex/blob/v0.4.0/lib/tinkex/files/types.ex#L1)

Type helpers and guards for file upload inputs.

# `file_content`

```elixir
@type file_content() :: binary() | Path.t() | File.Stream.t() | iodata()
```

# `file_tuple`

```elixir
@type file_tuple() ::
  {String.t() | nil, file_content()}
  | {String.t() | nil, file_content(), String.t() | nil}
  | {String.t() | nil, file_content(), String.t() | nil, headers()}
```

# `file_types`

```elixir
@type file_types() :: file_content() | file_tuple()
```

# `header_kv`

```elixir
@type header_kv() :: {binary(), binary()}
```

# `headers`

```elixir
@type headers() :: %{optional(binary()) =&gt; binary()} | [header_kv()]
```

# `request_files`

```elixir
@type request_files() ::
  %{optional(String.t()) =&gt; file_types()} | [{String.t(), file_types()}]
```

# `file_content?`

```elixir
@spec file_content?(term()) :: boolean()
```

# `file_types?`

```elixir
@spec file_types?(term()) :: boolean()
```

---

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