# `Gemini.Types.FileSearchDocument`
[🔗](https://github.com/nshkrdotcom/gemini_ex/blob/v0.11.0/lib/gemini/types/file_search_store.ex#L304)

Represents a document within a File Search Store.

This is similar to the regular Document type but specific to file search stores.
Documents are created when files are imported into the store.

# `document_state`
[🔗](https://github.com/nshkrdotcom/gemini_ex/blob/v0.11.0/lib/gemini/types/file_search_store.ex#L317)

```elixir
@type document_state() :: :state_unspecified | :processing | :active | :failed
```

Document state in the file search store.

# `t`
[🔗](https://github.com/nshkrdotcom/gemini_ex/blob/v0.11.0/lib/gemini/types/file_search_store.ex#L324)

```elixir
@type t() :: %Gemini.Types.FileSearchDocument{
  chunk_count: integer() | nil,
  create_time: String.t() | nil,
  display_name: String.t() | nil,
  error: map() | nil,
  mime_type: String.t() | nil,
  name: String.t() | nil,
  size_bytes: integer() | nil,
  state: document_state() | nil,
  update_time: String.t() | nil
}
```

A document in a file search store.

## Fields

- `name` - Resource name (e.g., "fileSearchStores/abc/documents/xyz")
- `display_name` - Human-readable name
- `state` - Processing state
- `create_time` - When the document was created
- `update_time` - Last update timestamp
- `size_bytes` - Document size in bytes
- `mime_type` - MIME type of the document
- `chunk_count` - Number of chunks for indexing
- `error` - Error details if processing failed

# `active?`
[🔗](https://github.com/nshkrdotcom/gemini_ex/blob/v0.11.0/lib/gemini/types/file_search_store.ex#L385)

```elixir
@spec active?(t()) :: boolean()
```

Checks if the document is active.

# `from_api_response`
[🔗](https://github.com/nshkrdotcom/gemini_ex/blob/v0.11.0/lib/gemini/types/file_search_store.ex#L356)

```elixir
@spec from_api_response(map()) :: t()
```

Creates a FileSearchDocument from API response.

# `parse_state`
[🔗](https://github.com/nshkrdotcom/gemini_ex/blob/v0.11.0/lib/gemini/types/file_search_store.ex#L374)

```elixir
@spec parse_state(String.t() | nil) :: document_state() | nil
```

Parses document state from API string.

---

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