# `ExStreamClient.Model.ChannelMember`
[🔗](https://github.com/Tango-Tango/ex_stream_client/blob/main/lib/ex_stream_client/model/channel_member.ex#L1)

Schema representing a ChannelMember

# `t`

```elixir
@type t() :: %ExStreamClient.Model.ChannelMember{
  archived_at: (DateTime.t() | integer() | String.t()) | nil,
  ban_expires: (DateTime.t() | integer() | String.t()) | nil,
  banned: boolean(),
  channel_role: String.t(),
  created_at: DateTime.t() | integer() | String.t(),
  custom: %{optional(String.t()) =&gt; any()},
  deleted_at: (DateTime.t() | integer() | String.t()) | nil,
  invite_accepted_at: (DateTime.t() | integer() | String.t()) | nil,
  invite_rejected_at: (DateTime.t() | integer() | String.t()) | nil,
  invited: boolean() | nil,
  is_moderator: boolean() | nil,
  notifications_muted: boolean(),
  pinned_at: (DateTime.t() | integer() | String.t()) | nil,
  role: (:owner | :admin | :moderator | :member) | nil,
  shadow_banned: boolean(),
  status: String.t() | nil,
  updated_at: DateTime.t() | integer() | String.t(),
  user: ExStreamClient.Model.UserResponse.t() | nil,
  user_id: String.t() | nil
}
```

# `decode`

Components could just be enums that are typed - so we need to decode those as enums as they will just be stings

# `nested_components`

---

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