# `Jido.Chat.GitHub.Transport`
[🔗](https://github.com/agentjido/jido_chat_github/blob/v1.0.0/lib/jido/chat/github/transport.ex#L1)

Transport contract for GitHub REST API calls used by the adapter.

# `create_issue`

```elixir
@callback create_issue(String.t(), String.t(), String.t(), String.t() | nil, keyword()) ::
  {:ok, map()} | {:error, term()}
```

# `create_issue_comment`

```elixir
@callback create_issue_comment(String.t(), String.t(), integer(), String.t(), keyword()) ::
  {:ok, map()} | {:error, term()}
```

# `create_issue_comment_reaction`

```elixir
@callback create_issue_comment_reaction(
  String.t(),
  String.t(),
  integer() | String.t(),
  String.t(),
  keyword()
) :: {:ok, map()} | {:error, term()}
```

# `create_issue_reaction`

```elixir
@callback create_issue_reaction(String.t(), String.t(), integer(), String.t(), keyword()) ::
  {:ok, map()} | {:error, term()}
```

# `delete_issue_comment`

```elixir
@callback delete_issue_comment(String.t(), String.t(), integer() | String.t(), keyword()) ::
  :ok | {:error, term()}
```

# `delete_issue_comment_reaction`

```elixir
@callback delete_issue_comment_reaction(
  String.t(),
  String.t(),
  integer() | String.t(),
  integer() | String.t(),
  keyword()
) :: :ok | {:error, term()}
```

# `delete_issue_reaction`

```elixir
@callback delete_issue_reaction(
  String.t(),
  String.t(),
  integer(),
  integer() | String.t(),
  keyword()
) :: :ok | {:error, term()}
```

# `get_issue`

```elixir
@callback get_issue(String.t(), String.t(), integer(), keyword()) ::
  {:ok, map()} | {:error, term()}
```

# `get_issue_comment`

```elixir
@callback get_issue_comment(String.t(), String.t(), integer() | String.t(), keyword()) ::
  {:ok, map()} | {:error, term()}
```

# `list_issue_comment_reactions`

```elixir
@callback list_issue_comment_reactions(
  String.t(),
  String.t(),
  integer() | String.t(),
  keyword()
) :: {:ok, [map()]} | {:error, term()}
```

# `list_issue_comments`

```elixir
@callback list_issue_comments(String.t(), String.t(), integer(), keyword()) ::
  {:ok, [map()]} | {:error, term()}
```

# `list_issue_reactions`

```elixir
@callback list_issue_reactions(String.t(), String.t(), integer(), keyword()) ::
  {:ok, [map()]} | {:error, term()}
```

# `list_issues`

```elixir
@callback list_issues(String.t(), String.t(), keyword()) ::
  {:ok, [map()]} | {:error, term()}
```

# `update_issue_comment`

```elixir
@callback update_issue_comment(
  String.t(),
  String.t(),
  integer() | String.t(),
  String.t(),
  keyword()
) :: {:ok, map()} | {:error, term()}
```

---

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