# @sendbird/chat typescript issues

**URL:** <https://community.sendbird.com/t/sendbird-chat-typescript-issues/4469>\
**Category:** JavaScript\
**Tags:** chatsdk\
**Created:** [April 18, 2022, 3:07pm UTC](https://community.sendbird.com/t/sendbird-chat-typescript-issues/4469 "2022-04-18T15:07:04Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![Reagan](https://sea2.discourse-cdn.com/flex020/user_avatar/community.sendbird.com/reagan/32/1100_2.png) [@Reagan](https://community.sendbird.com/u/Reagan)\
**Post date:** [April 18, 2022, 3:07pm UTC](https://community.sendbird.com/t/sendbird-chat-typescript-issues/4469/2 "2022-04-18T15:07:19Z")

</div>

First off great to see Sendbird moving to first class Typescript support!

We are running into some initial issues around creating a type safe client with the new module system.

```javascript
let sendbirdChat: SendbirdChat; 

const init = () => {
  if (!sendbirdChat) {
    sendbirdChat = SendbirdChat.init({
      appId: 'APP_ID',
      localCacheEnabled: true,
      modules: [new GroupChannelModule()],
      useAsyncStorageStore: AsyncStorage,
    });
  }

  return sendbirdChat;
};

// @ts-expect-error Property 'groupChannel' does not exist on type 'SendbirdChat'
sendbirdChat.groupChannel

```

Any suggestions for how to create a type safe client that uses modules?

We could work around this if `ModuleNamespaces` and `Modules` types were exposed publicly

---

_[View the full topic](https://community.sendbird.com/t/sendbird-chat-typescript-issues/4469)._
