@stream-io/node-sdk 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. package/.readme-assets/Github-Graphic-JS.jpg +0 -0
  2. package/LICENSE +219 -0
  3. package/README.md +29 -0
  4. package/dist/__tests__/block-lists.test.d.ts +1 -0
  5. package/dist/__tests__/call-members.test.d.ts +1 -0
  6. package/dist/__tests__/call-types.test.d.ts +1 -0
  7. package/dist/__tests__/call.test.d.ts +1 -0
  8. package/dist/__tests__/channel-types.test.d.ts +1 -0
  9. package/dist/__tests__/channel.test.d.ts +1 -0
  10. package/dist/__tests__/command.test.d.ts +1 -0
  11. package/dist/__tests__/create-token.test.d.ts +1 -0
  12. package/dist/__tests__/devices-push.test.d.ts +1 -0
  13. package/dist/__tests__/messages.test.d.ts +1 -0
  14. package/dist/__tests__/permissions-app-settings.test.d.ts +1 -0
  15. package/dist/__tests__/user-compat.test.d.ts +1 -0
  16. package/dist/__tests__/users.test.d.ts +1 -0
  17. package/dist/index.cjs.js +8789 -0
  18. package/dist/index.cjs.js.map +1 -0
  19. package/dist/index.d.ts +7 -0
  20. package/dist/index.es.js +8708 -0
  21. package/dist/index.es.js.map +1 -0
  22. package/dist/src/StreamCall.d.ts +37 -0
  23. package/dist/src/StreamChannel.d.ts +39 -0
  24. package/dist/src/StreamChatClient.d.ts +31 -0
  25. package/dist/src/StreamClient.d.ts +68 -0
  26. package/dist/src/StreamVideoClient.d.ts +16 -0
  27. package/dist/src/gen/chat/apis/ChannelTypesApi.d.ts +81 -0
  28. package/dist/src/gen/chat/apis/ChannelsApi.d.ts +308 -0
  29. package/dist/src/gen/chat/apis/CustomCommandsApi.d.ts +81 -0
  30. package/dist/src/gen/chat/apis/DefaultApi.d.ts +60 -0
  31. package/dist/src/gen/chat/apis/DevicesApi.d.ts +58 -0
  32. package/dist/src/gen/chat/apis/EventsApi.d.ts +64 -0
  33. package/dist/src/gen/chat/apis/FilesApi.d.ts +81 -0
  34. package/dist/src/gen/chat/apis/GDPRApi.d.ts +114 -0
  35. package/dist/src/gen/chat/apis/ImportsApi.d.ts +67 -0
  36. package/dist/src/gen/chat/apis/MessagesApi.d.ts +370 -0
  37. package/dist/src/gen/chat/apis/ModerationApi.d.ts +271 -0
  38. package/dist/src/gen/chat/apis/PermissionsV2Api.d.ts +77 -0
  39. package/dist/src/gen/chat/apis/PushApi.d.ts +65 -0
  40. package/dist/src/gen/chat/apis/ReactionsApi.d.ts +62 -0
  41. package/dist/src/gen/chat/apis/ServerSideApi.d.ts +31 -0
  42. package/dist/src/gen/chat/apis/SettingsApi.d.ts +257 -0
  43. package/dist/src/gen/chat/apis/TasksApi.d.ts +31 -0
  44. package/dist/src/gen/chat/apis/TestingApi.d.ts +57 -0
  45. package/dist/src/gen/chat/apis/UsersApi.d.ts +313 -0
  46. package/dist/src/gen/chat/apis/index.d.ts +19 -0
  47. package/dist/src/gen/chat/index.d.ts +3 -0
  48. package/dist/src/gen/chat/models/index.d.ts +15624 -0
  49. package/dist/src/gen/chat/runtime.d.ts +180 -0
  50. package/dist/src/gen/video/apis/DefaultApi.d.ts +505 -0
  51. package/dist/src/gen/video/apis/ServerSideApi.d.ts +81 -0
  52. package/dist/src/gen/video/apis/index.d.ts +2 -0
  53. package/dist/src/gen/video/index.d.ts +3 -0
  54. package/dist/src/gen/video/models/index.d.ts +4733 -0
  55. package/dist/src/gen/video/runtime.d.ts +180 -0
  56. package/dist/src/types.d.ts +1 -0
  57. package/dist/src/utils/create-token.d.ts +3 -0
  58. package/index.ts +7 -0
  59. package/package.json +47 -0
  60. package/src/StreamCall.ts +161 -0
  61. package/src/StreamChannel.ts +165 -0
  62. package/src/StreamChatClient.ts +102 -0
  63. package/src/StreamClient.ts +440 -0
  64. package/src/StreamVideoClient.ts +63 -0
  65. package/src/gen/chat/.openapi-generator/FILES +24 -0
  66. package/src/gen/chat/.openapi-generator/VERSION +1 -0
  67. package/src/gen/chat/.openapi-generator-ignore +23 -0
  68. package/src/gen/chat/apis/ChannelTypesApi.ts +275 -0
  69. package/src/gen/chat/apis/ChannelsApi.ts +1221 -0
  70. package/src/gen/chat/apis/CustomCommandsApi.ts +276 -0
  71. package/src/gen/chat/apis/DefaultApi.ts +196 -0
  72. package/src/gen/chat/apis/DevicesApi.ts +180 -0
  73. package/src/gen/chat/apis/EventsApi.ts +220 -0
  74. package/src/gen/chat/apis/FilesApi.ts +312 -0
  75. package/src/gen/chat/apis/GDPRApi.ts +418 -0
  76. package/src/gen/chat/apis/ImportsApi.ts +222 -0
  77. package/src/gen/chat/apis/MessagesApi.ts +1475 -0
  78. package/src/gen/chat/apis/ModerationApi.ts +1038 -0
  79. package/src/gen/chat/apis/PermissionsV2Api.ts +259 -0
  80. package/src/gen/chat/apis/PushApi.ts +183 -0
  81. package/src/gen/chat/apis/ReactionsApi.ts +202 -0
  82. package/src/gen/chat/apis/ServerSideApi.ts +79 -0
  83. package/src/gen/chat/apis/SettingsApi.ts +948 -0
  84. package/src/gen/chat/apis/TasksApi.ts +75 -0
  85. package/src/gen/chat/apis/TestingApi.ts +185 -0
  86. package/src/gen/chat/apis/UsersApi.ts +1203 -0
  87. package/src/gen/chat/apis/index.ts +30 -0
  88. package/src/gen/chat/index.ts +5 -0
  89. package/src/gen/chat/models/index.ts +15541 -0
  90. package/src/gen/chat/runtime.ts +415 -0
  91. package/src/gen/video/.openapi-generator/FILES +7 -0
  92. package/src/gen/video/.openapi-generator/VERSION +1 -0
  93. package/src/gen/video/.openapi-generator-ignore +23 -0
  94. package/src/gen/video/apis/DefaultApi.ts +1997 -0
  95. package/src/gen/video/apis/ServerSideApi.ts +276 -0
  96. package/src/gen/video/apis/index.ts +4 -0
  97. package/src/gen/video/index.ts +5 -0
  98. package/src/gen/video/models/index.ts +4642 -0
  99. package/src/gen/video/runtime.ts +415 -0
  100. package/src/types.ts +1 -0
  101. package/src/utils/create-token.ts +49 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.es.js","sources":["../../src/gen/chat/models/index.ts","../../src/gen/video/models/index.ts","../node_modules/tslib/tslib.es6.js","../../src/gen/chat/runtime.ts","../../src/gen/chat/apis/ChannelTypesApi.ts","../../src/gen/chat/apis/ChannelsApi.ts","../../src/gen/chat/apis/CustomCommandsApi.ts","../../src/gen/chat/apis/DevicesApi.ts","../../src/gen/chat/apis/EventsApi.ts","../../src/gen/chat/apis/MessagesApi.ts","../../src/gen/chat/apis/PermissionsV2Api.ts","../../src/gen/chat/apis/PushApi.ts","../../src/gen/chat/apis/ServerSideApi.ts","../../src/gen/chat/apis/SettingsApi.ts","../../src/gen/chat/apis/TasksApi.ts","../../src/gen/chat/apis/TestingApi.ts","../../src/gen/chat/apis/UsersApi.ts","../../src/StreamChannel.ts","../../src/StreamChatClient.ts","../../src/gen/video/runtime.ts","../../src/gen/video/apis/DefaultApi.ts","../../src/gen/video/apis/ServerSideApi.ts","../../src/StreamCall.ts","../../src/StreamVideoClient.ts","../../src/utils/create-token.ts","../../src/StreamClient.ts"],"sourcesContent":["/* tslint:disable */\n/* eslint-disable */\n/**\n * \n * @export\n * @interface APIError\n */\nexport interface APIError {\n /**\n * Response HTTP status code\n * @type {number}\n * @memberof APIError\n */\n StatusCode: number;\n /**\n * API error code\n * @type {number}\n * @memberof APIError\n */\n code: number;\n /**\n * Additional error-specific information\n * @type {Array<number>}\n * @memberof APIError\n */\n details: Array<number>;\n /**\n * Request duration\n * @type {string}\n * @memberof APIError\n */\n duration: string;\n /**\n * Additional error info\n * @type {{ [key: string]: string; }}\n * @memberof APIError\n */\n exception_fields?: { [key: string]: string; };\n /**\n * Message describing an error\n * @type {string}\n * @memberof APIError\n */\n message: string;\n /**\n * URL with additional information\n * @type {string}\n * @memberof APIError\n */\n more_info: string;\n}\n/**\n * \n * @export\n * @interface APNConfigFields\n */\nexport interface APNConfigFields {\n /**\n * \n * @type {string}\n * @memberof APNConfigFields\n */\n auth_key?: string;\n /**\n * \n * @type {string}\n * @memberof APNConfigFields\n */\n auth_type?: string;\n /**\n * \n * @type {string}\n * @memberof APNConfigFields\n */\n bundle_id?: string;\n /**\n * \n * @type {boolean}\n * @memberof APNConfigFields\n */\n development: boolean;\n /**\n * \n * @type {boolean}\n * @memberof APNConfigFields\n */\n enabled: boolean;\n /**\n * \n * @type {string}\n * @memberof APNConfigFields\n */\n host?: string;\n /**\n * \n * @type {string}\n * @memberof APNConfigFields\n */\n key_id?: string;\n /**\n * \n * @type {string}\n * @memberof APNConfigFields\n */\n notification_template: string;\n /**\n * \n * @type {string}\n * @memberof APNConfigFields\n */\n p12_cert?: string;\n /**\n * \n * @type {string}\n * @memberof APNConfigFields\n */\n team_id?: string;\n}\n/**\n * \n * @export\n * @interface APNConfigRequest\n */\nexport interface APNConfigRequest {\n /**\n * \n * @type {boolean}\n * @memberof APNConfigRequest\n */\n Disabled?: boolean;\n /**\n * \n * @type {string}\n * @memberof APNConfigRequest\n */\n auth_key?: string;\n /**\n * \n * @type {string}\n * @memberof APNConfigRequest\n */\n auth_type?: APNConfigRequestAuthTypeEnum;\n /**\n * \n * @type {string}\n * @memberof APNConfigRequest\n */\n bundle_id?: string;\n /**\n * \n * @type {boolean}\n * @memberof APNConfigRequest\n */\n development?: boolean;\n /**\n * \n * @type {string}\n * @memberof APNConfigRequest\n */\n host?: string;\n /**\n * \n * @type {string}\n * @memberof APNConfigRequest\n */\n key_id?: string;\n /**\n * \n * @type {string}\n * @memberof APNConfigRequest\n */\n notification_template?: string;\n /**\n * \n * @type {string}\n * @memberof APNConfigRequest\n */\n p12_cert?: string;\n /**\n * \n * @type {string}\n * @memberof APNConfigRequest\n */\n team_id?: string;\n}\n\n\n/**\n * @export\n */\nexport const APNConfigRequestAuthTypeEnum = {\n CERTIFICATE: 'certificate',\n TOKEN: 'token'\n} as const;\nexport type APNConfigRequestAuthTypeEnum = typeof APNConfigRequestAuthTypeEnum[keyof typeof APNConfigRequestAuthTypeEnum];\n\n/**\n * \n * @export\n * @interface APNS\n */\nexport interface APNS {\n /**\n * \n * @type {string}\n * @memberof APNS\n */\n body: string;\n /**\n * \n * @type {string}\n * @memberof APNS\n */\n title: string;\n}\n/**\n * \n * @export\n * @interface Action\n */\nexport interface Action {\n /**\n * \n * @type {string}\n * @memberof Action\n */\n name: string;\n /**\n * \n * @type {string}\n * @memberof Action\n */\n style?: string;\n /**\n * \n * @type {string}\n * @memberof Action\n */\n text: string;\n /**\n * \n * @type {string}\n * @memberof Action\n */\n type: string;\n /**\n * \n * @type {string}\n * @memberof Action\n */\n value?: string;\n}\n/**\n * \n * @export\n * @interface ActionRequest\n */\nexport interface ActionRequest {\n /**\n * \n * @type {string}\n * @memberof ActionRequest\n */\n name?: string;\n /**\n * \n * @type {string}\n * @memberof ActionRequest\n */\n style?: string;\n /**\n * \n * @type {string}\n * @memberof ActionRequest\n */\n text?: string;\n /**\n * \n * @type {string}\n * @memberof ActionRequest\n */\n type?: string;\n /**\n * \n * @type {string}\n * @memberof ActionRequest\n */\n value?: string;\n}\n/**\n * \n * @export\n * @interface AgoraCall\n */\nexport interface AgoraCall {\n /**\n * \n * @type {string}\n * @memberof AgoraCall\n */\n channel: string;\n}\n/**\n * \n * @export\n * @interface AnyEvent\n */\nexport interface AnyEvent {\n /**\n * \n * @type {string}\n * @memberof AnyEvent\n */\n created_at: string;\n /**\n * \n * @type {string}\n * @memberof AnyEvent\n */\n type: string;\n}\n/**\n * \n * @export\n * @interface App\n */\nexport interface App {\n /**\n * \n * @type {Config}\n * @memberof App\n */\n agora_options?: Config;\n /**\n * \n * @type {boolean}\n * @memberof App\n */\n async_url_enrich_enabled: boolean;\n /**\n * \n * @type {boolean}\n * @memberof App\n */\n auto_translation_enabled?: boolean;\n /**\n * \n * @type {string}\n * @memberof App\n */\n before_message_send_hook_url?: string;\n /**\n * \n * @type {{ [key: string]: CallType; }}\n * @memberof App\n */\n call_types: { [key: string]: CallType; };\n /**\n * \n * @type {boolean}\n * @memberof App\n */\n campaign_enabled: boolean;\n /**\n * \n * @type {number}\n * @memberof App\n */\n cdn_expiration_seconds: number;\n /**\n * Object with channel configs\n * @type {{ [key: string]: ChannelConfig; }}\n * @memberof App\n */\n channel_configs: { [key: string]: ChannelConfig; };\n /**\n * \n * @type {string}\n * @memberof App\n */\n custom_action_handler_url: string;\n /**\n * \n * @type {boolean}\n * @memberof App\n */\n disable_auth_checks: boolean;\n /**\n * \n * @type {boolean}\n * @memberof App\n */\n disable_permissions_checks: boolean;\n /**\n * \n * @type {string}\n * @memberof App\n */\n enforce_unique_usernames: string;\n /**\n * \n * @type {FileUploadConfig}\n * @memberof App\n */\n file_upload_config: FileUploadConfig;\n /**\n * \n * @type {Array<GeofenceResponse>}\n * @memberof App\n */\n geofences?: Array<GeofenceResponse>;\n /**\n * \n * @type {{ [key: string]: Array<string>; }}\n * @memberof App\n */\n grants: { [key: string]: Array<string>; };\n /**\n * \n * @type {Config}\n * @memberof App\n */\n hms_options?: Config;\n /**\n * \n * @type {boolean}\n * @memberof App\n */\n image_moderation_enabled: boolean;\n /**\n * \n * @type {Array<string>}\n * @memberof App\n */\n image_moderation_labels?: Array<string>;\n /**\n * \n * @type {FileUploadConfig}\n * @memberof App\n */\n image_upload_config: FileUploadConfig;\n /**\n * \n * @type {boolean}\n * @memberof App\n */\n multi_tenant_enabled: boolean;\n /**\n * \n * @type {string}\n * @memberof App\n */\n name: string;\n /**\n * \n * @type {string}\n * @memberof App\n */\n organization: string;\n /**\n * \n * @type {string}\n * @memberof App\n */\n permission_version: string;\n /**\n * \n * @type {{ [key: string]: Array<Policy>; }}\n * @memberof App\n */\n policies: { [key: string]: Array<Policy>; };\n /**\n * \n * @type {PushNotificationFields}\n * @memberof App\n */\n push_notifications: PushNotificationFields;\n /**\n * \n * @type {number}\n * @memberof App\n */\n reminders_interval: number;\n /**\n * \n * @type {string}\n * @memberof App\n */\n revoke_tokens_issued_before?: string;\n /**\n * Backend implementation used for search\n * @type {string}\n * @memberof App\n */\n search_backend: AppSearchBackendEnum;\n /**\n * \n * @type {string}\n * @memberof App\n */\n sqs_key: string;\n /**\n * \n * @type {string}\n * @memberof App\n */\n sqs_secret: string;\n /**\n * \n * @type {string}\n * @memberof App\n */\n sqs_url: string;\n /**\n * \n * @type {boolean}\n * @memberof App\n */\n suspended: boolean;\n /**\n * \n * @type {string}\n * @memberof App\n */\n suspended_explanation: string;\n /**\n * \n * @type {Array<string>}\n * @memberof App\n */\n user_search_disallowed_roles: Array<string>;\n /**\n * \n * @type {string}\n * @memberof App\n */\n video_provider: string;\n /**\n * \n * @type {Array<string>}\n * @memberof App\n */\n webhook_events: Array<string>;\n /**\n * \n * @type {string}\n * @memberof App\n */\n webhook_url: string;\n}\n\n\n/**\n * @export\n */\nexport const AppSearchBackendEnum = {\n ELASTICSEARCH: 'elasticsearch',\n POSTGRES: 'postgres',\n DISABLED: 'disabled'\n} as const;\nexport type AppSearchBackendEnum = typeof AppSearchBackendEnum[keyof typeof AppSearchBackendEnum];\n\n/**\n * \n * @export\n * @interface AsyncModerationCallbackConfigRequest\n */\nexport interface AsyncModerationCallbackConfigRequest {\n /**\n * \n * @type {string}\n * @memberof AsyncModerationCallbackConfigRequest\n */\n mode?: AsyncModerationCallbackConfigRequestModeEnum;\n /**\n * \n * @type {string}\n * @memberof AsyncModerationCallbackConfigRequest\n */\n server_url?: string;\n}\n\n\n/**\n * @export\n */\nexport const AsyncModerationCallbackConfigRequestModeEnum = {\n NONE: 'CALLBACK_MODE_NONE',\n REST: 'CALLBACK_MODE_REST',\n TWIRP: 'CALLBACK_MODE_TWIRP'\n} as const;\nexport type AsyncModerationCallbackConfigRequestModeEnum = typeof AsyncModerationCallbackConfigRequestModeEnum[keyof typeof AsyncModerationCallbackConfigRequestModeEnum];\n\n/**\n * \n * @export\n * @interface AsyncModerationConfigurationRequest\n */\nexport interface AsyncModerationConfigurationRequest {\n /**\n * \n * @type {AsyncModerationCallbackConfigRequest}\n * @memberof AsyncModerationConfigurationRequest\n */\n callback?: AsyncModerationCallbackConfigRequest;\n /**\n * \n * @type {number}\n * @memberof AsyncModerationConfigurationRequest\n */\n timeout_ms?: number;\n}\n/**\n * \n * @export\n * @interface Attachment\n */\nexport interface Attachment {\n [key: string]: any | any;\n /**\n * \n * @type {Array<Action>}\n * @memberof Attachment\n */\n actions?: Array<Action>;\n /**\n * \n * @type {string}\n * @memberof Attachment\n */\n asset_url?: string;\n /**\n * \n * @type {string}\n * @memberof Attachment\n */\n author_icon?: string;\n /**\n * \n * @type {string}\n * @memberof Attachment\n */\n author_link?: string;\n /**\n * \n * @type {string}\n * @memberof Attachment\n */\n author_name?: string;\n /**\n * \n * @type {string}\n * @memberof Attachment\n */\n color?: string;\n /**\n * \n * @type {string}\n * @memberof Attachment\n */\n fallback?: string;\n /**\n * \n * @type {Array<Field>}\n * @memberof Attachment\n */\n fields?: Array<Field>;\n /**\n * \n * @type {string}\n * @memberof Attachment\n */\n footer?: string;\n /**\n * \n * @type {string}\n * @memberof Attachment\n */\n footer_icon?: string;\n /**\n * \n * @type {Images}\n * @memberof Attachment\n */\n giphy?: Images;\n /**\n * \n * @type {string}\n * @memberof Attachment\n */\n image_url?: string;\n /**\n * \n * @type {string}\n * @memberof Attachment\n */\n og_scrape_url?: string;\n /**\n * \n * @type {number}\n * @memberof Attachment\n */\n original_height?: number;\n /**\n * \n * @type {number}\n * @memberof Attachment\n */\n original_width?: number;\n /**\n * \n * @type {string}\n * @memberof Attachment\n */\n pretext?: string;\n /**\n * \n * @type {string}\n * @memberof Attachment\n */\n text?: string;\n /**\n * \n * @type {string}\n * @memberof Attachment\n */\n thumb_url?: string;\n /**\n * \n * @type {string}\n * @memberof Attachment\n */\n title?: string;\n /**\n * \n * @type {string}\n * @memberof Attachment\n */\n title_link?: string;\n /**\n * Attachment type (e.g. image, video, url)\n * @type {string}\n * @memberof Attachment\n */\n type?: string;\n}\n/**\n * \n * @export\n * @interface AttachmentRequest\n */\nexport interface AttachmentRequest {\n [key: string]: any | any;\n /**\n * \n * @type {Array<ActionRequest>}\n * @memberof AttachmentRequest\n */\n actions?: Array<ActionRequest>;\n /**\n * \n * @type {string}\n * @memberof AttachmentRequest\n */\n asset_url?: string;\n /**\n * \n * @type {string}\n * @memberof AttachmentRequest\n */\n author_icon?: string;\n /**\n * \n * @type {string}\n * @memberof AttachmentRequest\n */\n author_link?: string;\n /**\n * \n * @type {string}\n * @memberof AttachmentRequest\n */\n author_name?: string;\n /**\n * \n * @type {string}\n * @memberof AttachmentRequest\n */\n color?: string;\n /**\n * \n * @type {string}\n * @memberof AttachmentRequest\n */\n fallback?: string;\n /**\n * \n * @type {Array<FieldRequest>}\n * @memberof AttachmentRequest\n */\n fields?: Array<FieldRequest>;\n /**\n * \n * @type {string}\n * @memberof AttachmentRequest\n */\n footer?: string;\n /**\n * \n * @type {string}\n * @memberof AttachmentRequest\n */\n footer_icon?: string;\n /**\n * \n * @type {ImagesRequest}\n * @memberof AttachmentRequest\n */\n giphy?: ImagesRequest;\n /**\n * \n * @type {string}\n * @memberof AttachmentRequest\n */\n image_url?: string;\n /**\n * \n * @type {string}\n * @memberof AttachmentRequest\n */\n og_scrape_url?: string;\n /**\n * \n * @type {number}\n * @memberof AttachmentRequest\n */\n original_height?: number;\n /**\n * \n * @type {number}\n * @memberof AttachmentRequest\n */\n original_width?: number;\n /**\n * \n * @type {string}\n * @memberof AttachmentRequest\n */\n pretext?: string;\n /**\n * \n * @type {string}\n * @memberof AttachmentRequest\n */\n text?: string;\n /**\n * \n * @type {string}\n * @memberof AttachmentRequest\n */\n thumb_url?: string;\n /**\n * \n * @type {string}\n * @memberof AttachmentRequest\n */\n title?: string;\n /**\n * \n * @type {string}\n * @memberof AttachmentRequest\n */\n title_link?: string;\n /**\n * Attachment type (e.g. image, video, url)\n * @type {string}\n * @memberof AttachmentRequest\n */\n type?: string;\n}\n/**\n * \n * @export\n * @interface AudioSettings\n */\nexport interface AudioSettings {\n /**\n * \n * @type {boolean}\n * @memberof AudioSettings\n */\n access_request_enabled: boolean;\n /**\n * \n * @type {string}\n * @memberof AudioSettings\n */\n default_device: AudioSettingsDefaultDeviceEnum;\n /**\n * \n * @type {boolean}\n * @memberof AudioSettings\n */\n mic_default_on: boolean;\n /**\n * \n * @type {boolean}\n * @memberof AudioSettings\n */\n opus_dtx_enabled: boolean;\n /**\n * \n * @type {boolean}\n * @memberof AudioSettings\n */\n redundant_coding_enabled: boolean;\n /**\n * \n * @type {boolean}\n * @memberof AudioSettings\n */\n speaker_default_on: boolean;\n}\n\n\n/**\n * @export\n */\nexport const AudioSettingsDefaultDeviceEnum = {\n SPEAKER: 'speaker',\n EARPIECE: 'earpiece'\n} as const;\nexport type AudioSettingsDefaultDeviceEnum = typeof AudioSettingsDefaultDeviceEnum[keyof typeof AudioSettingsDefaultDeviceEnum];\n\n/**\n * \n * @export\n * @interface AutomodDetails\n */\nexport interface AutomodDetails {\n /**\n * \n * @type {string}\n * @memberof AutomodDetails\n */\n action?: string;\n /**\n * \n * @type {Array<string>}\n * @memberof AutomodDetails\n */\n image_labels?: Array<string>;\n /**\n * \n * @type {FlagMessageDetails}\n * @memberof AutomodDetails\n */\n message_details?: FlagMessageDetails;\n /**\n * \n * @type {string}\n * @memberof AutomodDetails\n */\n original_message_type?: string;\n /**\n * \n * @type {MessageModerationResult}\n * @memberof AutomodDetails\n */\n result?: MessageModerationResult;\n}\n/**\n * \n * @export\n * @interface BackstageSettings\n */\nexport interface BackstageSettings {\n /**\n * \n * @type {boolean}\n * @memberof BackstageSettings\n */\n enabled: boolean;\n}\n/**\n * \n * @export\n * @interface BanRequest\n */\nexport interface BanRequest {\n /**\n * \n * @type {UserObjectRequest}\n * @memberof BanRequest\n */\n banned_by?: UserObjectRequest;\n /**\n * User ID who issued a ban\n * @type {string}\n * @memberof BanRequest\n */\n banned_by_id?: string;\n /**\n * Channel ID to ban user in\n * @type {string}\n * @memberof BanRequest\n */\n id?: string;\n /**\n * Whether to perform IP ban or not\n * @type {boolean}\n * @memberof BanRequest\n */\n ip_ban?: boolean;\n /**\n * Ban reason\n * @type {string}\n * @memberof BanRequest\n */\n reason?: string;\n /**\n * Whether to perform shadow ban or not\n * @type {boolean}\n * @memberof BanRequest\n */\n shadow?: boolean;\n /**\n * ID of user to ban\n * @type {string}\n * @memberof BanRequest\n */\n target_user_id: string;\n /**\n * Timeout of ban in minutes. User will be unbanned after this period of time\n * @type {number}\n * @memberof BanRequest\n */\n timeout?: number;\n /**\n * Channel type to ban user in\n * @type {string}\n * @memberof BanRequest\n */\n type?: string;\n /**\n * \n * @type {UserObjectRequest}\n * @memberof BanRequest\n */\n user?: UserObjectRequest;\n /**\n * \n * @type {string}\n * @memberof BanRequest\n */\n user_id?: string;\n}\n/**\n * \n * @export\n * @interface BanResponse\n */\nexport interface BanResponse {\n /**\n * \n * @type {UserObject}\n * @memberof BanResponse\n */\n banned_by?: UserObject;\n /**\n * \n * @type {ChannelResponse}\n * @memberof BanResponse\n */\n channel?: ChannelResponse;\n /**\n * \n * @type {string}\n * @memberof BanResponse\n */\n created_at: string;\n /**\n * \n * @type {string}\n * @memberof BanResponse\n */\n expires?: string;\n /**\n * \n * @type {string}\n * @memberof BanResponse\n */\n reason?: string;\n /**\n * \n * @type {boolean}\n * @memberof BanResponse\n */\n shadow?: boolean;\n /**\n * \n * @type {UserObject}\n * @memberof BanResponse\n */\n user?: UserObject;\n}\n/**\n * Block list contains restricted words\n * @export\n * @interface BlockList\n */\nexport interface BlockList {\n /**\n * Date/time of creation\n * @type {string}\n * @memberof BlockList\n */\n created_at?: string;\n /**\n * Block list name\n * @type {string}\n * @memberof BlockList\n */\n name: string;\n /**\n * Date/time of the last update\n * @type {string}\n * @memberof BlockList\n */\n updated_at?: string;\n /**\n * List of words to block\n * @type {Array<string>}\n * @memberof BlockList\n */\n words: Array<string>;\n}\n/**\n * \n * @export\n * @interface BlockListOptions\n */\nexport interface BlockListOptions {\n /**\n * \n * @type {string}\n * @memberof BlockListOptions\n */\n behavior: BlockListOptionsBehaviorEnum;\n /**\n * \n * @type {string}\n * @memberof BlockListOptions\n */\n blocklist: string;\n}\n\n\n/**\n * @export\n */\nexport const BlockListOptionsBehaviorEnum = {\n FLAG: 'flag',\n BLOCK: 'block'\n} as const;\nexport type BlockListOptionsBehaviorEnum = typeof BlockListOptionsBehaviorEnum[keyof typeof BlockListOptionsBehaviorEnum];\n\n/**\n * \n * @export\n * @interface BlockListOptionsRequest\n */\nexport interface BlockListOptionsRequest {\n /**\n * \n * @type {string}\n * @memberof BlockListOptionsRequest\n */\n behavior?: BlockListOptionsRequestBehaviorEnum;\n /**\n * \n * @type {string}\n * @memberof BlockListOptionsRequest\n */\n blocklist?: string;\n}\n\n\n/**\n * @export\n */\nexport const BlockListOptionsRequestBehaviorEnum = {\n FLAG: 'flag',\n BLOCK: 'block'\n} as const;\nexport type BlockListOptionsRequestBehaviorEnum = typeof BlockListOptionsRequestBehaviorEnum[keyof typeof BlockListOptionsRequestBehaviorEnum];\n\n/**\n * \n * @export\n * @interface BroadcastSettings\n */\nexport interface BroadcastSettings {\n /**\n * \n * @type {boolean}\n * @memberof BroadcastSettings\n */\n enabled: boolean;\n /**\n * \n * @type {HLSSettings}\n * @memberof BroadcastSettings\n */\n hls: HLSSettings;\n}\n/**\n * \n * @export\n * @interface Call\n */\nexport interface Call {\n /**\n * \n * @type {AgoraCall}\n * @memberof Call\n */\n agora?: AgoraCall;\n /**\n * \n * @type {HMSCall}\n * @memberof Call\n */\n hms?: HMSCall;\n /**\n * \n * @type {string}\n * @memberof Call\n */\n id: string;\n /**\n * \n * @type {string}\n * @memberof Call\n */\n provider: string;\n /**\n * \n * @type {string}\n * @memberof Call\n */\n type: string;\n}\n/**\n * \n * @export\n * @interface CallSettings\n */\nexport interface CallSettings {\n /**\n * \n * @type {AudioSettings}\n * @memberof CallSettings\n */\n audio?: AudioSettings;\n /**\n * \n * @type {BackstageSettings}\n * @memberof CallSettings\n */\n backstage?: BackstageSettings;\n /**\n * \n * @type {BroadcastSettings}\n * @memberof CallSettings\n */\n broadcasting?: BroadcastSettings;\n /**\n * \n * @type {GeofenceSettings}\n * @memberof CallSettings\n */\n geofencing?: GeofenceSettings;\n /**\n * \n * @type {RecordSettings}\n * @memberof CallSettings\n */\n recording?: RecordSettings;\n /**\n * \n * @type {RingSettings}\n * @memberof CallSettings\n */\n ring?: RingSettings;\n /**\n * \n * @type {ScreensharingSettings}\n * @memberof CallSettings\n */\n screensharing?: ScreensharingSettings;\n /**\n * \n * @type {ThumbnailsSettings}\n * @memberof CallSettings\n */\n thumbnails?: ThumbnailsSettings;\n /**\n * \n * @type {TranscriptionSettings}\n * @memberof CallSettings\n */\n transcription?: TranscriptionSettings;\n /**\n * \n * @type {VideoSettings}\n * @memberof CallSettings\n */\n video?: VideoSettings;\n}\n/**\n * \n * @export\n * @interface CallType\n */\nexport interface CallType {\n /**\n * \n * @type {number}\n * @memberof CallType\n */\n AppPK: number;\n /**\n * \n * @type {string}\n * @memberof CallType\n */\n CreatedAt: string;\n /**\n * \n * @type {string}\n * @memberof CallType\n */\n Name: string;\n /**\n * \n * @type {NotificationSettings}\n * @memberof CallType\n */\n NotificationSettings?: NotificationSettings;\n /**\n * \n * @type {number}\n * @memberof CallType\n */\n PK: number;\n /**\n * \n * @type {CallSettings}\n * @memberof CallType\n */\n Settings?: CallSettings;\n /**\n * \n * @type {string}\n * @memberof CallType\n */\n UpdatedAt: string;\n}\n/**\n * \n * @export\n * @interface Channel\n */\nexport interface Channel {\n [key: string]: any | any;\n /**\n * \n * @type {boolean}\n * @memberof Channel\n */\n auto_translation_enabled?: boolean;\n /**\n * \n * @type {string}\n * @memberof Channel\n */\n auto_translation_language: string;\n /**\n * \n * @type {string}\n * @memberof Channel\n */\n cid: string;\n /**\n * \n * @type {ChannelConfig}\n * @memberof Channel\n */\n config?: ChannelConfig;\n /**\n * \n * @type {ChannelConfig}\n * @memberof Channel\n */\n config_overrides?: ChannelConfig;\n /**\n * \n * @type {number}\n * @memberof Channel\n */\n cooldown?: number;\n /**\n * \n * @type {string}\n * @memberof Channel\n */\n created_at: string;\n /**\n * \n * @type {UserObject}\n * @memberof Channel\n */\n created_by?: UserObject;\n /**\n * \n * @type {string}\n * @memberof Channel\n */\n deleted_at?: string;\n /**\n * \n * @type {boolean}\n * @memberof Channel\n */\n disabled: boolean;\n /**\n * \n * @type {boolean}\n * @memberof Channel\n */\n frozen: boolean;\n /**\n * \n * @type {string}\n * @memberof Channel\n */\n id: string;\n /**\n * \n * @type {Array<ChannelMember>}\n * @memberof Channel\n */\n invites?: Array<ChannelMember>;\n /**\n * \n * @type {string}\n * @memberof Channel\n */\n last_message_at?: string;\n /**\n * \n * @type {number}\n * @memberof Channel\n */\n member_count?: number;\n /**\n * \n * @type {Array<ChannelMember>}\n * @memberof Channel\n */\n members?: Array<ChannelMember>;\n /**\n * \n * @type {string}\n * @memberof Channel\n */\n team?: string;\n /**\n * \n * @type {UserObject}\n * @memberof Channel\n */\n truncated_by?: UserObject;\n /**\n * \n * @type {string}\n * @memberof Channel\n */\n type: string;\n /**\n * \n * @type {string}\n * @memberof Channel\n */\n updated_at: string;\n}\n/**\n * \n * @export\n * @interface ChannelConfig\n */\nexport interface ChannelConfig {\n /**\n * \n * @type {string}\n * @memberof ChannelConfig\n */\n automod: ChannelConfigAutomodEnum;\n /**\n * \n * @type {string}\n * @memberof ChannelConfig\n */\n automod_behavior: ChannelConfigAutomodBehaviorEnum;\n /**\n * \n * @type {Thresholds}\n * @memberof ChannelConfig\n */\n automod_thresholds?: Thresholds;\n /**\n * \n * @type {string}\n * @memberof ChannelConfig\n */\n blocklist?: string;\n /**\n * \n * @type {string}\n * @memberof ChannelConfig\n */\n blocklist_behavior?: ChannelConfigBlocklistBehaviorEnum;\n /**\n * \n * @type {Array<BlockListOptions>}\n * @memberof ChannelConfig\n */\n blocklists?: Array<BlockListOptions>;\n /**\n * List of commands that channel supports\n * @type {Array<string>}\n * @memberof ChannelConfig\n */\n commands: Array<string>;\n /**\n * \n * @type {boolean}\n * @memberof ChannelConfig\n */\n connect_events: boolean;\n /**\n * \n * @type {string}\n * @memberof ChannelConfig\n */\n created_at: string;\n /**\n * \n * @type {boolean}\n * @memberof ChannelConfig\n */\n custom_events: boolean;\n /**\n * \n * @type {boolean}\n * @memberof ChannelConfig\n */\n mark_messages_pending: boolean;\n /**\n * \n * @type {number}\n * @memberof ChannelConfig\n */\n max_message_length: number;\n /**\n * \n * @type {string}\n * @memberof ChannelConfig\n */\n message_retention: string;\n /**\n * \n * @type {boolean}\n * @memberof ChannelConfig\n */\n mutes: boolean;\n /**\n * \n * @type {string}\n * @memberof ChannelConfig\n */\n name: string;\n /**\n * \n * @type {boolean}\n * @memberof ChannelConfig\n */\n push_notifications: boolean;\n /**\n * \n * @type {boolean}\n * @memberof ChannelConfig\n */\n quotes: boolean;\n /**\n * \n * @type {boolean}\n * @memberof ChannelConfig\n */\n reactions: boolean;\n /**\n * \n * @type {boolean}\n * @memberof ChannelConfig\n */\n read_events: boolean;\n /**\n * \n * @type {boolean}\n * @memberof ChannelConfig\n */\n reminders: boolean;\n /**\n * \n * @type {boolean}\n * @memberof ChannelConfig\n */\n replies: boolean;\n /**\n * \n * @type {boolean}\n * @memberof ChannelConfig\n */\n search: boolean;\n /**\n * \n * @type {boolean}\n * @memberof ChannelConfig\n */\n typing_events: boolean;\n /**\n * \n * @type {string}\n * @memberof ChannelConfig\n */\n updated_at: string;\n /**\n * \n * @type {boolean}\n * @memberof ChannelConfig\n */\n uploads: boolean;\n /**\n * \n * @type {boolean}\n * @memberof ChannelConfig\n */\n url_enrichment: boolean;\n}\n\n\n/**\n * @export\n */\nexport const ChannelConfigAutomodEnum = {\n DISABLED: 'disabled',\n SIMPLE: 'simple',\n AI: 'AI'\n} as const;\nexport type ChannelConfigAutomodEnum = typeof ChannelConfigAutomodEnum[keyof typeof ChannelConfigAutomodEnum];\n\n/**\n * @export\n */\nexport const ChannelConfigAutomodBehaviorEnum = {\n FLAG: 'flag',\n BLOCK: 'block'\n} as const;\nexport type ChannelConfigAutomodBehaviorEnum = typeof ChannelConfigAutomodBehaviorEnum[keyof typeof ChannelConfigAutomodBehaviorEnum];\n\n/**\n * @export\n */\nexport const ChannelConfigBlocklistBehaviorEnum = {\n FLAG: 'flag',\n BLOCK: 'block'\n} as const;\nexport type ChannelConfigBlocklistBehaviorEnum = typeof ChannelConfigBlocklistBehaviorEnum[keyof typeof ChannelConfigBlocklistBehaviorEnum];\n\n/**\n * Channel configuration overrides\n * @export\n * @interface ChannelConfigRequest\n */\nexport interface ChannelConfigRequest {\n /**\n * \n * @type {string}\n * @memberof ChannelConfigRequest\n */\n blocklist?: string;\n /**\n * \n * @type {string}\n * @memberof ChannelConfigRequest\n */\n blocklist_behavior?: ChannelConfigRequestBlocklistBehaviorEnum;\n /**\n * \n * @type {Array<string>}\n * @memberof ChannelConfigRequest\n */\n commands?: Array<string>;\n /**\n * \n * @type {{ [key: string]: Array<string>; }}\n * @memberof ChannelConfigRequest\n */\n grants?: { [key: string]: Array<string>; };\n /**\n * Overrides max message length\n * @type {number}\n * @memberof ChannelConfigRequest\n */\n max_message_length?: number;\n /**\n * Enables message quotes\n * @type {boolean}\n * @memberof ChannelConfigRequest\n */\n quotes?: boolean;\n /**\n * Enables or disables reactions\n * @type {boolean}\n * @memberof ChannelConfigRequest\n */\n reactions?: boolean;\n /**\n * Enables message replies (threads)\n * @type {boolean}\n * @memberof ChannelConfigRequest\n */\n replies?: boolean;\n /**\n * Enables or disables typing events\n * @type {boolean}\n * @memberof ChannelConfigRequest\n */\n typing_events?: boolean;\n /**\n * Enables or disables file uploads\n * @type {boolean}\n * @memberof ChannelConfigRequest\n */\n uploads?: boolean;\n /**\n * Enables or disables URL enrichment\n * @type {boolean}\n * @memberof ChannelConfigRequest\n */\n url_enrichment?: boolean;\n}\n\n\n/**\n * @export\n */\nexport const ChannelConfigRequestBlocklistBehaviorEnum = {\n FLAG: 'flag',\n BLOCK: 'block'\n} as const;\nexport type ChannelConfigRequestBlocklistBehaviorEnum = typeof ChannelConfigRequestBlocklistBehaviorEnum[keyof typeof ChannelConfigRequestBlocklistBehaviorEnum];\n\n/**\n * \n * @export\n * @interface ChannelConfigWithInfo\n */\nexport interface ChannelConfigWithInfo {\n /**\n * \n * @type {string}\n * @memberof ChannelConfigWithInfo\n */\n automod: ChannelConfigWithInfoAutomodEnum;\n /**\n * \n * @type {string}\n * @memberof ChannelConfigWithInfo\n */\n automod_behavior: ChannelConfigWithInfoAutomodBehaviorEnum;\n /**\n * \n * @type {Thresholds}\n * @memberof ChannelConfigWithInfo\n */\n automod_thresholds?: Thresholds;\n /**\n * \n * @type {string}\n * @memberof ChannelConfigWithInfo\n */\n blocklist?: string;\n /**\n * \n * @type {string}\n * @memberof ChannelConfigWithInfo\n */\n blocklist_behavior?: ChannelConfigWithInfoBlocklistBehaviorEnum;\n /**\n * \n * @type {Array<BlockListOptions>}\n * @memberof ChannelConfigWithInfo\n */\n blocklists?: Array<BlockListOptions>;\n /**\n * \n * @type {Array<Command>}\n * @memberof ChannelConfigWithInfo\n */\n commands: Array<Command>;\n /**\n * \n * @type {boolean}\n * @memberof ChannelConfigWithInfo\n */\n connect_events: boolean;\n /**\n * \n * @type {string}\n * @memberof ChannelConfigWithInfo\n */\n created_at: string;\n /**\n * \n * @type {boolean}\n * @memberof ChannelConfigWithInfo\n */\n custom_events: boolean;\n /**\n * \n * @type {{ [key: string]: Array<string>; }}\n * @memberof ChannelConfigWithInfo\n */\n grants?: { [key: string]: Array<string>; };\n /**\n * \n * @type {boolean}\n * @memberof ChannelConfigWithInfo\n */\n mark_messages_pending: boolean;\n /**\n * \n * @type {number}\n * @memberof ChannelConfigWithInfo\n */\n max_message_length: number;\n /**\n * \n * @type {string}\n * @memberof ChannelConfigWithInfo\n */\n message_retention: string;\n /**\n * \n * @type {boolean}\n * @memberof ChannelConfigWithInfo\n */\n mutes: boolean;\n /**\n * \n * @type {string}\n * @memberof ChannelConfigWithInfo\n */\n name: string;\n /**\n * \n * @type {boolean}\n * @memberof ChannelConfigWithInfo\n */\n push_notifications: boolean;\n /**\n * \n * @type {boolean}\n * @memberof ChannelConfigWithInfo\n */\n quotes: boolean;\n /**\n * \n * @type {boolean}\n * @memberof ChannelConfigWithInfo\n */\n reactions: boolean;\n /**\n * \n * @type {boolean}\n * @memberof ChannelConfigWithInfo\n */\n read_events: boolean;\n /**\n * \n * @type {boolean}\n * @memberof ChannelConfigWithInfo\n */\n reminders: boolean;\n /**\n * \n * @type {boolean}\n * @memberof ChannelConfigWithInfo\n */\n replies: boolean;\n /**\n * \n * @type {boolean}\n * @memberof ChannelConfigWithInfo\n */\n search: boolean;\n /**\n * \n * @type {boolean}\n * @memberof ChannelConfigWithInfo\n */\n typing_events: boolean;\n /**\n * \n * @type {string}\n * @memberof ChannelConfigWithInfo\n */\n updated_at: string;\n /**\n * \n * @type {boolean}\n * @memberof ChannelConfigWithInfo\n */\n uploads: boolean;\n /**\n * \n * @type {boolean}\n * @memberof ChannelConfigWithInfo\n */\n url_enrichment: boolean;\n}\n\n\n/**\n * @export\n */\nexport const ChannelConfigWithInfoAutomodEnum = {\n DISABLED: 'disabled',\n SIMPLE: 'simple',\n AI: 'AI'\n} as const;\nexport type ChannelConfigWithInfoAutomodEnum = typeof ChannelConfigWithInfoAutomodEnum[keyof typeof ChannelConfigWithInfoAutomodEnum];\n\n/**\n * @export\n */\nexport const ChannelConfigWithInfoAutomodBehaviorEnum = {\n FLAG: 'flag',\n BLOCK: 'block'\n} as const;\nexport type ChannelConfigWithInfoAutomodBehaviorEnum = typeof ChannelConfigWithInfoAutomodBehaviorEnum[keyof typeof ChannelConfigWithInfoAutomodBehaviorEnum];\n\n/**\n * @export\n */\nexport const ChannelConfigWithInfoBlocklistBehaviorEnum = {\n FLAG: 'flag',\n BLOCK: 'block'\n} as const;\nexport type ChannelConfigWithInfoBlocklistBehaviorEnum = typeof ChannelConfigWithInfoBlocklistBehaviorEnum[keyof typeof ChannelConfigWithInfoBlocklistBehaviorEnum];\n\n/**\n * \n * @export\n * @interface ChannelConfigWithInfoRequest\n */\nexport interface ChannelConfigWithInfoRequest {\n /**\n * \n * @type {string}\n * @memberof ChannelConfigWithInfoRequest\n */\n automod: ChannelConfigWithInfoRequestAutomodEnum;\n /**\n * \n * @type {string}\n * @memberof ChannelConfigWithInfoRequest\n */\n automod_behavior?: ChannelConfigWithInfoRequestAutomodBehaviorEnum;\n /**\n * \n * @type {ThresholdsRequest}\n * @memberof ChannelConfigWithInfoRequest\n */\n automod_thresholds?: ThresholdsRequest;\n /**\n * \n * @type {string}\n * @memberof ChannelConfigWithInfoRequest\n */\n blocklist?: string;\n /**\n * \n * @type {string}\n * @memberof ChannelConfigWithInfoRequest\n */\n blocklist_behavior?: ChannelConfigWithInfoRequestBlocklistBehaviorEnum;\n /**\n * \n * @type {Array<BlockListOptionsRequest>}\n * @memberof ChannelConfigWithInfoRequest\n */\n blocklists?: Array<BlockListOptionsRequest>;\n /**\n * \n * @type {Array<CommandRequest>}\n * @memberof ChannelConfigWithInfoRequest\n */\n commands?: Array<CommandRequest>;\n /**\n * \n * @type {boolean}\n * @memberof ChannelConfigWithInfoRequest\n */\n connect_events?: boolean;\n /**\n * \n * @type {string}\n * @memberof ChannelConfigWithInfoRequest\n */\n created_at?: string;\n /**\n * \n * @type {boolean}\n * @memberof ChannelConfigWithInfoRequest\n */\n custom_events?: boolean;\n /**\n * \n * @type {{ [key: string]: Array<string>; }}\n * @memberof ChannelConfigWithInfoRequest\n */\n grants?: { [key: string]: Array<string>; };\n /**\n * \n * @type {boolean}\n * @memberof ChannelConfigWithInfoRequest\n */\n mark_messages_pending?: boolean;\n /**\n * \n * @type {number}\n * @memberof ChannelConfigWithInfoRequest\n */\n max_message_length?: number;\n /**\n * \n * @type {string}\n * @memberof ChannelConfigWithInfoRequest\n */\n message_retention?: string;\n /**\n * \n * @type {boolean}\n * @memberof ChannelConfigWithInfoRequest\n */\n mutes?: boolean;\n /**\n * \n * @type {string}\n * @memberof ChannelConfigWithInfoRequest\n */\n name?: string;\n /**\n * \n * @type {boolean}\n * @memberof ChannelConfigWithInfoRequest\n */\n push_notifications?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof ChannelConfigWithInfoRequest\n */\n quotes?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof ChannelConfigWithInfoRequest\n */\n reactions?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof ChannelConfigWithInfoRequest\n */\n read_events?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof ChannelConfigWithInfoRequest\n */\n reminders?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof ChannelConfigWithInfoRequest\n */\n replies?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof ChannelConfigWithInfoRequest\n */\n search?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof ChannelConfigWithInfoRequest\n */\n typing_events?: boolean;\n /**\n * \n * @type {string}\n * @memberof ChannelConfigWithInfoRequest\n */\n updated_at?: string;\n /**\n * \n * @type {boolean}\n * @memberof ChannelConfigWithInfoRequest\n */\n uploads?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof ChannelConfigWithInfoRequest\n */\n url_enrichment?: boolean;\n}\n\n\n/**\n * @export\n */\nexport const ChannelConfigWithInfoRequestAutomodEnum = {\n DISABLED: 'disabled',\n SIMPLE: 'simple',\n AI: 'AI'\n} as const;\nexport type ChannelConfigWithInfoRequestAutomodEnum = typeof ChannelConfigWithInfoRequestAutomodEnum[keyof typeof ChannelConfigWithInfoRequestAutomodEnum];\n\n/**\n * @export\n */\nexport const ChannelConfigWithInfoRequestAutomodBehaviorEnum = {\n FLAG: 'flag',\n BLOCK: 'block'\n} as const;\nexport type ChannelConfigWithInfoRequestAutomodBehaviorEnum = typeof ChannelConfigWithInfoRequestAutomodBehaviorEnum[keyof typeof ChannelConfigWithInfoRequestAutomodBehaviorEnum];\n\n/**\n * @export\n */\nexport const ChannelConfigWithInfoRequestBlocklistBehaviorEnum = {\n FLAG: 'flag',\n BLOCK: 'block'\n} as const;\nexport type ChannelConfigWithInfoRequestBlocklistBehaviorEnum = typeof ChannelConfigWithInfoRequestBlocklistBehaviorEnum[keyof typeof ChannelConfigWithInfoRequestBlocklistBehaviorEnum];\n\n/**\n * \n * @export\n * @interface ChannelCreatedEvent\n */\nexport interface ChannelCreatedEvent {\n /**\n * \n * @type {string}\n * @memberof ChannelCreatedEvent\n */\n created_at: string;\n /**\n * \n * @type {string}\n * @memberof ChannelCreatedEvent\n */\n type: string;\n}\n/**\n * \n * @export\n * @interface ChannelDeletedEvent\n */\nexport interface ChannelDeletedEvent {\n /**\n * \n * @type {ChannelResponse}\n * @memberof ChannelDeletedEvent\n */\n channel?: ChannelResponse;\n /**\n * \n * @type {string}\n * @memberof ChannelDeletedEvent\n */\n channel_id: string;\n /**\n * \n * @type {string}\n * @memberof ChannelDeletedEvent\n */\n channel_type: string;\n /**\n * \n * @type {string}\n * @memberof ChannelDeletedEvent\n */\n cid: string;\n /**\n * \n * @type {string}\n * @memberof ChannelDeletedEvent\n */\n created_at: string;\n /**\n * \n * @type {string}\n * @memberof ChannelDeletedEvent\n */\n team?: string;\n /**\n * \n * @type {string}\n * @memberof ChannelDeletedEvent\n */\n type: string;\n}\n/**\n * \n * @export\n * @interface ChannelExportRequest\n */\nexport interface ChannelExportRequest {\n /**\n * \n * @type {string}\n * @memberof ChannelExportRequest\n */\n cid?: string;\n /**\n * Channel ID\n * @type {string}\n * @memberof ChannelExportRequest\n */\n id?: string;\n /**\n * Date to export messages since\n * @type {string}\n * @memberof ChannelExportRequest\n */\n messages_since?: string;\n /**\n * Date to export messages until\n * @type {string}\n * @memberof ChannelExportRequest\n */\n messages_until?: string;\n /**\n * Channel type\n * @type {string}\n * @memberof ChannelExportRequest\n */\n type?: string;\n}\n/**\n * \n * @export\n * @interface ChannelFrozenEvent\n */\nexport interface ChannelFrozenEvent {\n /**\n * \n * @type {string}\n * @memberof ChannelFrozenEvent\n */\n channel_id: string;\n /**\n * \n * @type {string}\n * @memberof ChannelFrozenEvent\n */\n channel_type: string;\n /**\n * \n * @type {string}\n * @memberof ChannelFrozenEvent\n */\n cid: string;\n /**\n * \n * @type {string}\n * @memberof ChannelFrozenEvent\n */\n created_at: string;\n /**\n * \n * @type {string}\n * @memberof ChannelFrozenEvent\n */\n type: string;\n}\n/**\n * \n * @export\n * @interface ChannelGetOrCreateRequest\n */\nexport interface ChannelGetOrCreateRequest {\n /**\n * \n * @type {string}\n * @memberof ChannelGetOrCreateRequest\n */\n client_id?: string;\n /**\n * \n * @type {string}\n * @memberof ChannelGetOrCreateRequest\n */\n connection_id?: string;\n /**\n * \n * @type {ChannelRequest}\n * @memberof ChannelGetOrCreateRequest\n */\n data?: ChannelRequest;\n /**\n * Whether this channel will be hidden for the user who created the channel or not\n * @type {boolean}\n * @memberof ChannelGetOrCreateRequest\n */\n hide_for_creator?: boolean;\n /**\n * \n * @type {PaginationParamsRequest}\n * @memberof ChannelGetOrCreateRequest\n */\n members?: PaginationParamsRequest;\n /**\n * \n * @type {MessagePaginationParamsRequest}\n * @memberof ChannelGetOrCreateRequest\n */\n messages?: MessagePaginationParamsRequest;\n /**\n * Fetch user presence info\n * @type {boolean}\n * @memberof ChannelGetOrCreateRequest\n */\n presence?: boolean;\n /**\n * Refresh channel state\n * @type {boolean}\n * @memberof ChannelGetOrCreateRequest\n */\n state?: boolean;\n /**\n * Start watching the channel\n * @type {boolean}\n * @memberof ChannelGetOrCreateRequest\n */\n watch?: boolean;\n /**\n * \n * @type {PaginationParamsRequest}\n * @memberof ChannelGetOrCreateRequest\n */\n watchers?: PaginationParamsRequest;\n}\n/**\n * \n * @export\n * @interface ChannelHiddenEvent\n */\nexport interface ChannelHiddenEvent {\n /**\n * \n * @type {ChannelResponse}\n * @memberof ChannelHiddenEvent\n */\n channel?: ChannelResponse;\n /**\n * \n * @type {string}\n * @memberof ChannelHiddenEvent\n */\n channel_id: string;\n /**\n * \n * @type {string}\n * @memberof ChannelHiddenEvent\n */\n channel_type: string;\n /**\n * \n * @type {string}\n * @memberof ChannelHiddenEvent\n */\n cid: string;\n /**\n * \n * @type {boolean}\n * @memberof ChannelHiddenEvent\n */\n clear_history: boolean;\n /**\n * \n * @type {string}\n * @memberof ChannelHiddenEvent\n */\n created_at: string;\n /**\n * \n * @type {string}\n * @memberof ChannelHiddenEvent\n */\n type: string;\n /**\n * \n * @type {UserObject}\n * @memberof ChannelHiddenEvent\n */\n user?: UserObject;\n}\n/**\n * \n * @export\n * @interface ChannelKickedEvent\n */\nexport interface ChannelKickedEvent {\n /**\n * \n * @type {ChannelResponse}\n * @memberof ChannelKickedEvent\n */\n channel?: ChannelResponse;\n /**\n * \n * @type {string}\n * @memberof ChannelKickedEvent\n */\n channel_id: string;\n /**\n * \n * @type {string}\n * @memberof ChannelKickedEvent\n */\n channel_type: string;\n /**\n * \n * @type {string}\n * @memberof ChannelKickedEvent\n */\n cid: string;\n /**\n * \n * @type {string}\n * @memberof ChannelKickedEvent\n */\n created_at: string;\n /**\n * \n * @type {string}\n * @memberof ChannelKickedEvent\n */\n type: string;\n}\n/**\n * \n * @export\n * @interface ChannelMember\n */\nexport interface ChannelMember {\n /**\n * Expiration date of the ban\n * @type {string}\n * @memberof ChannelMember\n */\n ban_expires?: string;\n /**\n * Whether member is banned this channel or not\n * @type {boolean}\n * @memberof ChannelMember\n */\n banned: boolean;\n /**\n * Role of the member in the channel\n * @type {string}\n * @memberof ChannelMember\n */\n channel_role: string;\n /**\n * Date/time of creation\n * @type {string}\n * @memberof ChannelMember\n */\n created_at: string;\n /**\n * \n * @type {string}\n * @memberof ChannelMember\n */\n deleted_at?: string;\n /**\n * Date when invite was accepted\n * @type {string}\n * @memberof ChannelMember\n */\n invite_accepted_at?: string;\n /**\n * Date when invite was rejected\n * @type {string}\n * @memberof ChannelMember\n */\n invite_rejected_at?: string;\n /**\n * Whether member was invited or not\n * @type {boolean}\n * @memberof ChannelMember\n */\n invited?: boolean;\n /**\n * Whether member is channel moderator or not\n * @type {boolean}\n * @memberof ChannelMember\n */\n is_moderator?: boolean;\n /**\n * Permission level of the member in the channel (DEPRECATED: use channel_role instead)\n * @type {string}\n * @memberof ChannelMember\n */\n role?: ChannelMemberRoleEnum;\n /**\n * Whether member is shadow banned in this channel or not\n * @type {boolean}\n * @memberof ChannelMember\n */\n shadow_banned: boolean;\n /**\n * Date/time of the last update\n * @type {string}\n * @memberof ChannelMember\n */\n updated_at: string;\n /**\n * \n * @type {UserObject}\n * @memberof ChannelMember\n */\n user?: UserObject;\n /**\n * \n * @type {string}\n * @memberof ChannelMember\n */\n user_id?: string;\n}\n\n\n/**\n * @export\n */\nexport const ChannelMemberRoleEnum = {\n MEMBER: 'member',\n MODERATOR: 'moderator',\n ADMIN: 'admin',\n OWNER: 'owner'\n} as const;\nexport type ChannelMemberRoleEnum = typeof ChannelMemberRoleEnum[keyof typeof ChannelMemberRoleEnum];\n\n/**\n * \n * @export\n * @interface ChannelMemberRequest\n */\nexport interface ChannelMemberRequest {\n /**\n * Expiration date of the ban\n * @type {string}\n * @memberof ChannelMemberRequest\n */\n ban_expires?: string;\n /**\n * Whether member is banned this channel or not\n * @type {boolean}\n * @memberof ChannelMemberRequest\n */\n banned?: boolean;\n /**\n * Role of the member in the channel\n * @type {string}\n * @memberof ChannelMemberRequest\n */\n channel_role?: string;\n /**\n * Date/time of creation\n * @type {string}\n * @memberof ChannelMemberRequest\n */\n created_at?: string;\n /**\n * \n * @type {string}\n * @memberof ChannelMemberRequest\n */\n deleted_at?: string;\n /**\n * Date when invite was accepted\n * @type {string}\n * @memberof ChannelMemberRequest\n */\n invite_accepted_at?: string;\n /**\n * Date when invite was rejected\n * @type {string}\n * @memberof ChannelMemberRequest\n */\n invite_rejected_at?: string;\n /**\n * Whether member was invited or not\n * @type {boolean}\n * @memberof ChannelMemberRequest\n */\n invited?: boolean;\n /**\n * Whether member is channel moderator or not\n * @type {boolean}\n * @memberof ChannelMemberRequest\n */\n is_moderator?: boolean;\n /**\n * Permission level of the member in the channel (DEPRECATED: use channel_role instead)\n * @type {string}\n * @memberof ChannelMemberRequest\n */\n role?: ChannelMemberRequestRoleEnum;\n /**\n * Whether member is shadow banned in this channel or not\n * @type {boolean}\n * @memberof ChannelMemberRequest\n */\n shadow_banned?: boolean;\n /**\n * Date/time of the last update\n * @type {string}\n * @memberof ChannelMemberRequest\n */\n updated_at?: string;\n /**\n * \n * @type {UserObjectRequest}\n * @memberof ChannelMemberRequest\n */\n user?: UserObjectRequest;\n /**\n * \n * @type {string}\n * @memberof ChannelMemberRequest\n */\n user_id?: string;\n}\n\n\n/**\n * @export\n */\nexport const ChannelMemberRequestRoleEnum = {\n MEMBER: 'member',\n MODERATOR: 'moderator',\n ADMIN: 'admin',\n OWNER: 'owner'\n} as const;\nexport type ChannelMemberRequestRoleEnum = typeof ChannelMemberRequestRoleEnum[keyof typeof ChannelMemberRequestRoleEnum];\n\n/**\n * \n * @export\n * @interface ChannelMessages\n */\nexport interface ChannelMessages {\n /**\n * \n * @type {ChannelResponse}\n * @memberof ChannelMessages\n */\n channel?: ChannelResponse;\n /**\n * \n * @type {Array<Message>}\n * @memberof ChannelMessages\n */\n messages: Array<Message>;\n}\n/**\n * \n * @export\n * @interface ChannelMute\n */\nexport interface ChannelMute {\n /**\n * \n * @type {ChannelResponse}\n * @memberof ChannelMute\n */\n channel?: ChannelResponse;\n /**\n * Date/time of creation\n * @type {string}\n * @memberof ChannelMute\n */\n created_at: string;\n /**\n * Date/time of mute expiration\n * @type {string}\n * @memberof ChannelMute\n */\n expires?: string;\n /**\n * Date/time of the last update\n * @type {string}\n * @memberof ChannelMute\n */\n updated_at: string;\n /**\n * \n * @type {UserObject}\n * @memberof ChannelMute\n */\n user?: UserObject;\n}\n/**\n * \n * @export\n * @interface ChannelMuteRequest\n */\nexport interface ChannelMuteRequest {\n /**\n * \n * @type {ChannelResponseRequest}\n * @memberof ChannelMuteRequest\n */\n channel?: ChannelResponseRequest;\n /**\n * Date/time of creation\n * @type {string}\n * @memberof ChannelMuteRequest\n */\n created_at?: string;\n /**\n * Date/time of mute expiration\n * @type {string}\n * @memberof ChannelMuteRequest\n */\n expires?: string;\n /**\n * Date/time of the last update\n * @type {string}\n * @memberof ChannelMuteRequest\n */\n updated_at?: string;\n /**\n * \n * @type {UserObjectRequest}\n * @memberof ChannelMuteRequest\n */\n user?: UserObjectRequest;\n}\n/**\n * \n * @export\n * @interface ChannelMutedEvent\n */\nexport interface ChannelMutedEvent {\n /**\n * \n * @type {string}\n * @memberof ChannelMutedEvent\n */\n created_at: string;\n /**\n * \n * @type {string}\n * @memberof ChannelMutedEvent\n */\n type: string;\n}\n/**\n * \n * @export\n * @interface ChannelRequest\n */\nexport interface ChannelRequest {\n [key: string]: any | any;\n /**\n * Enable or disable auto translation\n * @type {boolean}\n * @memberof ChannelRequest\n */\n auto_translation_enabled?: boolean;\n /**\n * Switch auto translation language\n * @type {string}\n * @memberof ChannelRequest\n */\n auto_translation_language?: string;\n /**\n * \n * @type {ChannelConfigRequest}\n * @memberof ChannelRequest\n */\n config_overrides?: ChannelConfigRequest;\n /**\n * \n * @type {boolean}\n * @memberof ChannelRequest\n */\n disabled?: boolean;\n /**\n * Freeze or unfreeze the channel\n * @type {boolean}\n * @memberof ChannelRequest\n */\n frozen?: boolean;\n /**\n * \n * @type {Array<ChannelMemberRequest>}\n * @memberof ChannelRequest\n */\n members?: Array<ChannelMemberRequest>;\n /**\n * \n * @type {Array<number>}\n * @memberof ChannelRequest\n */\n own_capabilities?: Array<number>;\n /**\n * Team the channel belongs to (if multi-tenant mode is enabled)\n * @type {string}\n * @memberof ChannelRequest\n */\n team?: string;\n /**\n * \n * @type {Array<number>}\n * @memberof ChannelRequest\n */\n truncated_at?: Array<number>;\n /**\n * \n * @type {Array<number>}\n * @memberof ChannelRequest\n */\n truncated_by?: Array<number>;\n /**\n * \n * @type {string}\n * @memberof ChannelRequest\n */\n truncated_by_id?: string;\n}\n/**\n * Represents channel in chat\n * @export\n * @interface ChannelResponse\n */\nexport interface ChannelResponse {\n [key: string]: any | any;\n /**\n * Whether auto translation is enabled or not\n * @type {boolean}\n * @memberof ChannelResponse\n */\n auto_translation_enabled?: boolean;\n /**\n * Language to translate to when auto translation is active\n * @type {string}\n * @memberof ChannelResponse\n */\n auto_translation_language?: string;\n /**\n * Channel CID (<type>:<id>)\n * @type {string}\n * @memberof ChannelResponse\n */\n cid: string;\n /**\n * \n * @type {ChannelConfigWithInfo}\n * @memberof ChannelResponse\n */\n config?: ChannelConfigWithInfo;\n /**\n * Cooldown period after sending each message\n * @type {number}\n * @memberof ChannelResponse\n */\n cooldown?: number;\n /**\n * Date/time of creation\n * @type {string}\n * @memberof ChannelResponse\n */\n created_at?: string;\n /**\n * \n * @type {UserObject}\n * @memberof ChannelResponse\n */\n created_by?: UserObject;\n /**\n * Date/time of deletion\n * @type {string}\n * @memberof ChannelResponse\n */\n deleted_at?: string;\n /**\n * \n * @type {boolean}\n * @memberof ChannelResponse\n */\n disabled: boolean;\n /**\n * Whether channel is frozen or not\n * @type {boolean}\n * @memberof ChannelResponse\n */\n frozen: boolean;\n /**\n * Whether this channel is hidden by current user or not\n * @type {boolean}\n * @memberof ChannelResponse\n */\n hidden?: boolean;\n /**\n * Date since when the message history is accessible\n * @type {string}\n * @memberof ChannelResponse\n */\n hide_messages_before?: string;\n /**\n * Channel unique ID\n * @type {string}\n * @memberof ChannelResponse\n */\n id: string;\n /**\n * Date of the last message sent\n * @type {string}\n * @memberof ChannelResponse\n */\n last_message_at?: string;\n /**\n * Number of members in the channel\n * @type {number}\n * @memberof ChannelResponse\n */\n member_count?: number;\n /**\n * List of channel members (max 100)\n * @type {Array<ChannelMember>}\n * @memberof ChannelResponse\n */\n members?: Array<ChannelMember>;\n /**\n * Date of mute expiration\n * @type {string}\n * @memberof ChannelResponse\n */\n mute_expires_at?: string;\n /**\n * Whether this channel is muted or not\n * @type {boolean}\n * @memberof ChannelResponse\n */\n muted?: boolean;\n /**\n * List of channel capabilities of authenticated user\n * @type {Array<string>}\n * @memberof ChannelResponse\n */\n own_capabilities?: Array<string>;\n /**\n * Team the channel belongs to (multi-tenant only)\n * @type {string}\n * @memberof ChannelResponse\n */\n team?: string;\n /**\n * Date of the latest truncation of the channel\n * @type {string}\n * @memberof ChannelResponse\n */\n truncated_at?: string;\n /**\n * \n * @type {UserObject}\n * @memberof ChannelResponse\n */\n truncated_by?: UserObject;\n /**\n * Type of the channel\n * @type {string}\n * @memberof ChannelResponse\n */\n type: string;\n /**\n * Date/time of the last update\n * @type {string}\n * @memberof ChannelResponse\n */\n updated_at?: string;\n}\n/**\n * Represents channel in chat\n * @export\n * @interface ChannelResponseRequest\n */\nexport interface ChannelResponseRequest {\n [key: string]: any | any;\n /**\n * Whether auto translation is enabled or not\n * @type {boolean}\n * @memberof ChannelResponseRequest\n */\n auto_translation_enabled?: boolean;\n /**\n * Language to translate to when auto translation is active\n * @type {string}\n * @memberof ChannelResponseRequest\n */\n auto_translation_language?: string;\n /**\n * Channel CID (<type>:<id>)\n * @type {string}\n * @memberof ChannelResponseRequest\n */\n cid?: string;\n /**\n * \n * @type {ChannelConfigWithInfoRequest}\n * @memberof ChannelResponseRequest\n */\n config?: ChannelConfigWithInfoRequest;\n /**\n * Cooldown period after sending each message\n * @type {number}\n * @memberof ChannelResponseRequest\n */\n cooldown?: number;\n /**\n * Date/time of creation\n * @type {string}\n * @memberof ChannelResponseRequest\n */\n created_at?: string;\n /**\n * \n * @type {UserObjectRequest}\n * @memberof ChannelResponseRequest\n */\n created_by?: UserObjectRequest;\n /**\n * Date/time of deletion\n * @type {string}\n * @memberof ChannelResponseRequest\n */\n deleted_at?: string;\n /**\n * \n * @type {boolean}\n * @memberof ChannelResponseRequest\n */\n disabled?: boolean;\n /**\n * Whether channel is frozen or not\n * @type {boolean}\n * @memberof ChannelResponseRequest\n */\n frozen?: boolean;\n /**\n * Whether this channel is hidden by current user or not\n * @type {boolean}\n * @memberof ChannelResponseRequest\n */\n hidden?: boolean;\n /**\n * Date since when the message history is accessible\n * @type {string}\n * @memberof ChannelResponseRequest\n */\n hide_messages_before?: string;\n /**\n * Channel unique ID\n * @type {string}\n * @memberof ChannelResponseRequest\n */\n id?: string;\n /**\n * Date of the last message sent\n * @type {string}\n * @memberof ChannelResponseRequest\n */\n last_message_at?: string;\n /**\n * Number of members in the channel\n * @type {number}\n * @memberof ChannelResponseRequest\n */\n member_count?: number;\n /**\n * List of channel members (max 100)\n * @type {Array<ChannelMemberRequest>}\n * @memberof ChannelResponseRequest\n */\n members?: Array<ChannelMemberRequest>;\n /**\n * Date of mute expiration\n * @type {string}\n * @memberof ChannelResponseRequest\n */\n mute_expires_at?: string;\n /**\n * Whether this channel is muted or not\n * @type {boolean}\n * @memberof ChannelResponseRequest\n */\n muted?: boolean;\n /**\n * List of channel capabilities of authenticated user\n * @type {Array<string>}\n * @memberof ChannelResponseRequest\n */\n own_capabilities?: Array<string>;\n /**\n * Team the channel belongs to (multi-tenant only)\n * @type {string}\n * @memberof ChannelResponseRequest\n */\n team?: string;\n /**\n * Date of the latest truncation of the channel\n * @type {string}\n * @memberof ChannelResponseRequest\n */\n truncated_at?: string;\n /**\n * \n * @type {UserObjectRequest}\n * @memberof ChannelResponseRequest\n */\n truncated_by?: UserObjectRequest;\n /**\n * Type of the channel\n * @type {string}\n * @memberof ChannelResponseRequest\n */\n type?: string;\n /**\n * Date/time of the last update\n * @type {string}\n * @memberof ChannelResponseRequest\n */\n updated_at?: string;\n}\n/**\n * \n * @export\n * @interface ChannelStateResponse\n */\nexport interface ChannelStateResponse {\n /**\n * \n * @type {ChannelResponse}\n * @memberof ChannelStateResponse\n */\n channel?: ChannelResponse;\n /**\n * \n * @type {string}\n * @memberof ChannelStateResponse\n */\n duration: string;\n /**\n * \n * @type {boolean}\n * @memberof ChannelStateResponse\n */\n hidden?: boolean;\n /**\n * \n * @type {string}\n * @memberof ChannelStateResponse\n */\n hide_messages_before?: string;\n /**\n * \n * @type {Array<ChannelMember>}\n * @memberof ChannelStateResponse\n */\n members: Array<ChannelMember>;\n /**\n * \n * @type {ChannelMember}\n * @memberof ChannelStateResponse\n */\n membership?: ChannelMember | null;\n /**\n * \n * @type {Array<Message>}\n * @memberof ChannelStateResponse\n */\n messages: Array<Message>;\n /**\n * \n * @type {Array<PendingMessage>}\n * @memberof ChannelStateResponse\n */\n pending_messages?: Array<PendingMessage>;\n /**\n * \n * @type {Array<Message>}\n * @memberof ChannelStateResponse\n */\n pinned_messages: Array<Message>;\n /**\n * \n * @type {Array<Read>}\n * @memberof ChannelStateResponse\n */\n read?: Array<Read>;\n /**\n * \n * @type {number}\n * @memberof ChannelStateResponse\n */\n watcher_count?: number;\n /**\n * \n * @type {Array<UserObject>}\n * @memberof ChannelStateResponse\n */\n watchers?: Array<UserObject>;\n}\n/**\n * \n * @export\n * @interface ChannelStateResponseFields\n */\nexport interface ChannelStateResponseFields {\n /**\n * \n * @type {ChannelResponse}\n * @memberof ChannelStateResponseFields\n */\n channel?: ChannelResponse;\n /**\n * Whether this channel is hidden or not\n * @type {boolean}\n * @memberof ChannelStateResponseFields\n */\n hidden?: boolean;\n /**\n * Messages before this date are hidden from the user\n * @type {string}\n * @memberof ChannelStateResponseFields\n */\n hide_messages_before?: string;\n /**\n * List of channel members\n * @type {Array<ChannelMember>}\n * @memberof ChannelStateResponseFields\n */\n members: Array<ChannelMember>;\n /**\n * \n * @type {ChannelMember}\n * @memberof ChannelStateResponseFields\n */\n membership?: ChannelMember | null;\n /**\n * List of channel messages\n * @type {Array<Message>}\n * @memberof ChannelStateResponseFields\n */\n messages: Array<Message>;\n /**\n * Pending messages that this user has sent\n * @type {Array<PendingMessage>}\n * @memberof ChannelStateResponseFields\n */\n pending_messages?: Array<PendingMessage>;\n /**\n * List of pinned messages in the channel\n * @type {Array<Message>}\n * @memberof ChannelStateResponseFields\n */\n pinned_messages: Array<Message>;\n /**\n * List of read states\n * @type {Array<Read>}\n * @memberof ChannelStateResponseFields\n */\n read?: Array<Read>;\n /**\n * Number of channel watchers\n * @type {number}\n * @memberof ChannelStateResponseFields\n */\n watcher_count?: number;\n /**\n * List of user who is watching the channel\n * @type {Array<UserObject>}\n * @memberof ChannelStateResponseFields\n */\n watchers?: Array<UserObject>;\n}\n/**\n * \n * @export\n * @interface ChannelStopWatchingRequest\n */\nexport interface ChannelStopWatchingRequest {\n /**\n * \n * @type {string}\n * @memberof ChannelStopWatchingRequest\n */\n client_id?: string;\n /**\n * \n * @type {string}\n * @memberof ChannelStopWatchingRequest\n */\n connection_id?: string;\n}\n/**\n * \n * @export\n * @interface ChannelTruncatedEvent\n */\nexport interface ChannelTruncatedEvent {\n /**\n * \n * @type {ChannelResponse}\n * @memberof ChannelTruncatedEvent\n */\n channel?: ChannelResponse;\n /**\n * \n * @type {string}\n * @memberof ChannelTruncatedEvent\n */\n channel_id: string;\n /**\n * \n * @type {string}\n * @memberof ChannelTruncatedEvent\n */\n channel_type: string;\n /**\n * \n * @type {string}\n * @memberof ChannelTruncatedEvent\n */\n cid: string;\n /**\n * \n * @type {string}\n * @memberof ChannelTruncatedEvent\n */\n created_at: string;\n /**\n * \n * @type {string}\n * @memberof ChannelTruncatedEvent\n */\n type: string;\n}\n/**\n * \n * @export\n * @interface ChannelTypeConfig\n */\nexport interface ChannelTypeConfig {\n /**\n * \n * @type {string}\n * @memberof ChannelTypeConfig\n */\n automod: ChannelTypeConfigAutomodEnum;\n /**\n * \n * @type {string}\n * @memberof ChannelTypeConfig\n */\n automod_behavior: ChannelTypeConfigAutomodBehaviorEnum;\n /**\n * \n * @type {Thresholds}\n * @memberof ChannelTypeConfig\n */\n automod_thresholds?: Thresholds;\n /**\n * \n * @type {string}\n * @memberof ChannelTypeConfig\n */\n blocklist?: string;\n /**\n * \n * @type {string}\n * @memberof ChannelTypeConfig\n */\n blocklist_behavior?: ChannelTypeConfigBlocklistBehaviorEnum;\n /**\n * \n * @type {Array<BlockListOptions>}\n * @memberof ChannelTypeConfig\n */\n blocklists?: Array<BlockListOptions>;\n /**\n * List of commands that channel supports\n * @type {Array<Command>}\n * @memberof ChannelTypeConfig\n */\n commands: Array<Command>;\n /**\n * \n * @type {boolean}\n * @memberof ChannelTypeConfig\n */\n connect_events: boolean;\n /**\n * \n * @type {string}\n * @memberof ChannelTypeConfig\n */\n created_at: string;\n /**\n * \n * @type {boolean}\n * @memberof ChannelTypeConfig\n */\n custom_events: boolean;\n /**\n * \n * @type {{ [key: string]: Array<string>; }}\n * @memberof ChannelTypeConfig\n */\n grants: { [key: string]: Array<string>; };\n /**\n * \n * @type {boolean}\n * @memberof ChannelTypeConfig\n */\n mark_messages_pending: boolean;\n /**\n * \n * @type {number}\n * @memberof ChannelTypeConfig\n */\n max_message_length: number;\n /**\n * \n * @type {string}\n * @memberof ChannelTypeConfig\n */\n message_retention: string;\n /**\n * \n * @type {boolean}\n * @memberof ChannelTypeConfig\n */\n mutes: boolean;\n /**\n * \n * @type {string}\n * @memberof ChannelTypeConfig\n */\n name: string;\n /**\n * \n * @type {Array<PolicyRequest1>}\n * @memberof ChannelTypeConfig\n */\n permissions: Array<PolicyRequest1>;\n /**\n * \n * @type {boolean}\n * @memberof ChannelTypeConfig\n */\n push_notifications: boolean;\n /**\n * \n * @type {boolean}\n * @memberof ChannelTypeConfig\n */\n quotes: boolean;\n /**\n * \n * @type {boolean}\n * @memberof ChannelTypeConfig\n */\n reactions: boolean;\n /**\n * \n * @type {boolean}\n * @memberof ChannelTypeConfig\n */\n read_events: boolean;\n /**\n * \n * @type {boolean}\n * @memberof ChannelTypeConfig\n */\n reminders: boolean;\n /**\n * \n * @type {boolean}\n * @memberof ChannelTypeConfig\n */\n replies: boolean;\n /**\n * \n * @type {boolean}\n * @memberof ChannelTypeConfig\n */\n search: boolean;\n /**\n * \n * @type {boolean}\n * @memberof ChannelTypeConfig\n */\n typing_events: boolean;\n /**\n * \n * @type {string}\n * @memberof ChannelTypeConfig\n */\n updated_at: string;\n /**\n * \n * @type {boolean}\n * @memberof ChannelTypeConfig\n */\n uploads: boolean;\n /**\n * \n * @type {boolean}\n * @memberof ChannelTypeConfig\n */\n url_enrichment: boolean;\n}\n\n\n/**\n * @export\n */\nexport const ChannelTypeConfigAutomodEnum = {\n DISABLED: 'disabled',\n SIMPLE: 'simple',\n AI: 'AI'\n} as const;\nexport type ChannelTypeConfigAutomodEnum = typeof ChannelTypeConfigAutomodEnum[keyof typeof ChannelTypeConfigAutomodEnum];\n\n/**\n * @export\n */\nexport const ChannelTypeConfigAutomodBehaviorEnum = {\n FLAG: 'flag',\n BLOCK: 'block'\n} as const;\nexport type ChannelTypeConfigAutomodBehaviorEnum = typeof ChannelTypeConfigAutomodBehaviorEnum[keyof typeof ChannelTypeConfigAutomodBehaviorEnum];\n\n/**\n * @export\n */\nexport const ChannelTypeConfigBlocklistBehaviorEnum = {\n FLAG: 'flag',\n BLOCK: 'block'\n} as const;\nexport type ChannelTypeConfigBlocklistBehaviorEnum = typeof ChannelTypeConfigBlocklistBehaviorEnum[keyof typeof ChannelTypeConfigBlocklistBehaviorEnum];\n\n/**\n * \n * @export\n * @interface ChannelUnFrozenEvent\n */\nexport interface ChannelUnFrozenEvent {\n /**\n * \n * @type {string}\n * @memberof ChannelUnFrozenEvent\n */\n channel_id: string;\n /**\n * \n * @type {string}\n * @memberof ChannelUnFrozenEvent\n */\n channel_type: string;\n /**\n * \n * @type {string}\n * @memberof ChannelUnFrozenEvent\n */\n cid: string;\n /**\n * \n * @type {string}\n * @memberof ChannelUnFrozenEvent\n */\n created_at: string;\n /**\n * \n * @type {string}\n * @memberof ChannelUnFrozenEvent\n */\n type: string;\n}\n/**\n * \n * @export\n * @interface ChannelUnmutedEvent\n */\nexport interface ChannelUnmutedEvent {\n /**\n * \n * @type {string}\n * @memberof ChannelUnmutedEvent\n */\n created_at: string;\n /**\n * \n * @type {string}\n * @memberof ChannelUnmutedEvent\n */\n type: string;\n}\n/**\n * \n * @export\n * @interface ChannelUpdatedEvent\n */\nexport interface ChannelUpdatedEvent {\n /**\n * \n * @type {ChannelResponse}\n * @memberof ChannelUpdatedEvent\n */\n channel?: ChannelResponse;\n /**\n * \n * @type {string}\n * @memberof ChannelUpdatedEvent\n */\n channel_id: string;\n /**\n * \n * @type {string}\n * @memberof ChannelUpdatedEvent\n */\n channel_type: string;\n /**\n * \n * @type {string}\n * @memberof ChannelUpdatedEvent\n */\n cid: string;\n /**\n * \n * @type {string}\n * @memberof ChannelUpdatedEvent\n */\n created_at: string;\n /**\n * \n * @type {Message}\n * @memberof ChannelUpdatedEvent\n */\n message?: Message | null;\n /**\n * \n * @type {string}\n * @memberof ChannelUpdatedEvent\n */\n team?: string;\n /**\n * \n * @type {string}\n * @memberof ChannelUpdatedEvent\n */\n type: string;\n /**\n * \n * @type {UserObject}\n * @memberof ChannelUpdatedEvent\n */\n user?: UserObject;\n}\n/**\n * \n * @export\n * @interface ChannelVisibleEvent\n */\nexport interface ChannelVisibleEvent {\n /**\n * \n * @type {string}\n * @memberof ChannelVisibleEvent\n */\n channel_id: string;\n /**\n * \n * @type {string}\n * @memberof ChannelVisibleEvent\n */\n channel_type: string;\n /**\n * \n * @type {string}\n * @memberof ChannelVisibleEvent\n */\n cid: string;\n /**\n * \n * @type {string}\n * @memberof ChannelVisibleEvent\n */\n created_at: string;\n /**\n * \n * @type {string}\n * @memberof ChannelVisibleEvent\n */\n type: string;\n /**\n * \n * @type {UserObject}\n * @memberof ChannelVisibleEvent\n */\n user?: UserObject;\n}\n/**\n * \n * @export\n * @interface ChannelsResponse\n */\nexport interface ChannelsResponse {\n /**\n * List of channels\n * @type {Array<ChannelStateResponseFields>}\n * @memberof ChannelsResponse\n */\n channels: Array<ChannelStateResponseFields>;\n /**\n * \n * @type {string}\n * @memberof ChannelsResponse\n */\n duration: string;\n}\n/**\n * @type ChatEvent\n * The discriminator object for all websocket events, you should use this to map event payloads to their own type\n * @export\n */\nexport type ChatEvent = { type: 'any' } & AnyEvent | { type: 'channel.created' } & ChannelCreatedEvent | { type: 'channel.deleted' } & ChannelDeletedEvent | { type: 'channel.frozen' } & ChannelFrozenEvent | { type: 'channel.hidden' } & ChannelHiddenEvent | { type: 'channel.kicked' } & ChannelKickedEvent | { type: 'channel.muted' } & ChannelMutedEvent | { type: 'channel.truncated' } & ChannelTruncatedEvent | { type: 'channel.unfrozen' } & ChannelUnFrozenEvent | { type: 'channel.unmuted' } & ChannelUnmutedEvent | { type: 'channel.updated' } & ChannelUpdatedEvent | { type: 'channel.visible' } & ChannelVisibleEvent | { type: 'custom' } & AnyEvent | { type: 'flag.updated' } & FlagUpdatedEvent | { type: 'health.check' } & HealthCheckEvent | { type: 'member.added' } & MemberAddedEvent | { type: 'member.removed' } & MemberRemovedEvent | { type: 'member.updated' } & MemberUpdatedEvent | { type: 'message.deleted' } & MessageDeletedEvent | { type: 'message.flagged' } & MessageFlaggedEvent | { type: 'message.new' } & MessageNewEvent | { type: 'message.read' } & MessageReadEvent | { type: 'message.unblocked' } & MessageUnblockedEvent | { type: 'message.updated' } & MessageUpdatedEvent | { type: 'notification.added_to_channel' } & NotificationAddedToChannelEvent | { type: 'notification.channel_deleted' } & NotificationChannelDeletedEvent | { type: 'notification.channel_mutes_updated' } & NotificationChannelMutesUpdatedEvent | { type: 'notification.channel_truncated' } & NotificationChannelTruncatedEvent | { type: 'notification.invite_accepted' } & NotificationInviteAcceptedEvent | { type: 'notification.invite_rejected' } & NotificationInviteRejectedEvent | { type: 'notification.invited' } & NotificationInvitedEvent | { type: 'notification.mark_read' } & NotificationMarkReadEvent | { type: 'notification.mark_unread' } & NotificationMarkUnreadEvent | { type: 'notification.message_new' } & NotificationNewMessageEvent | { type: 'notification.mutes_updated' } & NotificationMutesUpdatedEvent | { type: 'notification.removed_from_channel' } & NotificationRemovedFromChannelEvent | { type: 'reaction.deleted' } & ReactionDeletedEvent | { type: 'reaction.new' } & ReactionNewEvent | { type: 'reaction.updated' } & ReactionUpdatedEvent | { type: 'typing.start' } & TypingStartEvent | { type: 'typing.stop' } & TypingStopEvent | { type: 'user.banned' } & UserBannedEvent | { type: 'user.deactivated' } & UserDeactivatedEvent | { type: 'user.deleted' } & UserDeletedEvent | { type: 'user.flagged' } & UserFlaggedEvent | { type: 'user.muted' } & UserMutedEvent | { type: 'user.presence.changed' } & UserPresenceChangedEvent | { type: 'user.reactivated' } & UserReactivatedEvent | { type: 'user.unbanned' } & UserUnbannedEvent | { type: 'user.unmuted' } & UserUnmutedEvent | { type: 'user.unread_message_reminder' } & UserUnreadReminderEvent | { type: 'user.updated' } & UserUpdatedEvent | { type: 'user.watching.start' } & UserWatchingStartEvent | { type: 'user.watching.stop' } & UserWatchingStopEvent;\n/**\n * \n * @export\n * @interface CheckPushRequest\n */\nexport interface CheckPushRequest {\n /**\n * Push message template for APN\n * @type {string}\n * @memberof CheckPushRequest\n */\n apn_template?: string;\n /**\n * Push message data template for Firebase\n * @type {string}\n * @memberof CheckPushRequest\n */\n firebase_data_template?: string;\n /**\n * Push message template for Firebase\n * @type {string}\n * @memberof CheckPushRequest\n */\n firebase_template?: string;\n /**\n * Message ID to send push notification for\n * @type {string}\n * @memberof CheckPushRequest\n */\n message_id?: string;\n /**\n * Name of push provider\n * @type {string}\n * @memberof CheckPushRequest\n */\n push_provider_name?: string;\n /**\n * Push provider type\n * @type {string}\n * @memberof CheckPushRequest\n */\n push_provider_type?: CheckPushRequestPushProviderTypeEnum;\n /**\n * Don't require existing devices to render templates\n * @type {boolean}\n * @memberof CheckPushRequest\n */\n skip_devices?: boolean;\n /**\n * \n * @type {UserObjectRequest}\n * @memberof CheckPushRequest\n */\n user?: UserObjectRequest;\n /**\n * \n * @type {string}\n * @memberof CheckPushRequest\n */\n user_id?: string;\n}\n\n\n/**\n * @export\n */\nexport const CheckPushRequestPushProviderTypeEnum = {\n FIREBASE: 'firebase',\n APN: 'apn',\n HUAWEI: 'huawei',\n XIAOMI: 'xiaomi'\n} as const;\nexport type CheckPushRequestPushProviderTypeEnum = typeof CheckPushRequestPushProviderTypeEnum[keyof typeof CheckPushRequestPushProviderTypeEnum];\n\n/**\n * \n * @export\n * @interface CheckPushResponse\n */\nexport interface CheckPushResponse {\n /**\n * Object with device errors\n * @type {{ [key: string]: DeviceErrorInfo; }}\n * @memberof CheckPushResponse\n */\n device_errors?: { [key: string]: DeviceErrorInfo; };\n /**\n * \n * @type {string}\n * @memberof CheckPushResponse\n */\n duration: string;\n /**\n * List of general errors\n * @type {Array<string>}\n * @memberof CheckPushResponse\n */\n general_errors?: Array<string>;\n /**\n * \n * @type {string}\n * @memberof CheckPushResponse\n */\n rendered_apn_template?: string;\n /**\n * \n * @type {string}\n * @memberof CheckPushResponse\n */\n rendered_firebase_template?: string;\n /**\n * \n * @type {{ [key: string]: string; }}\n * @memberof CheckPushResponse\n */\n rendered_message?: { [key: string]: string; };\n /**\n * Don't require existing devices to render templates\n * @type {boolean}\n * @memberof CheckPushResponse\n */\n skip_devices?: boolean;\n}\n/**\n * \n * @export\n * @interface CheckSNSRequest\n */\nexport interface CheckSNSRequest {\n /**\n * AWS SNS access key\n * @type {string}\n * @memberof CheckSNSRequest\n */\n sns_key?: string;\n /**\n * AWS SNS key secret\n * @type {string}\n * @memberof CheckSNSRequest\n */\n sns_secret?: string;\n /**\n * AWS SNS topic ARN\n * @type {string}\n * @memberof CheckSNSRequest\n */\n sns_topic_arn?: string;\n}\n/**\n * \n * @export\n * @interface CheckSNSResponse\n */\nexport interface CheckSNSResponse {\n /**\n * Error data\n * @type {{ [key: string]: any; }}\n * @memberof CheckSNSResponse\n */\n data?: { [key: string]: any; };\n /**\n * \n * @type {string}\n * @memberof CheckSNSResponse\n */\n duration: string;\n /**\n * Error text\n * @type {string}\n * @memberof CheckSNSResponse\n */\n error?: string;\n /**\n * Validation result\n * @type {string}\n * @memberof CheckSNSResponse\n */\n status: CheckSNSResponseStatusEnum;\n}\n\n\n/**\n * @export\n */\nexport const CheckSNSResponseStatusEnum = {\n OK: 'ok',\n ERROR: 'error'\n} as const;\nexport type CheckSNSResponseStatusEnum = typeof CheckSNSResponseStatusEnum[keyof typeof CheckSNSResponseStatusEnum];\n\n/**\n * \n * @export\n * @interface CheckSQSRequest\n */\nexport interface CheckSQSRequest {\n /**\n * AWS SQS access key\n * @type {string}\n * @memberof CheckSQSRequest\n */\n sqs_key?: string;\n /**\n * AWS SQS key secret\n * @type {string}\n * @memberof CheckSQSRequest\n */\n sqs_secret?: string;\n /**\n * AWS SQS endpoint URL\n * @type {string}\n * @memberof CheckSQSRequest\n */\n sqs_url?: string;\n}\n/**\n * \n * @export\n * @interface CheckSQSResponse\n */\nexport interface CheckSQSResponse {\n /**\n * Error data\n * @type {{ [key: string]: any; }}\n * @memberof CheckSQSResponse\n */\n data?: { [key: string]: any; };\n /**\n * \n * @type {string}\n * @memberof CheckSQSResponse\n */\n duration: string;\n /**\n * Error text\n * @type {string}\n * @memberof CheckSQSResponse\n */\n error?: string;\n /**\n * Validation result\n * @type {string}\n * @memberof CheckSQSResponse\n */\n status: CheckSQSResponseStatusEnum;\n}\n\n\n/**\n * @export\n */\nexport const CheckSQSResponseStatusEnum = {\n OK: 'ok',\n ERROR: 'error'\n} as const;\nexport type CheckSQSResponseStatusEnum = typeof CheckSQSResponseStatusEnum[keyof typeof CheckSQSResponseStatusEnum];\n\n/**\n * Represents custom chat command\n * @export\n * @interface Command\n */\nexport interface Command {\n /**\n * Arguments help text, shown in commands auto-completion\n * @type {string}\n * @memberof Command\n */\n args: string;\n /**\n * Date/time of creation\n * @type {string}\n * @memberof Command\n */\n readonly created_at?: string;\n /**\n * Description, shown in commands auto-completion\n * @type {string}\n * @memberof Command\n */\n description: string;\n /**\n * Unique command name\n * @type {string}\n * @memberof Command\n */\n name: string;\n /**\n * Set name used for grouping commands\n * @type {string}\n * @memberof Command\n */\n set: string;\n /**\n * Date/time of the last update\n * @type {string}\n * @memberof Command\n */\n readonly updated_at?: string;\n}\n/**\n * Represents custom chat command\n * @export\n * @interface CommandRequest\n */\nexport interface CommandRequest {\n /**\n * Arguments help text, shown in commands auto-completion\n * @type {string}\n * @memberof CommandRequest\n */\n args?: string;\n /**\n * Description, shown in commands auto-completion\n * @type {string}\n * @memberof CommandRequest\n */\n description?: string;\n /**\n * Unique command name\n * @type {string}\n * @memberof CommandRequest\n */\n name?: string;\n /**\n * Set name used for grouping commands\n * @type {string}\n * @memberof CommandRequest\n */\n set?: string;\n}\n/**\n * \n * @export\n * @interface Config\n */\nexport interface Config {\n /**\n * \n * @type {string}\n * @memberof Config\n */\n app_certificate: string;\n /**\n * \n * @type {string}\n * @memberof Config\n */\n app_id: string;\n /**\n * \n * @type {string}\n * @memberof Config\n */\n default_role?: ConfigDefaultRoleEnum;\n /**\n * \n * @type {{ [key: string]: string; }}\n * @memberof Config\n */\n role_map?: { [key: string]: string; };\n}\n\n\n/**\n * @export\n */\nexport const ConfigDefaultRoleEnum = {\n ATTENDEE: 'attendee',\n PUBLISHER: 'publisher',\n SUBSCRIBER: 'subscriber',\n ADMIN: 'admin'\n} as const;\nexport type ConfigDefaultRoleEnum = typeof ConfigDefaultRoleEnum[keyof typeof ConfigDefaultRoleEnum];\n\n/**\n * \n * @export\n * @interface ConfigRequest\n */\nexport interface ConfigRequest {\n /**\n * \n * @type {string}\n * @memberof ConfigRequest\n */\n app_certificate: string;\n /**\n * \n * @type {string}\n * @memberof ConfigRequest\n */\n app_id: string;\n /**\n * \n * @type {string}\n * @memberof ConfigRequest\n */\n default_role?: ConfigRequestDefaultRoleEnum;\n /**\n * \n * @type {{ [key: string]: string; }}\n * @memberof ConfigRequest\n */\n role_map?: { [key: string]: string; };\n}\n\n\n/**\n * @export\n */\nexport const ConfigRequestDefaultRoleEnum = {\n ATTENDEE: 'attendee',\n PUBLISHER: 'publisher',\n SUBSCRIBER: 'subscriber',\n ADMIN: 'admin'\n} as const;\nexport type ConfigRequestDefaultRoleEnum = typeof ConfigRequestDefaultRoleEnum[keyof typeof ConfigRequestDefaultRoleEnum];\n\n/**\n * \n * @export\n * @interface ConnectRequest\n */\nexport interface ConnectRequest {\n /**\n * \n * @type {DeviceFields}\n * @memberof ConnectRequest\n */\n device?: DeviceFields;\n /**\n * \n * @type {UserObject}\n * @memberof ConnectRequest\n */\n user_details: UserObject;\n}\n/**\n * Block list contains restricted words\n * @export\n * @interface CreateBlockListRequest\n */\nexport interface CreateBlockListRequest {\n /**\n * Block list name\n * @type {string}\n * @memberof CreateBlockListRequest\n */\n name: string;\n /**\n * List of words to block\n * @type {Array<string>}\n * @memberof CreateBlockListRequest\n */\n words: Array<string>;\n}\n/**\n * \n * @export\n * @interface CreateCallRequest\n */\nexport interface CreateCallRequest {\n /**\n * \n * @type {string}\n * @memberof CreateCallRequest\n */\n id: string;\n /**\n * \n * @type {{ [key: string]: any; }}\n * @memberof CreateCallRequest\n */\n options?: { [key: string]: any; };\n /**\n * \n * @type {string}\n * @memberof CreateCallRequest\n */\n type: CreateCallRequestTypeEnum;\n /**\n * \n * @type {UserObjectRequest}\n * @memberof CreateCallRequest\n */\n user?: UserObjectRequest;\n /**\n * **Server-side only**. User ID which server acts upon\n * @type {string}\n * @memberof CreateCallRequest\n */\n user_id?: string;\n}\n\n\n/**\n * @export\n */\nexport const CreateCallRequestTypeEnum = {\n AUDIO: 'audio',\n VIDEO: 'video'\n} as const;\nexport type CreateCallRequestTypeEnum = typeof CreateCallRequestTypeEnum[keyof typeof CreateCallRequestTypeEnum];\n\n/**\n * \n * @export\n * @interface CreateCallResponse\n */\nexport interface CreateCallResponse {\n /**\n * \n * @type {string}\n * @memberof CreateCallResponse\n */\n agora_app_id?: string;\n /**\n * \n * @type {number}\n * @memberof CreateCallResponse\n */\n agora_uid?: number;\n /**\n * \n * @type {Call}\n * @memberof CreateCallResponse\n */\n call?: Call;\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof CreateCallResponse\n */\n duration: string;\n /**\n * \n * @type {string}\n * @memberof CreateCallResponse\n */\n token: string;\n}\n/**\n * \n * @export\n * @interface CreateChannelTypeRequest\n */\nexport interface CreateChannelTypeRequest {\n /**\n * Enables automatic message moderation\n * @type {string}\n * @memberof CreateChannelTypeRequest\n */\n automod: CreateChannelTypeRequestAutomodEnum;\n /**\n * Sets behavior of automatic moderation\n * @type {string}\n * @memberof CreateChannelTypeRequest\n */\n automod_behavior?: CreateChannelTypeRequestAutomodBehaviorEnum;\n /**\n * Name of the blocklist to use\n * @type {string}\n * @memberof CreateChannelTypeRequest\n */\n blocklist?: string;\n /**\n * Sets behavior of blocklist\n * @type {string}\n * @memberof CreateChannelTypeRequest\n */\n blocklist_behavior?: CreateChannelTypeRequestBlocklistBehaviorEnum;\n /**\n * \n * @type {{ [key: string]: BlockListOptionsRequest; }}\n * @memberof CreateChannelTypeRequest\n */\n blocklists?: { [key: string]: BlockListOptionsRequest; };\n /**\n * List of commands that channel supports\n * @type {Array<string>}\n * @memberof CreateChannelTypeRequest\n */\n commands?: Array<string>;\n /**\n * Connect events support\n * @type {boolean}\n * @memberof CreateChannelTypeRequest\n */\n connect_events?: boolean;\n /**\n * Enables custom events\n * @type {boolean}\n * @memberof CreateChannelTypeRequest\n */\n custom_events?: boolean;\n /**\n * \n * @type {{ [key: string]: Array<string>; }}\n * @memberof CreateChannelTypeRequest\n */\n grants?: { [key: string]: Array<string>; };\n /**\n * Marks messages as pending by default\n * @type {boolean}\n * @memberof CreateChannelTypeRequest\n */\n mark_messages_pending?: boolean;\n /**\n * Number of maximum message characters\n * @type {number}\n * @memberof CreateChannelTypeRequest\n */\n max_message_length?: number;\n /**\n * Number of days to keep messages. 'infinite' disables retention\n * @type {string}\n * @memberof CreateChannelTypeRequest\n */\n message_retention?: string;\n /**\n * Enables mutes\n * @type {boolean}\n * @memberof CreateChannelTypeRequest\n */\n mutes?: boolean;\n /**\n * Channel type name\n * @type {string}\n * @memberof CreateChannelTypeRequest\n */\n name: string;\n /**\n * List of permissions for the channel type\n * @type {Array<PolicyRequest>}\n * @memberof CreateChannelTypeRequest\n */\n permissions?: Array<PolicyRequest>;\n /**\n * Enables push notifications\n * @type {boolean}\n * @memberof CreateChannelTypeRequest\n */\n push_notifications?: boolean;\n /**\n * Enables message reactions\n * @type {boolean}\n * @memberof CreateChannelTypeRequest\n */\n reactions?: boolean;\n /**\n * Read events support\n * @type {boolean}\n * @memberof CreateChannelTypeRequest\n */\n read_events?: boolean;\n /**\n * Enables message replies (threads)\n * @type {boolean}\n * @memberof CreateChannelTypeRequest\n */\n replies?: boolean;\n /**\n * Enables message search\n * @type {boolean}\n * @memberof CreateChannelTypeRequest\n */\n search?: boolean;\n /**\n * Typing events support\n * @type {boolean}\n * @memberof CreateChannelTypeRequest\n */\n typing_events?: boolean;\n /**\n * Enables file uploads\n * @type {boolean}\n * @memberof CreateChannelTypeRequest\n */\n uploads?: boolean;\n /**\n * Enables URL enrichment\n * @type {boolean}\n * @memberof CreateChannelTypeRequest\n */\n url_enrichment?: boolean;\n}\n\n\n/**\n * @export\n */\nexport const CreateChannelTypeRequestAutomodEnum = {\n DISABLED: 'disabled',\n SIMPLE: 'simple',\n AI: 'AI'\n} as const;\nexport type CreateChannelTypeRequestAutomodEnum = typeof CreateChannelTypeRequestAutomodEnum[keyof typeof CreateChannelTypeRequestAutomodEnum];\n\n/**\n * @export\n */\nexport const CreateChannelTypeRequestAutomodBehaviorEnum = {\n FLAG: 'flag',\n BLOCK: 'block'\n} as const;\nexport type CreateChannelTypeRequestAutomodBehaviorEnum = typeof CreateChannelTypeRequestAutomodBehaviorEnum[keyof typeof CreateChannelTypeRequestAutomodBehaviorEnum];\n\n/**\n * @export\n */\nexport const CreateChannelTypeRequestBlocklistBehaviorEnum = {\n FLAG: 'flag',\n BLOCK: 'block'\n} as const;\nexport type CreateChannelTypeRequestBlocklistBehaviorEnum = typeof CreateChannelTypeRequestBlocklistBehaviorEnum[keyof typeof CreateChannelTypeRequestBlocklistBehaviorEnum];\n\n/**\n * \n * @export\n * @interface CreateChannelTypeResponse\n */\nexport interface CreateChannelTypeResponse {\n /**\n * \n * @type {string}\n * @memberof CreateChannelTypeResponse\n */\n automod: CreateChannelTypeResponseAutomodEnum;\n /**\n * \n * @type {string}\n * @memberof CreateChannelTypeResponse\n */\n automod_behavior: CreateChannelTypeResponseAutomodBehaviorEnum;\n /**\n * \n * @type {Thresholds}\n * @memberof CreateChannelTypeResponse\n */\n automod_thresholds?: Thresholds;\n /**\n * \n * @type {string}\n * @memberof CreateChannelTypeResponse\n */\n blocklist?: string;\n /**\n * \n * @type {string}\n * @memberof CreateChannelTypeResponse\n */\n blocklist_behavior?: CreateChannelTypeResponseBlocklistBehaviorEnum;\n /**\n * \n * @type {Array<BlockListOptions>}\n * @memberof CreateChannelTypeResponse\n */\n blocklists?: Array<BlockListOptions>;\n /**\n * \n * @type {Array<string>}\n * @memberof CreateChannelTypeResponse\n */\n commands: Array<string>;\n /**\n * \n * @type {boolean}\n * @memberof CreateChannelTypeResponse\n */\n connect_events: boolean;\n /**\n * \n * @type {string}\n * @memberof CreateChannelTypeResponse\n */\n created_at: string;\n /**\n * \n * @type {boolean}\n * @memberof CreateChannelTypeResponse\n */\n custom_events: boolean;\n /**\n * \n * @type {string}\n * @memberof CreateChannelTypeResponse\n */\n duration: string;\n /**\n * \n * @type {{ [key: string]: Array<string>; }}\n * @memberof CreateChannelTypeResponse\n */\n grants: { [key: string]: Array<string>; };\n /**\n * \n * @type {boolean}\n * @memberof CreateChannelTypeResponse\n */\n mark_messages_pending: boolean;\n /**\n * \n * @type {number}\n * @memberof CreateChannelTypeResponse\n */\n max_message_length: number;\n /**\n * \n * @type {string}\n * @memberof CreateChannelTypeResponse\n */\n message_retention: string;\n /**\n * \n * @type {boolean}\n * @memberof CreateChannelTypeResponse\n */\n mutes: boolean;\n /**\n * \n * @type {string}\n * @memberof CreateChannelTypeResponse\n */\n name: string;\n /**\n * \n * @type {Array<PolicyRequest1>}\n * @memberof CreateChannelTypeResponse\n */\n permissions: Array<PolicyRequest1>;\n /**\n * \n * @type {boolean}\n * @memberof CreateChannelTypeResponse\n */\n push_notifications: boolean;\n /**\n * \n * @type {boolean}\n * @memberof CreateChannelTypeResponse\n */\n quotes: boolean;\n /**\n * \n * @type {boolean}\n * @memberof CreateChannelTypeResponse\n */\n reactions: boolean;\n /**\n * \n * @type {boolean}\n * @memberof CreateChannelTypeResponse\n */\n read_events: boolean;\n /**\n * \n * @type {boolean}\n * @memberof CreateChannelTypeResponse\n */\n reminders: boolean;\n /**\n * \n * @type {boolean}\n * @memberof CreateChannelTypeResponse\n */\n replies: boolean;\n /**\n * \n * @type {boolean}\n * @memberof CreateChannelTypeResponse\n */\n search: boolean;\n /**\n * \n * @type {boolean}\n * @memberof CreateChannelTypeResponse\n */\n typing_events: boolean;\n /**\n * \n * @type {string}\n * @memberof CreateChannelTypeResponse\n */\n updated_at: string;\n /**\n * \n * @type {boolean}\n * @memberof CreateChannelTypeResponse\n */\n uploads: boolean;\n /**\n * \n * @type {boolean}\n * @memberof CreateChannelTypeResponse\n */\n url_enrichment: boolean;\n}\n\n\n/**\n * @export\n */\nexport const CreateChannelTypeResponseAutomodEnum = {\n DISABLED: 'disabled',\n SIMPLE: 'simple',\n AI: 'AI'\n} as const;\nexport type CreateChannelTypeResponseAutomodEnum = typeof CreateChannelTypeResponseAutomodEnum[keyof typeof CreateChannelTypeResponseAutomodEnum];\n\n/**\n * @export\n */\nexport const CreateChannelTypeResponseAutomodBehaviorEnum = {\n FLAG: 'flag',\n BLOCK: 'block'\n} as const;\nexport type CreateChannelTypeResponseAutomodBehaviorEnum = typeof CreateChannelTypeResponseAutomodBehaviorEnum[keyof typeof CreateChannelTypeResponseAutomodBehaviorEnum];\n\n/**\n * @export\n */\nexport const CreateChannelTypeResponseBlocklistBehaviorEnum = {\n FLAG: 'flag',\n BLOCK: 'block'\n} as const;\nexport type CreateChannelTypeResponseBlocklistBehaviorEnum = typeof CreateChannelTypeResponseBlocklistBehaviorEnum[keyof typeof CreateChannelTypeResponseBlocklistBehaviorEnum];\n\n/**\n * Represents custom chat command\n * @export\n * @interface CreateCommandRequest\n */\nexport interface CreateCommandRequest {\n /**\n * Arguments help text, shown in commands auto-completion\n * @type {string}\n * @memberof CreateCommandRequest\n */\n args?: string;\n /**\n * Description, shown in commands auto-completion\n * @type {string}\n * @memberof CreateCommandRequest\n */\n description: string;\n /**\n * Unique command name\n * @type {string}\n * @memberof CreateCommandRequest\n */\n name: string;\n /**\n * Set name used for grouping commands\n * @type {string}\n * @memberof CreateCommandRequest\n */\n set?: string;\n}\n/**\n * \n * @export\n * @interface CreateCommandResponse\n */\nexport interface CreateCommandResponse {\n /**\n * \n * @type {Command}\n * @memberof CreateCommandResponse\n */\n command?: Command | null;\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof CreateCommandResponse\n */\n duration: string;\n}\n/**\n * \n * @export\n * @interface CreateDeviceRequest\n */\nexport interface CreateDeviceRequest {\n /**\n * \n * @type {string}\n * @memberof CreateDeviceRequest\n */\n id?: string;\n /**\n * \n * @type {string}\n * @memberof CreateDeviceRequest\n */\n push_provider?: CreateDeviceRequestPushProviderEnum;\n /**\n * \n * @type {string}\n * @memberof CreateDeviceRequest\n */\n push_provider_name?: string;\n /**\n * \n * @type {UserRequest}\n * @memberof CreateDeviceRequest\n */\n user?: UserRequest;\n /**\n * \n * @type {string}\n * @memberof CreateDeviceRequest\n */\n user_id?: string;\n /**\n * \n * @type {boolean}\n * @memberof CreateDeviceRequest\n */\n voip_token?: boolean;\n}\n\n\n/**\n * @export\n */\nexport const CreateDeviceRequestPushProviderEnum = {\n FIREBASE: 'firebase',\n APN: 'apn',\n HUAWEI: 'huawei',\n XIAOMI: 'xiaomi'\n} as const;\nexport type CreateDeviceRequestPushProviderEnum = typeof CreateDeviceRequestPushProviderEnum[keyof typeof CreateDeviceRequestPushProviderEnum];\n\n/**\n * \n * @export\n * @interface CreateImportRequest\n */\nexport interface CreateImportRequest {\n /**\n * \n * @type {string}\n * @memberof CreateImportRequest\n */\n mode?: CreateImportRequestModeEnum;\n /**\n * \n * @type {string}\n * @memberof CreateImportRequest\n */\n path: string;\n}\n\n\n/**\n * @export\n */\nexport const CreateImportRequestModeEnum = {\n INSERT: 'insert',\n UPSERT: 'upsert'\n} as const;\nexport type CreateImportRequestModeEnum = typeof CreateImportRequestModeEnum[keyof typeof CreateImportRequestModeEnum];\n\n/**\n * \n * @export\n * @interface CreateImportResponse\n */\nexport interface CreateImportResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof CreateImportResponse\n */\n duration: string;\n /**\n * \n * @type {ImportTask}\n * @memberof CreateImportResponse\n */\n import_task?: ImportTask;\n}\n/**\n * \n * @export\n * @interface CreateImportURLRequest\n */\nexport interface CreateImportURLRequest {\n /**\n * \n * @type {string}\n * @memberof CreateImportURLRequest\n */\n filename?: string;\n}\n/**\n * \n * @export\n * @interface CreateImportURLResponse\n */\nexport interface CreateImportURLResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof CreateImportURLResponse\n */\n duration: string;\n /**\n * \n * @type {string}\n * @memberof CreateImportURLResponse\n */\n path: string;\n /**\n * \n * @type {string}\n * @memberof CreateImportURLResponse\n */\n upload_url: string;\n}\n/**\n * \n * @export\n * @interface CreateRoleRequest\n */\nexport interface CreateRoleRequest {\n /**\n * Role name\n * @type {string}\n * @memberof CreateRoleRequest\n */\n name: string;\n}\n/**\n * \n * @export\n * @interface CreateRoleResponse\n */\nexport interface CreateRoleResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof CreateRoleResponse\n */\n duration: string;\n /**\n * \n * @type {Role}\n * @memberof CreateRoleResponse\n */\n role: Role;\n}\n/**\n * \n * @export\n * @interface DeactivateUserRequest\n */\nexport interface DeactivateUserRequest {\n /**\n * ID of the user who deactivated the user\n * @type {string}\n * @memberof DeactivateUserRequest\n */\n created_by_id?: string;\n /**\n * Makes messages appear to be deleted\n * @type {boolean}\n * @memberof DeactivateUserRequest\n */\n mark_messages_deleted?: boolean;\n /**\n * \n * @type {string}\n * @memberof DeactivateUserRequest\n */\n user_id: string;\n}\n/**\n * \n * @export\n * @interface DeactivateUserResponse\n */\nexport interface DeactivateUserResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof DeactivateUserResponse\n */\n duration: string;\n /**\n * \n * @type {UserObject}\n * @memberof DeactivateUserResponse\n */\n user?: UserObject;\n}\n/**\n * \n * @export\n * @interface DeactivateUsersRequest\n */\nexport interface DeactivateUsersRequest {\n /**\n * ID of the user who deactivated the users\n * @type {string}\n * @memberof DeactivateUsersRequest\n */\n created_by_id?: string;\n /**\n * Makes messages appear to be deleted\n * @type {boolean}\n * @memberof DeactivateUsersRequest\n */\n mark_messages_deleted?: boolean;\n /**\n * User IDs to deactivate\n * @type {Array<string>}\n * @memberof DeactivateUsersRequest\n */\n user_ids: Array<string>;\n}\n/**\n * \n * @export\n * @interface DeactivateUsersResponse\n */\nexport interface DeactivateUsersResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof DeactivateUsersResponse\n */\n duration: string;\n /**\n * \n * @type {string}\n * @memberof DeactivateUsersResponse\n */\n task_id: string;\n}\n/**\n * \n * @export\n * @interface DeleteChannelResponse\n */\nexport interface DeleteChannelResponse {\n /**\n * \n * @type {ChannelResponse}\n * @memberof DeleteChannelResponse\n */\n channel?: ChannelResponse;\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof DeleteChannelResponse\n */\n duration: string;\n}\n/**\n * \n * @export\n * @interface DeleteChannelsRequest\n */\nexport interface DeleteChannelsRequest {\n /**\n * All channels that should be deleted\n * @type {Array<string>}\n * @memberof DeleteChannelsRequest\n */\n cids?: Array<string>;\n /**\n * Specify if channels and all ressources should be hard deleted\n * @type {boolean}\n * @memberof DeleteChannelsRequest\n */\n hard_delete?: boolean;\n}\n/**\n * \n * @export\n * @interface DeleteChannelsResponse\n */\nexport interface DeleteChannelsResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof DeleteChannelsResponse\n */\n duration: string;\n /**\n * \n * @type {{ [key: string]: DeleteChannelsResult; }}\n * @memberof DeleteChannelsResponse\n */\n result?: { [key: string]: DeleteChannelsResult; };\n /**\n * \n * @type {string}\n * @memberof DeleteChannelsResponse\n */\n task_id?: string;\n}\n/**\n * \n * @export\n * @interface DeleteChannelsResult\n */\nexport interface DeleteChannelsResult {\n /**\n * \n * @type {string}\n * @memberof DeleteChannelsResult\n */\n error?: string;\n /**\n * \n * @type {string}\n * @memberof DeleteChannelsResult\n */\n status: string;\n}\n/**\n * \n * @export\n * @interface DeleteCommandResponse\n */\nexport interface DeleteCommandResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof DeleteCommandResponse\n */\n duration: string;\n /**\n * \n * @type {string}\n * @memberof DeleteCommandResponse\n */\n name: string;\n}\n/**\n * \n * @export\n * @interface DeleteUserResponse\n */\nexport interface DeleteUserResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof DeleteUserResponse\n */\n duration: string;\n /**\n * \n * @type {string}\n * @memberof DeleteUserResponse\n */\n task_id: string;\n /**\n * \n * @type {UserObject}\n * @memberof DeleteUserResponse\n */\n user?: UserObject;\n}\n/**\n * \n * @export\n * @interface DeleteUsersRequest\n */\nexport interface DeleteUsersRequest {\n /**\n * Conversation channels delete mode.\n * Conversation channel is any channel which only has two members one of which is the user being deleted.\n * \n * * null or empty string - doesn't delete any conversation channels\n * * soft - marks all conversation channels as deleted (same effect as Delete Channels with 'hard' option disabled)\n * * hard - deletes channel and all its data completely including messages (same effect as Delete Channels with 'hard' option enabled)\n * @type {string}\n * @memberof DeleteUsersRequest\n */\n conversations?: DeleteUsersRequestConversationsEnum;\n /**\n * Message delete mode.\n * \n * * null or empty string - doesn't delete user messages\n * * soft - marks all user messages as deleted without removing any related message data\n * * pruning - marks all user messages as deleted, nullifies message information and removes some message data such as reactions and flags\n * * hard - deletes messages completely with all related information\n * @type {string}\n * @memberof DeleteUsersRequest\n */\n messages?: DeleteUsersRequestMessagesEnum;\n /**\n * \n * @type {string}\n * @memberof DeleteUsersRequest\n */\n new_channel_owner_id?: string;\n /**\n * User delete mode.\n * \n * * soft - marks user as deleted and retains all user data\n * * pruning - marks user as deleted and nullifies user information\n * * hard - deletes user completely. Requires 'hard' option for messages and conversations as well\n * @type {string}\n * @memberof DeleteUsersRequest\n */\n user?: DeleteUsersRequestUserEnum;\n /**\n * IDs of users to delete\n * @type {Array<string>}\n * @memberof DeleteUsersRequest\n */\n user_ids: Array<string>;\n}\n\n\n/**\n * @export\n */\nexport const DeleteUsersRequestConversationsEnum = {\n SOFT: 'soft',\n HARD: 'hard'\n} as const;\nexport type DeleteUsersRequestConversationsEnum = typeof DeleteUsersRequestConversationsEnum[keyof typeof DeleteUsersRequestConversationsEnum];\n\n/**\n * @export\n */\nexport const DeleteUsersRequestMessagesEnum = {\n SOFT: 'soft',\n PRUNING: 'pruning',\n HARD: 'hard'\n} as const;\nexport type DeleteUsersRequestMessagesEnum = typeof DeleteUsersRequestMessagesEnum[keyof typeof DeleteUsersRequestMessagesEnum];\n\n/**\n * @export\n */\nexport const DeleteUsersRequestUserEnum = {\n SOFT: 'soft',\n PRUNING: 'pruning',\n HARD: 'hard'\n} as const;\nexport type DeleteUsersRequestUserEnum = typeof DeleteUsersRequestUserEnum[keyof typeof DeleteUsersRequestUserEnum];\n\n/**\n * \n * @export\n * @interface DeleteUsersResponse\n */\nexport interface DeleteUsersResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof DeleteUsersResponse\n */\n duration: string;\n /**\n * \n * @type {string}\n * @memberof DeleteUsersResponse\n */\n task_id: string;\n}\n/**\n * \n * @export\n * @interface Device\n */\nexport interface Device {\n /**\n * \n * @type {string}\n * @memberof Device\n */\n created_at: string;\n /**\n * \n * @type {boolean}\n * @memberof Device\n */\n disabled?: boolean;\n /**\n * \n * @type {string}\n * @memberof Device\n */\n disabled_reason?: string;\n /**\n * Device ID\n * @type {string}\n * @memberof Device\n */\n id: string;\n /**\n * \n * @type {string}\n * @memberof Device\n */\n push_provider: DevicePushProviderEnum;\n /**\n * Name of the push provider configuration\n * @type {string}\n * @memberof Device\n */\n push_provider_name?: string;\n /**\n * \n * @type {string}\n * @memberof Device\n */\n user_id: string;\n /**\n * \n * @type {boolean}\n * @memberof Device\n */\n voip?: boolean;\n}\n\n\n/**\n * @export\n */\nexport const DevicePushProviderEnum = {\n FIREBASE: 'firebase',\n APN: 'apn',\n HUAWEI: 'huawei',\n XIAOMI: 'xiaomi'\n} as const;\nexport type DevicePushProviderEnum = typeof DevicePushProviderEnum[keyof typeof DevicePushProviderEnum];\n\n/**\n * \n * @export\n * @interface DeviceErrorInfo\n */\nexport interface DeviceErrorInfo {\n /**\n * \n * @type {string}\n * @memberof DeviceErrorInfo\n */\n error_message: string;\n /**\n * \n * @type {string}\n * @memberof DeviceErrorInfo\n */\n provider: string;\n /**\n * \n * @type {string}\n * @memberof DeviceErrorInfo\n */\n provider_name: string;\n}\n/**\n * \n * @export\n * @interface DeviceFields\n */\nexport interface DeviceFields {\n /**\n * Device ID\n * @type {string}\n * @memberof DeviceFields\n */\n id: string;\n /**\n * \n * @type {string}\n * @memberof DeviceFields\n */\n push_provider: DeviceFieldsPushProviderEnum;\n /**\n * Name of the push provider configuration\n * @type {string}\n * @memberof DeviceFields\n */\n push_provider_name?: string;\n /**\n * \n * @type {boolean}\n * @memberof DeviceFields\n */\n voip?: boolean;\n}\n\n\n/**\n * @export\n */\nexport const DeviceFieldsPushProviderEnum = {\n FIREBASE: 'firebase',\n APN: 'apn',\n HUAWEI: 'huawei',\n XIAOMI: 'xiaomi'\n} as const;\nexport type DeviceFieldsPushProviderEnum = typeof DeviceFieldsPushProviderEnum[keyof typeof DeviceFieldsPushProviderEnum];\n\n/**\n * \n * @export\n * @interface DeviceRequest\n */\nexport interface DeviceRequest {\n /**\n * \n * @type {string}\n * @memberof DeviceRequest\n */\n created_at?: string;\n /**\n * \n * @type {boolean}\n * @memberof DeviceRequest\n */\n disabled?: boolean;\n /**\n * \n * @type {string}\n * @memberof DeviceRequest\n */\n disabled_reason?: string;\n /**\n * Device ID\n * @type {string}\n * @memberof DeviceRequest\n */\n id: string;\n /**\n * \n * @type {string}\n * @memberof DeviceRequest\n */\n push_provider: DeviceRequestPushProviderEnum;\n /**\n * Name of the push provider configuration\n * @type {string}\n * @memberof DeviceRequest\n */\n push_provider_name?: string;\n /**\n * \n * @type {string}\n * @memberof DeviceRequest\n */\n user_id?: string;\n /**\n * \n * @type {boolean}\n * @memberof DeviceRequest\n */\n voip?: boolean;\n}\n\n\n/**\n * @export\n */\nexport const DeviceRequestPushProviderEnum = {\n FIREBASE: 'firebase',\n APN: 'apn',\n HUAWEI: 'huawei',\n XIAOMI: 'xiaomi'\n} as const;\nexport type DeviceRequestPushProviderEnum = typeof DeviceRequestPushProviderEnum[keyof typeof DeviceRequestPushProviderEnum];\n\n/**\n * \n * @export\n * @interface ErrorResult\n */\nexport interface ErrorResult {\n /**\n * \n * @type {any}\n * @memberof ErrorResult\n */\n description: any | null;\n /**\n * \n * @type {string}\n * @memberof ErrorResult\n */\n stacktrace?: string;\n /**\n * \n * @type {string}\n * @memberof ErrorResult\n */\n type: string;\n /**\n * \n * @type {string}\n * @memberof ErrorResult\n */\n version?: string;\n}\n/**\n * Represents an BaseEvent that happened in Stream Chat\n * @export\n * @interface Event\n */\nexport interface Event {\n [key: string]: any | any;\n /**\n * Only applicable to `message.flagged` BaseEvent.\n * @type {boolean}\n * @memberof Event\n */\n automoderation?: boolean;\n /**\n * \n * @type {ModerationResponse}\n * @memberof Event\n */\n automoderation_scores?: ModerationResponse;\n /**\n * \n * @type {ChannelResponse}\n * @memberof Event\n */\n channel?: ChannelResponse;\n /**\n * \n * @type {string}\n * @memberof Event\n */\n channel_id?: string;\n /**\n * \n * @type {string}\n * @memberof Event\n */\n channel_type?: string;\n /**\n * Channel CID (<type>:<id>)\n * @type {string}\n * @memberof Event\n */\n cid?: string;\n /**\n * Only applicable to `health.check` BaseEvent\n * @type {string}\n * @memberof Event\n */\n connection_id?: string;\n /**\n * Date/time of creation\n * @type {string}\n * @memberof Event\n */\n created_at: string;\n /**\n * \n * @type {UserObject}\n * @memberof Event\n */\n created_by?: UserObject;\n /**\n * \n * @type {OwnUser}\n * @memberof Event\n */\n me?: OwnUser;\n /**\n * \n * @type {ChannelMember}\n * @memberof Event\n */\n member?: ChannelMember | null;\n /**\n * \n * @type {Message}\n * @memberof Event\n */\n message?: Message | null;\n /**\n * ID of thread. Used in typing events\n * @type {string}\n * @memberof Event\n */\n parent_id?: string;\n /**\n * \n * @type {Reaction}\n * @memberof Event\n */\n reaction?: Reaction | null;\n /**\n * Ban reason. Only applicable to `user.banned` BaseEvent\n * @type {string}\n * @memberof Event\n */\n reason?: string;\n /**\n * \n * @type {string}\n * @memberof Event\n */\n team?: string;\n /**\n * Event type. To use custom BaseEvent types see Custom Events documentation\n * @type {string}\n * @memberof Event\n */\n type: string;\n /**\n * \n * @type {UserObject}\n * @memberof Event\n */\n user?: UserObject;\n /**\n * \n * @type {string}\n * @memberof Event\n */\n user_id?: string;\n /**\n * Number of watchers who received this BaseEvent\n * @type {number}\n * @memberof Event\n */\n watcher_count?: number;\n}\n/**\n * \n * @export\n * @interface EventNotificationSettings\n */\nexport interface EventNotificationSettings {\n /**\n * \n * @type {APNS}\n * @memberof EventNotificationSettings\n */\n apns: APNS;\n /**\n * \n * @type {boolean}\n * @memberof EventNotificationSettings\n */\n enabled: boolean;\n}\n/**\n * Represents an BaseEvent that happened in Stream Chat\n * @export\n * @interface EventRequest\n */\nexport interface EventRequest {\n [key: string]: any | any;\n /**\n * Only applicable to `message.flagged` BaseEvent.\n * @type {boolean}\n * @memberof EventRequest\n */\n automoderation?: boolean;\n /**\n * \n * @type {ModerationResponseRequest}\n * @memberof EventRequest\n */\n automoderation_scores?: ModerationResponseRequest;\n /**\n * \n * @type {ChannelResponseRequest}\n * @memberof EventRequest\n */\n channel?: ChannelResponseRequest;\n /**\n * \n * @type {string}\n * @memberof EventRequest\n */\n channel_id?: string;\n /**\n * \n * @type {string}\n * @memberof EventRequest\n */\n channel_type?: string;\n /**\n * Channel CID (<type>:<id>)\n * @type {string}\n * @memberof EventRequest\n */\n cid?: string;\n /**\n * Only applicable to `health.check` BaseEvent\n * @type {string}\n * @memberof EventRequest\n */\n connection_id?: string;\n /**\n * Date/time of creation\n * @type {string}\n * @memberof EventRequest\n */\n created_at?: string;\n /**\n * \n * @type {UserObjectRequest}\n * @memberof EventRequest\n */\n created_by?: UserObjectRequest;\n /**\n * \n * @type {OwnUserRequest}\n * @memberof EventRequest\n */\n me?: OwnUserRequest;\n /**\n * \n * @type {ChannelMemberRequest}\n * @memberof EventRequest\n */\n member?: ChannelMemberRequest | null;\n /**\n * \n * @type {MessageRequest1}\n * @memberof EventRequest\n */\n message?: MessageRequest1;\n /**\n * ID of thread. Used in typing events\n * @type {string}\n * @memberof EventRequest\n */\n parent_id?: string;\n /**\n * \n * @type {ReactionRequest}\n * @memberof EventRequest\n */\n reaction?: ReactionRequest | null;\n /**\n * Ban reason. Only applicable to `user.banned` BaseEvent\n * @type {string}\n * @memberof EventRequest\n */\n reason?: string;\n /**\n * \n * @type {string}\n * @memberof EventRequest\n */\n team?: string;\n /**\n * Event type. To use custom BaseEvent types see Custom Events documentation\n * @type {string}\n * @memberof EventRequest\n */\n type: string;\n /**\n * \n * @type {UserObjectRequest}\n * @memberof EventRequest\n */\n user?: UserObjectRequest;\n /**\n * \n * @type {string}\n * @memberof EventRequest\n */\n user_id?: string;\n /**\n * Number of watchers who received this BaseEvent\n * @type {number}\n * @memberof EventRequest\n */\n watcher_count?: number;\n}\n/**\n * \n * @export\n * @interface EventResponse\n */\nexport interface EventResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof EventResponse\n */\n duration: string;\n /**\n * \n * @type {Event}\n * @memberof EventResponse\n */\n event?: Event;\n}\n/**\n * \n * @export\n * @interface ExportChannelsRequest\n */\nexport interface ExportChannelsRequest {\n /**\n * Export options for channels\n * @type {Array<ChannelExportRequest>}\n * @memberof ExportChannelsRequest\n */\n channels?: Array<ChannelExportRequest>;\n /**\n * Set if deleted message text should be cleared\n * @type {boolean}\n * @memberof ExportChannelsRequest\n */\n clear_deleted_message_text?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof ExportChannelsRequest\n */\n export_users?: boolean;\n /**\n * Set if you want to include truncated messages\n * @type {boolean}\n * @memberof ExportChannelsRequest\n */\n include_truncated_messages?: boolean;\n /**\n * \n * @type {string}\n * @memberof ExportChannelsRequest\n */\n version?: string;\n}\n/**\n * \n * @export\n * @interface ExportChannelsResponse\n */\nexport interface ExportChannelsResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof ExportChannelsResponse\n */\n duration: string;\n /**\n * \n * @type {string}\n * @memberof ExportChannelsResponse\n */\n task_id: string;\n}\n/**\n * \n * @export\n * @interface ExportChannelsResult\n */\nexport interface ExportChannelsResult {\n /**\n * S3 path of result\n * @type {string}\n * @memberof ExportChannelsResult\n */\n path?: string;\n /**\n * S3 bucket name result\n * @type {string}\n * @memberof ExportChannelsResult\n */\n s3_bucket_name?: string;\n /**\n * URL of result\n * @type {string}\n * @memberof ExportChannelsResult\n */\n url: string;\n}\n/**\n * \n * @export\n * @interface ExportUserResponse\n */\nexport interface ExportUserResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof ExportUserResponse\n */\n duration: string;\n /**\n * \n * @type {Array<Message>}\n * @memberof ExportUserResponse\n */\n messages?: Array<Message>;\n /**\n * \n * @type {Array<Reaction>}\n * @memberof ExportUserResponse\n */\n reactions?: Array<Reaction>;\n /**\n * \n * @type {UserObject}\n * @memberof ExportUserResponse\n */\n user?: UserObject;\n}\n/**\n * \n * @export\n * @interface ExportUsersRequest\n */\nexport interface ExportUsersRequest {\n /**\n * \n * @type {Array<string>}\n * @memberof ExportUsersRequest\n */\n user_ids: Array<string>;\n}\n/**\n * \n * @export\n * @interface ExportUsersResponse\n */\nexport interface ExportUsersResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof ExportUsersResponse\n */\n duration: string;\n /**\n * \n * @type {string}\n * @memberof ExportUsersResponse\n */\n task_id: string;\n}\n/**\n * \n * @export\n * @interface Field\n */\nexport interface Field {\n /**\n * \n * @type {boolean}\n * @memberof Field\n */\n _short: boolean;\n /**\n * \n * @type {string}\n * @memberof Field\n */\n title: string;\n /**\n * \n * @type {string}\n * @memberof Field\n */\n value: string;\n}\n/**\n * \n * @export\n * @interface FieldRequest\n */\nexport interface FieldRequest {\n /**\n * \n * @type {boolean}\n * @memberof FieldRequest\n */\n _short?: boolean;\n /**\n * \n * @type {string}\n * @memberof FieldRequest\n */\n title?: string;\n /**\n * \n * @type {string}\n * @memberof FieldRequest\n */\n value?: string;\n}\n/**\n * \n * @export\n * @interface FileDeleteResponse\n */\nexport interface FileDeleteResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof FileDeleteResponse\n */\n duration: string;\n}\n/**\n * \n * @export\n * @interface FileUploadConfig\n */\nexport interface FileUploadConfig {\n /**\n * \n * @type {Array<string>}\n * @memberof FileUploadConfig\n */\n allowed_file_extensions: Array<string>;\n /**\n * \n * @type {Array<string>}\n * @memberof FileUploadConfig\n */\n allowed_mime_types: Array<string>;\n /**\n * \n * @type {Array<string>}\n * @memberof FileUploadConfig\n */\n blocked_file_extensions: Array<string>;\n /**\n * \n * @type {Array<string>}\n * @memberof FileUploadConfig\n */\n blocked_mime_types: Array<string>;\n}\n/**\n * \n * @export\n * @interface FileUploadConfigRequest\n */\nexport interface FileUploadConfigRequest {\n /**\n * \n * @type {Array<string>}\n * @memberof FileUploadConfigRequest\n */\n allowed_file_extensions?: Array<string>;\n /**\n * \n * @type {Array<string>}\n * @memberof FileUploadConfigRequest\n */\n allowed_mime_types?: Array<string>;\n /**\n * \n * @type {Array<string>}\n * @memberof FileUploadConfigRequest\n */\n blocked_file_extensions?: Array<string>;\n /**\n * \n * @type {Array<string>}\n * @memberof FileUploadConfigRequest\n */\n blocked_mime_types?: Array<string>;\n}\n/**\n * \n * @export\n * @interface FileUploadResponse\n */\nexport interface FileUploadResponse {\n /**\n * \n * @type {string}\n * @memberof FileUploadResponse\n */\n duration: string;\n /**\n * URL to the uploaded asset. Should be used to put to `asset_url` attachment field\n * @type {string}\n * @memberof FileUploadResponse\n */\n file?: string;\n /**\n * URL of the file thumbnail for supported file formats. Should be put to `thumb_url` attachment field\n * @type {string}\n * @memberof FileUploadResponse\n */\n thumb_url?: string;\n}\n/**\n * \n * @export\n * @interface FirebaseConfigFields\n */\nexport interface FirebaseConfigFields {\n /**\n * \n * @type {string}\n * @memberof FirebaseConfigFields\n */\n apn_template: string;\n /**\n * \n * @type {string}\n * @memberof FirebaseConfigFields\n */\n credentials_json?: string;\n /**\n * \n * @type {string}\n * @memberof FirebaseConfigFields\n */\n data_template: string;\n /**\n * \n * @type {boolean}\n * @memberof FirebaseConfigFields\n */\n enabled: boolean;\n /**\n * \n * @type {string}\n * @memberof FirebaseConfigFields\n */\n notification_template: string;\n /**\n * \n * @type {string}\n * @memberof FirebaseConfigFields\n */\n server_key?: string;\n}\n/**\n * \n * @export\n * @interface FirebaseConfigRequest\n */\nexport interface FirebaseConfigRequest {\n /**\n * \n * @type {boolean}\n * @memberof FirebaseConfigRequest\n */\n Disabled?: boolean;\n /**\n * \n * @type {string}\n * @memberof FirebaseConfigRequest\n */\n apn_template?: string;\n /**\n * \n * @type {string}\n * @memberof FirebaseConfigRequest\n */\n credentials_json?: string;\n /**\n * \n * @type {string}\n * @memberof FirebaseConfigRequest\n */\n data_template?: string;\n /**\n * \n * @type {string}\n * @memberof FirebaseConfigRequest\n */\n notification_template?: string;\n /**\n * \n * @type {string}\n * @memberof FirebaseConfigRequest\n */\n server_key?: string;\n}\n/**\n * Contains information about flagged user or message\n * @export\n * @interface Flag\n */\nexport interface Flag {\n /**\n * Date of the approval\n * @type {string}\n * @memberof Flag\n */\n approved_at?: string;\n /**\n * Date/time of creation\n * @type {string}\n * @memberof Flag\n */\n created_at: string;\n /**\n * \n * @type {boolean}\n * @memberof Flag\n */\n created_by_automod: boolean;\n /**\n * \n * @type {FlagDetails}\n * @memberof Flag\n */\n details?: FlagDetails;\n /**\n * Date of the rejection\n * @type {string}\n * @memberof Flag\n */\n rejected_at?: string;\n /**\n * Date of the review\n * @type {string}\n * @memberof Flag\n */\n reviewed_at?: string;\n /**\n * \n * @type {Message}\n * @memberof Flag\n */\n target_message?: Message | null;\n /**\n * ID of flagged message\n * @type {string}\n * @memberof Flag\n */\n target_message_id?: string;\n /**\n * \n * @type {UserObject}\n * @memberof Flag\n */\n target_user?: UserObject;\n /**\n * Date/time of the last update\n * @type {string}\n * @memberof Flag\n */\n updated_at: string;\n /**\n * \n * @type {UserObject}\n * @memberof Flag\n */\n user?: UserObject;\n}\n/**\n * \n * @export\n * @interface FlagDetails\n */\nexport interface FlagDetails {\n [key: string]: any | any;\n /**\n * \n * @type {AutomodDetails}\n * @memberof FlagDetails\n */\n automod?: AutomodDetails;\n}\n/**\n * \n * @export\n * @interface FlagFeedback\n */\nexport interface FlagFeedback {\n /**\n * \n * @type {string}\n * @memberof FlagFeedback\n */\n created_at: string;\n /**\n * \n * @type {Array<Label>}\n * @memberof FlagFeedback\n */\n labels: Array<Label>;\n /**\n * \n * @type {string}\n * @memberof FlagFeedback\n */\n message_id: string;\n}\n/**\n * \n * @export\n * @interface FlagMessageDetails\n */\nexport interface FlagMessageDetails {\n /**\n * \n * @type {boolean}\n * @memberof FlagMessageDetails\n */\n pin_changed?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof FlagMessageDetails\n */\n should_enrich?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof FlagMessageDetails\n */\n skip_push?: boolean;\n /**\n * \n * @type {string}\n * @memberof FlagMessageDetails\n */\n updated_by_id?: string;\n}\n/**\n * \n * @export\n * @interface FlagRequest\n */\nexport interface FlagRequest {\n /**\n * ID of the message when reporting a message\n * @type {string}\n * @memberof FlagRequest\n */\n target_message_id?: string;\n /**\n * \n * @type {UserObjectRequest}\n * @memberof FlagRequest\n */\n user?: UserObjectRequest;\n /**\n * \n * @type {string}\n * @memberof FlagRequest\n */\n user_id?: string;\n}\n/**\n * \n * @export\n * @interface FlagResponse\n */\nexport interface FlagResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof FlagResponse\n */\n duration: string;\n /**\n * \n * @type {Flag}\n * @memberof FlagResponse\n */\n flag?: Flag;\n}\n/**\n * \n * @export\n * @interface FlagUpdatedEvent\n */\nexport interface FlagUpdatedEvent {\n /**\n * \n * @type {UserObject}\n * @memberof FlagUpdatedEvent\n */\n CreatedBy?: UserObject;\n /**\n * \n * @type {string}\n * @memberof FlagUpdatedEvent\n */\n created_at: string;\n /**\n * \n * @type {Message}\n * @memberof FlagUpdatedEvent\n */\n message?: Message | null;\n /**\n * \n * @type {Array<UserObject>}\n * @memberof FlagUpdatedEvent\n */\n thread_participants?: Array<UserObject>;\n /**\n * \n * @type {string}\n * @memberof FlagUpdatedEvent\n */\n type: string;\n /**\n * \n * @type {UserObject}\n * @memberof FlagUpdatedEvent\n */\n user?: UserObject;\n}\n/**\n * \n * @export\n * @interface GeofenceResponse\n */\nexport interface GeofenceResponse {\n /**\n * \n * @type {Array<string>}\n * @memberof GeofenceResponse\n */\n country_codes?: Array<string>;\n /**\n * \n * @type {string}\n * @memberof GeofenceResponse\n */\n description?: string;\n /**\n * \n * @type {string}\n * @memberof GeofenceResponse\n */\n name: string;\n /**\n * \n * @type {string}\n * @memberof GeofenceResponse\n */\n type?: string;\n}\n/**\n * \n * @export\n * @interface GeofenceSettings\n */\nexport interface GeofenceSettings {\n /**\n * \n * @type {Array<string>}\n * @memberof GeofenceSettings\n */\n names: Array<string>;\n}\n/**\n * \n * @export\n * @interface GetApplicationResponse\n */\nexport interface GetApplicationResponse {\n /**\n * \n * @type {App}\n * @memberof GetApplicationResponse\n */\n app: App;\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof GetApplicationResponse\n */\n duration: string;\n}\n/**\n * \n * @export\n * @interface GetBlockListResponse\n */\nexport interface GetBlockListResponse {\n /**\n * \n * @type {BlockList}\n * @memberof GetBlockListResponse\n */\n blocklist?: BlockList;\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof GetBlockListResponse\n */\n duration: string;\n}\n/**\n * \n * @export\n * @interface GetCallTokenRequest\n */\nexport interface GetCallTokenRequest {\n /**\n * \n * @type {UserObjectRequest}\n * @memberof GetCallTokenRequest\n */\n user?: UserObjectRequest;\n /**\n * **Server-side only**. User ID which server acts upon\n * @type {string}\n * @memberof GetCallTokenRequest\n */\n user_id?: string;\n}\n/**\n * \n * @export\n * @interface GetCallTokenResponse\n */\nexport interface GetCallTokenResponse {\n /**\n * \n * @type {string}\n * @memberof GetCallTokenResponse\n */\n agora_app_id?: string;\n /**\n * \n * @type {number}\n * @memberof GetCallTokenResponse\n */\n agora_uid?: number;\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof GetCallTokenResponse\n */\n duration: string;\n /**\n * \n * @type {string}\n * @memberof GetCallTokenResponse\n */\n token: string;\n}\n/**\n * \n * @export\n * @interface GetCommandResponse\n */\nexport interface GetCommandResponse {\n /**\n * \n * @type {string}\n * @memberof GetCommandResponse\n */\n args: string;\n /**\n * \n * @type {string}\n * @memberof GetCommandResponse\n */\n readonly created_at?: string;\n /**\n * \n * @type {string}\n * @memberof GetCommandResponse\n */\n description: string;\n /**\n * \n * @type {string}\n * @memberof GetCommandResponse\n */\n duration: string;\n /**\n * \n * @type {string}\n * @memberof GetCommandResponse\n */\n name: string;\n /**\n * \n * @type {string}\n * @memberof GetCommandResponse\n */\n set: string;\n /**\n * \n * @type {string}\n * @memberof GetCommandResponse\n */\n readonly updated_at?: string;\n}\n/**\n * \n * @export\n * @interface GetCustomPermissionResponse\n */\nexport interface GetCustomPermissionResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof GetCustomPermissionResponse\n */\n duration: string;\n /**\n * \n * @type {Permission}\n * @memberof GetCustomPermissionResponse\n */\n permission: Permission;\n}\n/**\n * \n * @export\n * @interface GetExportChannelsStatusResponse\n */\nexport interface GetExportChannelsStatusResponse {\n /**\n * \n * @type {string}\n * @memberof GetExportChannelsStatusResponse\n */\n created_at: string;\n /**\n * \n * @type {string}\n * @memberof GetExportChannelsStatusResponse\n */\n duration: string;\n /**\n * \n * @type {ErrorResult}\n * @memberof GetExportChannelsStatusResponse\n */\n error?: ErrorResult;\n /**\n * \n * @type {ExportChannelsResult}\n * @memberof GetExportChannelsStatusResponse\n */\n result?: ExportChannelsResult;\n /**\n * \n * @type {string}\n * @memberof GetExportChannelsStatusResponse\n */\n status: string;\n /**\n * \n * @type {string}\n * @memberof GetExportChannelsStatusResponse\n */\n task_id: string;\n /**\n * \n * @type {string}\n * @memberof GetExportChannelsStatusResponse\n */\n updated_at: string;\n}\n/**\n * \n * @export\n * @interface GetImportResponse\n */\nexport interface GetImportResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof GetImportResponse\n */\n duration: string;\n /**\n * \n * @type {ImportTask}\n * @memberof GetImportResponse\n */\n import_task?: ImportTask;\n}\n/**\n * \n * @export\n * @interface GetManyMessagesResponse\n */\nexport interface GetManyMessagesResponse {\n /**\n * \n * @type {string}\n * @memberof GetManyMessagesResponse\n */\n duration: string;\n /**\n * List of messages\n * @type {Array<Message>}\n * @memberof GetManyMessagesResponse\n */\n messages: Array<Message>;\n}\n/**\n * \n * @export\n * @interface GetOGResponse\n */\nexport interface GetOGResponse {\n [key: string]: any | any;\n /**\n * \n * @type {Array<Action>}\n * @memberof GetOGResponse\n */\n actions?: Array<Action>;\n /**\n * URL of detected video or audio\n * @type {string}\n * @memberof GetOGResponse\n */\n asset_url?: string;\n /**\n * \n * @type {string}\n * @memberof GetOGResponse\n */\n author_icon?: string;\n /**\n * og:site\n * @type {string}\n * @memberof GetOGResponse\n */\n author_link?: string;\n /**\n * og:site_name\n * @type {string}\n * @memberof GetOGResponse\n */\n author_name?: string;\n /**\n * \n * @type {string}\n * @memberof GetOGResponse\n */\n color?: string;\n /**\n * \n * @type {string}\n * @memberof GetOGResponse\n */\n duration: string;\n /**\n * \n * @type {string}\n * @memberof GetOGResponse\n */\n fallback?: string;\n /**\n * \n * @type {Array<Field>}\n * @memberof GetOGResponse\n */\n fields?: Array<Field>;\n /**\n * \n * @type {string}\n * @memberof GetOGResponse\n */\n footer?: string;\n /**\n * \n * @type {string}\n * @memberof GetOGResponse\n */\n footer_icon?: string;\n /**\n * \n * @type {Images}\n * @memberof GetOGResponse\n */\n giphy?: Images;\n /**\n * URL of detected image\n * @type {string}\n * @memberof GetOGResponse\n */\n image_url?: string;\n /**\n * extracted url from the text\n * @type {string}\n * @memberof GetOGResponse\n */\n og_scrape_url?: string;\n /**\n * \n * @type {number}\n * @memberof GetOGResponse\n */\n original_height?: number;\n /**\n * \n * @type {number}\n * @memberof GetOGResponse\n */\n original_width?: number;\n /**\n * \n * @type {string}\n * @memberof GetOGResponse\n */\n pretext?: string;\n /**\n * og:description\n * @type {string}\n * @memberof GetOGResponse\n */\n text?: string;\n /**\n * URL of detected thumb image\n * @type {string}\n * @memberof GetOGResponse\n */\n thumb_url?: string;\n /**\n * og:title\n * @type {string}\n * @memberof GetOGResponse\n */\n title?: string;\n /**\n * og:url\n * @type {string}\n * @memberof GetOGResponse\n */\n title_link?: string;\n /**\n * Attachment type, could be empty, image, audio or video\n * @type {string}\n * @memberof GetOGResponse\n */\n type?: string;\n}\n/**\n * \n * @export\n * @interface GetRateLimitsResponse\n */\nexport interface GetRateLimitsResponse {\n /**\n * Map of endpoint rate limits for the Android platform\n * @type {{ [key: string]: LimitInfo; }}\n * @memberof GetRateLimitsResponse\n */\n android?: { [key: string]: LimitInfo; };\n /**\n * \n * @type {string}\n * @memberof GetRateLimitsResponse\n */\n duration: string;\n /**\n * Map of endpoint rate limits for the iOS platform\n * @type {{ [key: string]: LimitInfo; }}\n * @memberof GetRateLimitsResponse\n */\n ios?: { [key: string]: LimitInfo; };\n /**\n * Map of endpoint rate limits for the server-side platform\n * @type {{ [key: string]: LimitInfo; }}\n * @memberof GetRateLimitsResponse\n */\n server_side?: { [key: string]: LimitInfo; };\n /**\n * Map of endpoint rate limits for the web platform\n * @type {{ [key: string]: LimitInfo; }}\n * @memberof GetRateLimitsResponse\n */\n web?: { [key: string]: LimitInfo; };\n}\n/**\n * \n * @export\n * @interface GetReactionsResponse\n */\nexport interface GetReactionsResponse {\n /**\n * \n * @type {string}\n * @memberof GetReactionsResponse\n */\n duration: string;\n /**\n * List of reactions\n * @type {Array<Reaction>}\n * @memberof GetReactionsResponse\n */\n reactions: Array<Reaction>;\n}\n/**\n * \n * @export\n * @interface GetRepliesResponse\n */\nexport interface GetRepliesResponse {\n /**\n * \n * @type {string}\n * @memberof GetRepliesResponse\n */\n duration: string;\n /**\n * List of messages\n * @type {Array<Message>}\n * @memberof GetRepliesResponse\n */\n messages: Array<Message>;\n}\n/**\n * \n * @export\n * @interface GetTaskResponse\n */\nexport interface GetTaskResponse {\n /**\n * \n * @type {string}\n * @memberof GetTaskResponse\n */\n created_at: string;\n /**\n * \n * @type {string}\n * @memberof GetTaskResponse\n */\n duration: string;\n /**\n * \n * @type {ErrorResult}\n * @memberof GetTaskResponse\n */\n error?: ErrorResult;\n /**\n * Result produced by task after completion\n * @type {{ [key: string]: any; }}\n * @memberof GetTaskResponse\n */\n result?: { [key: string]: any; };\n /**\n * Current status of task\n * @type {string}\n * @memberof GetTaskResponse\n */\n status: string;\n /**\n * ID of task\n * @type {string}\n * @memberof GetTaskResponse\n */\n task_id: string;\n /**\n * \n * @type {string}\n * @memberof GetTaskResponse\n */\n updated_at: string;\n}\n/**\n * \n * @export\n * @interface GuestRequest\n */\nexport interface GuestRequest {\n /**\n * \n * @type {UserObjectRequest}\n * @memberof GuestRequest\n */\n user: UserObjectRequest;\n}\n/**\n * \n * @export\n * @interface GuestResponse\n */\nexport interface GuestResponse {\n /**\n * Authentication token to use for guest user\n * @type {string}\n * @memberof GuestResponse\n */\n access_token: string;\n /**\n * \n * @type {string}\n * @memberof GuestResponse\n */\n duration: string;\n /**\n * \n * @type {UserObject}\n * @memberof GuestResponse\n */\n user?: UserObject;\n}\n/**\n * \n * @export\n * @interface HLSSettings\n */\nexport interface HLSSettings {\n /**\n * \n * @type {boolean}\n * @memberof HLSSettings\n */\n auto_on: boolean;\n /**\n * \n * @type {boolean}\n * @memberof HLSSettings\n */\n enabled: boolean;\n /**\n * \n * @type {LayoutSettings}\n * @memberof HLSSettings\n */\n layout?: LayoutSettings;\n /**\n * \n * @type {Array<string>}\n * @memberof HLSSettings\n */\n quality_tracks: Array<string>;\n}\n/**\n * \n * @export\n * @interface HMSCall\n */\nexport interface HMSCall {\n /**\n * \n * @type {string}\n * @memberof HMSCall\n */\n room_id: string;\n /**\n * \n * @type {string}\n * @memberof HMSCall\n */\n room_name: string;\n}\n/**\n * \n * @export\n * @interface HealthCheckEvent\n */\nexport interface HealthCheckEvent {\n /**\n * \n * @type {string}\n * @memberof HealthCheckEvent\n */\n cid: string;\n /**\n * \n * @type {string}\n * @memberof HealthCheckEvent\n */\n created_at: string;\n /**\n * \n * @type {OwnUser}\n * @memberof HealthCheckEvent\n */\n me?: OwnUser;\n /**\n * \n * @type {string}\n * @memberof HealthCheckEvent\n */\n type: string;\n}\n/**\n * \n * @export\n * @interface HideChannelRequest\n */\nexport interface HideChannelRequest {\n /**\n * Whether to clear message history of the channel or not\n * @type {boolean}\n * @memberof HideChannelRequest\n */\n clear_history?: boolean;\n /**\n * \n * @type {UserObjectRequest}\n * @memberof HideChannelRequest\n */\n user?: UserObjectRequest;\n /**\n * \n * @type {string}\n * @memberof HideChannelRequest\n */\n user_id?: string;\n}\n/**\n * \n * @export\n * @interface HideChannelResponse\n */\nexport interface HideChannelResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof HideChannelResponse\n */\n duration: string;\n}\n/**\n * \n * @export\n * @interface HuaweiConfigFields\n */\nexport interface HuaweiConfigFields {\n /**\n * \n * @type {boolean}\n * @memberof HuaweiConfigFields\n */\n enabled: boolean;\n /**\n * \n * @type {string}\n * @memberof HuaweiConfigFields\n */\n id?: string;\n /**\n * \n * @type {string}\n * @memberof HuaweiConfigFields\n */\n secret?: string;\n}\n/**\n * \n * @export\n * @interface HuaweiConfigRequest\n */\nexport interface HuaweiConfigRequest {\n /**\n * \n * @type {boolean}\n * @memberof HuaweiConfigRequest\n */\n Disabled?: boolean;\n /**\n * \n * @type {string}\n * @memberof HuaweiConfigRequest\n */\n id?: string;\n /**\n * \n * @type {string}\n * @memberof HuaweiConfigRequest\n */\n secret?: string;\n}\n/**\n * \n * @export\n * @interface ImageData\n */\nexport interface ImageData {\n /**\n * \n * @type {string}\n * @memberof ImageData\n */\n frames: string;\n /**\n * \n * @type {string}\n * @memberof ImageData\n */\n height: string;\n /**\n * \n * @type {string}\n * @memberof ImageData\n */\n size: string;\n /**\n * \n * @type {string}\n * @memberof ImageData\n */\n url: string;\n /**\n * \n * @type {string}\n * @memberof ImageData\n */\n width: string;\n}\n/**\n * \n * @export\n * @interface ImageDataRequest\n */\nexport interface ImageDataRequest {\n /**\n * \n * @type {string}\n * @memberof ImageDataRequest\n */\n frames?: string;\n /**\n * \n * @type {string}\n * @memberof ImageDataRequest\n */\n height?: string;\n /**\n * \n * @type {string}\n * @memberof ImageDataRequest\n */\n size?: string;\n /**\n * \n * @type {string}\n * @memberof ImageDataRequest\n */\n url?: string;\n /**\n * \n * @type {string}\n * @memberof ImageDataRequest\n */\n width?: string;\n}\n/**\n * \n * @export\n * @interface ImageSize\n */\nexport interface ImageSize {\n /**\n * Crop mode\n * @type {string}\n * @memberof ImageSize\n */\n crop: ImageSizeCropEnum;\n /**\n * Target image height\n * @type {number}\n * @memberof ImageSize\n */\n height: number;\n /**\n * Resize method\n * @type {string}\n * @memberof ImageSize\n */\n resize: ImageSizeResizeEnum;\n /**\n * Target image width\n * @type {number}\n * @memberof ImageSize\n */\n width: number;\n}\n\n\n/**\n * @export\n */\nexport const ImageSizeCropEnum = {\n TOP: 'top',\n BOTTOM: 'bottom',\n LEFT: 'left',\n RIGHT: 'right',\n CENTER: 'center'\n} as const;\nexport type ImageSizeCropEnum = typeof ImageSizeCropEnum[keyof typeof ImageSizeCropEnum];\n\n/**\n * @export\n */\nexport const ImageSizeResizeEnum = {\n CLIP: 'clip',\n CROP: 'crop',\n SCALE: 'scale',\n FILL: 'fill'\n} as const;\nexport type ImageSizeResizeEnum = typeof ImageSizeResizeEnum[keyof typeof ImageSizeResizeEnum];\n\n/**\n * \n * @export\n * @interface ImageUploadResponse\n */\nexport interface ImageUploadResponse {\n /**\n * \n * @type {string}\n * @memberof ImageUploadResponse\n */\n duration: string;\n /**\n * URL to the uploaded asset. Should be used to put to `asset_url` attachment field\n * @type {string}\n * @memberof ImageUploadResponse\n */\n file?: string;\n /**\n * URL of the file thumbnail for supported file formats. Should be put to `thumb_url` attachment field\n * @type {string}\n * @memberof ImageUploadResponse\n */\n thumb_url?: string;\n /**\n * \n * @type {Array<ImageSize>}\n * @memberof ImageUploadResponse\n */\n upload_sizes?: Array<ImageSize>;\n}\n/**\n * \n * @export\n * @interface Images\n */\nexport interface Images {\n /**\n * \n * @type {ImageData}\n * @memberof Images\n */\n fixed_height: ImageData;\n /**\n * \n * @type {ImageData}\n * @memberof Images\n */\n fixed_height_downsampled: ImageData;\n /**\n * \n * @type {ImageData}\n * @memberof Images\n */\n fixed_height_still: ImageData;\n /**\n * \n * @type {ImageData}\n * @memberof Images\n */\n fixed_width: ImageData;\n /**\n * \n * @type {ImageData}\n * @memberof Images\n */\n fixed_width_downsampled: ImageData;\n /**\n * \n * @type {ImageData}\n * @memberof Images\n */\n fixed_width_still: ImageData;\n /**\n * \n * @type {ImageData}\n * @memberof Images\n */\n original: ImageData;\n}\n/**\n * \n * @export\n * @interface ImagesRequest\n */\nexport interface ImagesRequest {\n /**\n * \n * @type {ImageDataRequest}\n * @memberof ImagesRequest\n */\n fixed_height?: ImageDataRequest;\n /**\n * \n * @type {ImageDataRequest}\n * @memberof ImagesRequest\n */\n fixed_height_downsampled?: ImageDataRequest;\n /**\n * \n * @type {ImageDataRequest}\n * @memberof ImagesRequest\n */\n fixed_height_still?: ImageDataRequest;\n /**\n * \n * @type {ImageDataRequest}\n * @memberof ImagesRequest\n */\n fixed_width?: ImageDataRequest;\n /**\n * \n * @type {ImageDataRequest}\n * @memberof ImagesRequest\n */\n fixed_width_downsampled?: ImageDataRequest;\n /**\n * \n * @type {ImageDataRequest}\n * @memberof ImagesRequest\n */\n fixed_width_still?: ImageDataRequest;\n /**\n * \n * @type {ImageDataRequest}\n * @memberof ImagesRequest\n */\n original?: ImageDataRequest;\n}\n/**\n * \n * @export\n * @interface ImportTask\n */\nexport interface ImportTask {\n /**\n * \n * @type {string}\n * @memberof ImportTask\n */\n created_at: string;\n /**\n * \n * @type {Array<ImportTaskHistory>}\n * @memberof ImportTask\n */\n history: Array<ImportTaskHistory>;\n /**\n * \n * @type {string}\n * @memberof ImportTask\n */\n id: string;\n /**\n * \n * @type {string}\n * @memberof ImportTask\n */\n mode: string;\n /**\n * \n * @type {string}\n * @memberof ImportTask\n */\n path: string;\n /**\n * \n * @type {any}\n * @memberof ImportTask\n */\n result?: any | null;\n /**\n * \n * @type {number}\n * @memberof ImportTask\n */\n size?: number;\n /**\n * \n * @type {string}\n * @memberof ImportTask\n */\n state: string;\n /**\n * \n * @type {string}\n * @memberof ImportTask\n */\n updated_at: string;\n}\n/**\n * \n * @export\n * @interface ImportTaskHistory\n */\nexport interface ImportTaskHistory {\n /**\n * \n * @type {string}\n * @memberof ImportTaskHistory\n */\n created_at: string;\n /**\n * \n * @type {string}\n * @memberof ImportTaskHistory\n */\n next_state: string;\n /**\n * \n * @type {string}\n * @memberof ImportTaskHistory\n */\n prev_state: string;\n}\n/**\n * \n * @export\n * @interface Label\n */\nexport interface Label {\n /**\n * \n * @type {string}\n * @memberof Label\n */\n name: string;\n /**\n * \n * @type {Array<number>}\n * @memberof Label\n */\n phrase_list_ids?: Array<number>;\n}\n/**\n * \n * @export\n * @interface LabelThresholds\n */\nexport interface LabelThresholds {\n /**\n * Threshold for automatic message block\n * @type {number}\n * @memberof LabelThresholds\n */\n block?: number;\n /**\n * Threshold for automatic message flag\n * @type {number}\n * @memberof LabelThresholds\n */\n flag?: number;\n}\n/**\n * \n * @export\n * @interface LabelThresholdsRequest\n */\nexport interface LabelThresholdsRequest {\n /**\n * Threshold for automatic message block\n * @type {number}\n * @memberof LabelThresholdsRequest\n */\n block?: number;\n /**\n * Threshold for automatic message flag\n * @type {number}\n * @memberof LabelThresholdsRequest\n */\n flag?: number;\n}\n/**\n * \n * @export\n * @interface LayoutSettings\n */\nexport interface LayoutSettings {\n /**\n * \n * @type {string}\n * @memberof LayoutSettings\n */\n external_app_url: string;\n /**\n * \n * @type {string}\n * @memberof LayoutSettings\n */\n external_css_url: string;\n /**\n * \n * @type {string}\n * @memberof LayoutSettings\n */\n name: LayoutSettingsNameEnum;\n /**\n * \n * @type {{ [key: string]: any; }}\n * @memberof LayoutSettings\n */\n options?: { [key: string]: any; };\n}\n\n\n/**\n * @export\n */\nexport const LayoutSettingsNameEnum = {\n SPOTLIGHT: 'spotlight',\n GRID: 'grid',\n SINGLE_PARTICIPANT: 'single-participant',\n MOBILE: 'mobile',\n CUSTOM: 'custom'\n} as const;\nexport type LayoutSettingsNameEnum = typeof LayoutSettingsNameEnum[keyof typeof LayoutSettingsNameEnum];\n\n/**\n * \n * @export\n * @interface LimitInfo\n */\nexport interface LimitInfo {\n /**\n * The maximum number of calls allowed for the time window\n * @type {number}\n * @memberof LimitInfo\n */\n limit: number;\n /**\n * The number of remaining calls in the current window\n * @type {number}\n * @memberof LimitInfo\n */\n remaining: number;\n /**\n * The Unix timestamp of the next window\n * @type {number}\n * @memberof LimitInfo\n */\n reset: number;\n}\n/**\n * \n * @export\n * @interface ListBlockListResponse\n */\nexport interface ListBlockListResponse {\n /**\n * \n * @type {Array<BlockList>}\n * @memberof ListBlockListResponse\n */\n blocklists: Array<BlockList>;\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof ListBlockListResponse\n */\n duration: string;\n}\n/**\n * \n * @export\n * @interface ListChannelTypesResponse\n */\nexport interface ListChannelTypesResponse {\n /**\n * Object with all channel types\n * @type {{ [key: string]: ChannelTypeConfig; }}\n * @memberof ListChannelTypesResponse\n */\n channel_types: { [key: string]: ChannelTypeConfig; };\n /**\n * \n * @type {string}\n * @memberof ListChannelTypesResponse\n */\n duration: string;\n}\n/**\n * \n * @export\n * @interface ListCommandsResponse\n */\nexport interface ListCommandsResponse {\n /**\n * \n * @type {Array<Command>}\n * @memberof ListCommandsResponse\n */\n commands: Array<Command>;\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof ListCommandsResponse\n */\n duration: string;\n}\n/**\n * \n * @export\n * @interface ListDevicesResponse\n */\nexport interface ListDevicesResponse {\n /**\n * List of devices\n * @type {Array<Device>}\n * @memberof ListDevicesResponse\n */\n devices: Array<Device>;\n /**\n * \n * @type {string}\n * @memberof ListDevicesResponse\n */\n duration: string;\n}\n/**\n * \n * @export\n * @interface ListImportsResponse\n */\nexport interface ListImportsResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof ListImportsResponse\n */\n duration: string;\n /**\n * \n * @type {Array<ImportTask>}\n * @memberof ListImportsResponse\n */\n import_tasks: Array<ImportTask>;\n}\n/**\n * \n * @export\n * @interface ListPermissionsResponse\n */\nexport interface ListPermissionsResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof ListPermissionsResponse\n */\n duration: string;\n /**\n * \n * @type {Array<Permission>}\n * @memberof ListPermissionsResponse\n */\n permissions: Array<Permission>;\n}\n/**\n * \n * @export\n * @interface ListPushProvidersResponse\n */\nexport interface ListPushProvidersResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof ListPushProvidersResponse\n */\n duration: string;\n /**\n * \n * @type {Array<PushProviderResponse>}\n * @memberof ListPushProvidersResponse\n */\n push_providers: Array<PushProviderResponse>;\n}\n/**\n * \n * @export\n * @interface ListRolesResponse\n */\nexport interface ListRolesResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof ListRolesResponse\n */\n duration: string;\n /**\n * \n * @type {Array<Role>}\n * @memberof ListRolesResponse\n */\n roles: Array<Role>;\n}\n/**\n * \n * @export\n * @interface MarkChannelsReadRequest\n */\nexport interface MarkChannelsReadRequest {\n /**\n * \n * @type {UserObjectRequest}\n * @memberof MarkChannelsReadRequest\n */\n user?: UserObjectRequest;\n /**\n * \n * @type {string}\n * @memberof MarkChannelsReadRequest\n */\n user_id?: string;\n}\n/**\n * \n * @export\n * @interface MarkReadRequest\n */\nexport interface MarkReadRequest {\n /**\n * ID of the message that is considered last read by client\n * @type {string}\n * @memberof MarkReadRequest\n */\n message_id?: string;\n /**\n * \n * @type {UserObjectRequest}\n * @memberof MarkReadRequest\n */\n user?: UserObjectRequest;\n /**\n * \n * @type {string}\n * @memberof MarkReadRequest\n */\n user_id?: string;\n}\n/**\n * \n * @export\n * @interface MarkReadResponse\n */\nexport interface MarkReadResponse {\n /**\n * \n * @type {string}\n * @memberof MarkReadResponse\n */\n duration: string;\n /**\n * \n * @type {MessageReadEvent}\n * @memberof MarkReadResponse\n */\n event?: MessageReadEvent;\n}\n/**\n * \n * @export\n * @interface MarkUnreadRequest\n */\nexport interface MarkUnreadRequest {\n /**\n * ID of the message from where the channel is marked unread\n * @type {string}\n * @memberof MarkUnreadRequest\n */\n message_id: string;\n /**\n * \n * @type {UserObjectRequest}\n * @memberof MarkUnreadRequest\n */\n user?: UserObjectRequest;\n /**\n * \n * @type {string}\n * @memberof MarkUnreadRequest\n */\n user_id?: string;\n}\n/**\n * \n * @export\n * @interface MemberAddedEvent\n */\nexport interface MemberAddedEvent {\n /**\n * \n * @type {string}\n * @memberof MemberAddedEvent\n */\n channel_id: string;\n /**\n * \n * @type {string}\n * @memberof MemberAddedEvent\n */\n channel_type: string;\n /**\n * \n * @type {string}\n * @memberof MemberAddedEvent\n */\n cid: string;\n /**\n * \n * @type {string}\n * @memberof MemberAddedEvent\n */\n created_at: string;\n /**\n * \n * @type {ChannelMember}\n * @memberof MemberAddedEvent\n */\n member?: ChannelMember | null;\n /**\n * \n * @type {string}\n * @memberof MemberAddedEvent\n */\n team?: string;\n /**\n * \n * @type {string}\n * @memberof MemberAddedEvent\n */\n type: string;\n /**\n * \n * @type {UserObject}\n * @memberof MemberAddedEvent\n */\n user?: UserObject;\n}\n/**\n * \n * @export\n * @interface MemberRemovedEvent\n */\nexport interface MemberRemovedEvent {\n /**\n * \n * @type {string}\n * @memberof MemberRemovedEvent\n */\n channel_id: string;\n /**\n * \n * @type {string}\n * @memberof MemberRemovedEvent\n */\n channel_type: string;\n /**\n * \n * @type {string}\n * @memberof MemberRemovedEvent\n */\n cid: string;\n /**\n * \n * @type {string}\n * @memberof MemberRemovedEvent\n */\n created_at: string;\n /**\n * \n * @type {ChannelMember}\n * @memberof MemberRemovedEvent\n */\n member?: ChannelMember | null;\n /**\n * \n * @type {string}\n * @memberof MemberRemovedEvent\n */\n type: string;\n /**\n * \n * @type {UserObject}\n * @memberof MemberRemovedEvent\n */\n user?: UserObject;\n}\n/**\n * \n * @export\n * @interface MemberUpdatedEvent\n */\nexport interface MemberUpdatedEvent {\n /**\n * \n * @type {string}\n * @memberof MemberUpdatedEvent\n */\n channel_id: string;\n /**\n * \n * @type {string}\n * @memberof MemberUpdatedEvent\n */\n channel_type: string;\n /**\n * \n * @type {string}\n * @memberof MemberUpdatedEvent\n */\n cid: string;\n /**\n * \n * @type {string}\n * @memberof MemberUpdatedEvent\n */\n created_at: string;\n /**\n * \n * @type {ChannelMember}\n * @memberof MemberUpdatedEvent\n */\n member?: ChannelMember | null;\n /**\n * \n * @type {string}\n * @memberof MemberUpdatedEvent\n */\n team?: string;\n /**\n * \n * @type {string}\n * @memberof MemberUpdatedEvent\n */\n type: string;\n /**\n * \n * @type {UserObject}\n * @memberof MemberUpdatedEvent\n */\n user?: UserObject;\n}\n/**\n * \n * @export\n * @interface MembersResponse\n */\nexport interface MembersResponse {\n /**\n * \n * @type {string}\n * @memberof MembersResponse\n */\n duration: string;\n /**\n * List of found members\n * @type {Array<ChannelMember>}\n * @memberof MembersResponse\n */\n members: Array<ChannelMember>;\n}\n/**\n * Represents any chat message\n * @export\n * @interface Message\n */\nexport interface Message {\n [key: string]: any | any;\n /**\n * Array of message attachments\n * @type {Array<Attachment>}\n * @memberof Message\n */\n attachments: Array<Attachment>;\n /**\n * Whether `before_message_send webhook` failed or not. Field is only accessible in push webhook\n * @type {boolean}\n * @memberof Message\n */\n before_message_send_failed?: boolean;\n /**\n * Channel unique identifier in <type>:<id> format\n * @type {string}\n * @memberof Message\n */\n cid: string;\n /**\n * Contains provided slash command\n * @type {string}\n * @memberof Message\n */\n command?: string;\n /**\n * Date/time of creation\n * @type {string}\n * @memberof Message\n */\n created_at: string;\n /**\n * Date/time of deletion\n * @type {string}\n * @memberof Message\n */\n deleted_at?: string;\n /**\n * \n * @type {number}\n * @memberof Message\n */\n deleted_reply_count: number;\n /**\n * Contains HTML markup of the message. Can only be set when using server-side API\n * @type {string}\n * @memberof Message\n */\n html: string;\n /**\n * Object with translations. Key `language` contains the original language key. Other keys contain translations\n * @type {{ [key: string]: string; }}\n * @memberof Message\n */\n i18n?: { [key: string]: string; };\n /**\n * Message ID is unique string identifier of the message\n * @type {string}\n * @memberof Message\n */\n id: string;\n /**\n * Contains image moderation information\n * @type {{ [key: string]: Array<string>; }}\n * @memberof Message\n */\n image_labels?: { [key: string]: Array<string>; };\n /**\n * List of 10 latest reactions to this message\n * @type {Array<Reaction>}\n * @memberof Message\n */\n latest_reactions: Array<Reaction>;\n /**\n * List of mentioned users\n * @type {Array<UserObject>}\n * @memberof Message\n */\n mentioned_users: Array<UserObject>;\n /**\n * Should be empty if `text` is provided. Can only be set when using server-side API\n * @type {string}\n * @memberof Message\n */\n mml?: string;\n /**\n * List of 10 latest reactions of authenticated user to this message\n * @type {Array<Reaction>}\n * @memberof Message\n */\n own_reactions: Array<Reaction>;\n /**\n * ID of parent message (thread)\n * @type {string}\n * @memberof Message\n */\n parent_id?: string;\n /**\n * Date when pinned message expires\n * @type {string}\n * @memberof Message\n */\n pin_expires?: string;\n /**\n * Whether message is pinned or not\n * @type {boolean}\n * @memberof Message\n */\n pinned: boolean;\n /**\n * Date when message got pinned\n * @type {string}\n * @memberof Message\n */\n pinned_at?: string;\n /**\n * \n * @type {UserObject}\n * @memberof Message\n */\n pinned_by?: UserObject;\n /**\n * \n * @type {Message}\n * @memberof Message\n */\n quoted_message?: Message | null;\n /**\n * \n * @type {string}\n * @memberof Message\n */\n quoted_message_id?: string;\n /**\n * An object containing number of reactions of each type. Key: reaction type (string), value: number of reactions (int)\n * @type {{ [key: string]: number; }}\n * @memberof Message\n */\n reaction_counts: { [key: string]: number; };\n /**\n * An object containing scores of reactions of each type. Key: reaction type (string), value: total score of reactions (int)\n * @type {{ [key: string]: number; }}\n * @memberof Message\n */\n reaction_scores: { [key: string]: number; };\n /**\n * Number of replies to this message\n * @type {number}\n * @memberof Message\n */\n reply_count: number;\n /**\n * Whether the message was shadowed or not\n * @type {boolean}\n * @memberof Message\n */\n shadowed: boolean;\n /**\n * Whether thread reply should be shown in the channel as well\n * @type {boolean}\n * @memberof Message\n */\n show_in_channel?: boolean;\n /**\n * Whether message is silent or not\n * @type {boolean}\n * @memberof Message\n */\n silent: boolean;\n /**\n * Text of the message. Should be empty if `mml` is provided\n * @type {string}\n * @memberof Message\n */\n text: string;\n /**\n * List of users who participate in thread\n * @type {Array<UserObject>}\n * @memberof Message\n */\n thread_participants?: Array<UserObject>;\n /**\n * Contains type of the message\n * @type {string}\n * @memberof Message\n */\n type: MessageTypeEnum;\n /**\n * Date/time of the last update\n * @type {string}\n * @memberof Message\n */\n updated_at: string;\n /**\n * \n * @type {UserObject}\n * @memberof Message\n */\n user?: UserObject;\n}\n\n\n/**\n * @export\n */\nexport const MessageTypeEnum = {\n REGULAR: 'regular',\n EPHEMERAL: 'ephemeral',\n ERROR: 'error',\n REPLY: 'reply',\n SYSTEM: 'system',\n DELETED: 'deleted'\n} as const;\nexport type MessageTypeEnum = typeof MessageTypeEnum[keyof typeof MessageTypeEnum];\n\n/**\n * \n * @export\n * @interface MessageActionRequest\n */\nexport interface MessageActionRequest {\n /**\n * \n * @type {string}\n * @memberof MessageActionRequest\n */\n ID?: string;\n /**\n * Data to execute command with\n * @type {{ [key: string]: string; }}\n * @memberof MessageActionRequest\n */\n form_data: { [key: string]: string; };\n /**\n * \n * @type {UserObjectRequest}\n * @memberof MessageActionRequest\n */\n user?: UserObjectRequest;\n /**\n * \n * @type {string}\n * @memberof MessageActionRequest\n */\n user_id?: string;\n}\n/**\n * \n * @export\n * @interface MessageDeletedEvent\n */\nexport interface MessageDeletedEvent {\n /**\n * \n * @type {string}\n * @memberof MessageDeletedEvent\n */\n channel_id: string;\n /**\n * \n * @type {string}\n * @memberof MessageDeletedEvent\n */\n channel_type: string;\n /**\n * \n * @type {string}\n * @memberof MessageDeletedEvent\n */\n cid: string;\n /**\n * \n * @type {string}\n * @memberof MessageDeletedEvent\n */\n created_at: string;\n /**\n * \n * @type {boolean}\n * @memberof MessageDeletedEvent\n */\n hard_delete: boolean;\n /**\n * \n * @type {Message}\n * @memberof MessageDeletedEvent\n */\n message?: Message | null;\n /**\n * \n * @type {string}\n * @memberof MessageDeletedEvent\n */\n team?: string;\n /**\n * \n * @type {Array<UserObject>}\n * @memberof MessageDeletedEvent\n */\n thread_participants?: Array<UserObject>;\n /**\n * \n * @type {string}\n * @memberof MessageDeletedEvent\n */\n type: string;\n /**\n * \n * @type {UserObject}\n * @memberof MessageDeletedEvent\n */\n user?: UserObject;\n}\n/**\n * \n * @export\n * @interface MessageFlag\n */\nexport interface MessageFlag {\n /**\n * \n * @type {string}\n * @memberof MessageFlag\n */\n approved_at?: string;\n /**\n * \n * @type {string}\n * @memberof MessageFlag\n */\n created_at: string;\n /**\n * \n * @type {boolean}\n * @memberof MessageFlag\n */\n created_by_automod: boolean;\n /**\n * \n * @type {Message}\n * @memberof MessageFlag\n */\n message?: Message | null;\n /**\n * \n * @type {FlagFeedback}\n * @memberof MessageFlag\n */\n moderation_feedback?: FlagFeedback;\n /**\n * \n * @type {MessageModerationResult}\n * @memberof MessageFlag\n */\n moderation_result?: MessageModerationResult;\n /**\n * \n * @type {string}\n * @memberof MessageFlag\n */\n rejected_at?: string;\n /**\n * \n * @type {string}\n * @memberof MessageFlag\n */\n reviewed_at?: string;\n /**\n * \n * @type {UserObject}\n * @memberof MessageFlag\n */\n reviewed_by?: UserObject;\n /**\n * \n * @type {string}\n * @memberof MessageFlag\n */\n updated_at: string;\n /**\n * \n * @type {UserObject}\n * @memberof MessageFlag\n */\n user?: UserObject;\n}\n/**\n * \n * @export\n * @interface MessageFlaggedEvent\n */\nexport interface MessageFlaggedEvent {\n /**\n * \n * @type {string}\n * @memberof MessageFlaggedEvent\n */\n cid: string;\n /**\n * \n * @type {string}\n * @memberof MessageFlaggedEvent\n */\n created_at: string;\n /**\n * \n * @type {Flag}\n * @memberof MessageFlaggedEvent\n */\n flag?: Flag;\n /**\n * \n * @type {Message}\n * @memberof MessageFlaggedEvent\n */\n message?: Message | null;\n /**\n * \n * @type {Array<UserObject>}\n * @memberof MessageFlaggedEvent\n */\n thread_participants?: Array<UserObject>;\n /**\n * \n * @type {string}\n * @memberof MessageFlaggedEvent\n */\n type: string;\n /**\n * \n * @type {UserObject}\n * @memberof MessageFlaggedEvent\n */\n user?: UserObject;\n}\n/**\n * \n * @export\n * @interface MessageModerationResult\n */\nexport interface MessageModerationResult {\n /**\n * \n * @type {string}\n * @memberof MessageModerationResult\n */\n action: string;\n /**\n * \n * @type {ModerationResponse}\n * @memberof MessageModerationResult\n */\n ai_moderation_response?: ModerationResponse;\n /**\n * \n * @type {string}\n * @memberof MessageModerationResult\n */\n blocked_word?: string;\n /**\n * \n * @type {string}\n * @memberof MessageModerationResult\n */\n blocklist_name?: string;\n /**\n * \n * @type {string}\n * @memberof MessageModerationResult\n */\n created_at: string;\n /**\n * \n * @type {string}\n * @memberof MessageModerationResult\n */\n message_id: string;\n /**\n * \n * @type {string}\n * @memberof MessageModerationResult\n */\n moderated_by?: string;\n /**\n * \n * @type {Thresholds}\n * @memberof MessageModerationResult\n */\n moderation_thresholds?: Thresholds;\n /**\n * \n * @type {string}\n * @memberof MessageModerationResult\n */\n updated_at: string;\n /**\n * \n * @type {boolean}\n * @memberof MessageModerationResult\n */\n user_bad_karma: boolean;\n /**\n * \n * @type {number}\n * @memberof MessageModerationResult\n */\n user_karma: number;\n}\n/**\n * \n * @export\n * @interface MessageNewEvent\n */\nexport interface MessageNewEvent {\n /**\n * \n * @type {string}\n * @memberof MessageNewEvent\n */\n channel_id: string;\n /**\n * \n * @type {string}\n * @memberof MessageNewEvent\n */\n channel_type: string;\n /**\n * \n * @type {string}\n * @memberof MessageNewEvent\n */\n cid: string;\n /**\n * \n * @type {string}\n * @memberof MessageNewEvent\n */\n created_at: string;\n /**\n * \n * @type {Message}\n * @memberof MessageNewEvent\n */\n message?: Message | null;\n /**\n * \n * @type {string}\n * @memberof MessageNewEvent\n */\n team?: string;\n /**\n * \n * @type {Array<UserObject>}\n * @memberof MessageNewEvent\n */\n thread_participants?: Array<UserObject>;\n /**\n * \n * @type {string}\n * @memberof MessageNewEvent\n */\n type: string;\n /**\n * \n * @type {UserObject}\n * @memberof MessageNewEvent\n */\n user?: UserObject;\n /**\n * \n * @type {number}\n * @memberof MessageNewEvent\n */\n watcher_count: number;\n}\n/**\n * \n * @export\n * @interface MessagePaginationParamsRequest\n */\nexport interface MessagePaginationParamsRequest {\n /**\n * \n * @type {string}\n * @memberof MessagePaginationParamsRequest\n */\n created_at_after?: string;\n /**\n * \n * @type {string}\n * @memberof MessagePaginationParamsRequest\n */\n created_at_after_or_equal?: string;\n /**\n * \n * @type {string}\n * @memberof MessagePaginationParamsRequest\n */\n created_at_around?: string;\n /**\n * \n * @type {string}\n * @memberof MessagePaginationParamsRequest\n */\n created_at_before?: string;\n /**\n * \n * @type {string}\n * @memberof MessagePaginationParamsRequest\n */\n created_at_before_or_equal?: string;\n /**\n * \n * @type {string}\n * @memberof MessagePaginationParamsRequest\n */\n id_around?: string;\n /**\n * \n * @type {string}\n * @memberof MessagePaginationParamsRequest\n */\n id_gt?: string;\n /**\n * \n * @type {string}\n * @memberof MessagePaginationParamsRequest\n */\n id_gte?: string;\n /**\n * \n * @type {string}\n * @memberof MessagePaginationParamsRequest\n */\n id_lt?: string;\n /**\n * \n * @type {string}\n * @memberof MessagePaginationParamsRequest\n */\n id_lte?: string;\n /**\n * \n * @type {number}\n * @memberof MessagePaginationParamsRequest\n */\n limit?: number;\n /**\n * \n * @type {number}\n * @memberof MessagePaginationParamsRequest\n */\n offset?: number;\n}\n/**\n * \n * @export\n * @interface MessageReadEvent\n */\nexport interface MessageReadEvent {\n /**\n * \n * @type {string}\n * @memberof MessageReadEvent\n */\n channel_id: string;\n /**\n * \n * @type {string}\n * @memberof MessageReadEvent\n */\n channel_type: string;\n /**\n * \n * @type {string}\n * @memberof MessageReadEvent\n */\n cid: string;\n /**\n * \n * @type {string}\n * @memberof MessageReadEvent\n */\n created_at: string;\n /**\n * \n * @type {string}\n * @memberof MessageReadEvent\n */\n last_read_message_id?: string;\n /**\n * \n * @type {string}\n * @memberof MessageReadEvent\n */\n team?: string;\n /**\n * \n * @type {string}\n * @memberof MessageReadEvent\n */\n type: string;\n /**\n * \n * @type {UserObject}\n * @memberof MessageReadEvent\n */\n user?: UserObject;\n}\n/**\n * Represents any chat message\n * @export\n * @interface MessageRequest\n */\nexport interface MessageRequest {\n [key: string]: any | any;\n /**\n * Array of message attachments\n * @type {Array<AttachmentRequest>}\n * @memberof MessageRequest\n */\n attachments: Array<AttachmentRequest>;\n /**\n * Channel unique identifier in <type>:<id> format\n * @type {Array<number>}\n * @memberof MessageRequest\n */\n cid?: Array<number>;\n /**\n * Contains HTML markup of the message. Can only be set when using server-side API\n * @type {string}\n * @memberof MessageRequest\n */\n html?: string;\n /**\n * Message ID is unique string identifier of the message\n * @type {string}\n * @memberof MessageRequest\n */\n id?: string;\n /**\n * List of mentioned users\n * @type {Array<string>}\n * @memberof MessageRequest\n */\n mentioned_users?: Array<string>;\n /**\n * Should be empty if `text` is provided. Can only be set when using server-side API\n * @type {string}\n * @memberof MessageRequest\n */\n mml?: string;\n /**\n * \n * @type {Array<number>}\n * @memberof MessageRequest\n */\n parent?: Array<number>;\n /**\n * ID of parent message (thread)\n * @type {string}\n * @memberof MessageRequest\n */\n parent_id?: string;\n /**\n * Date when pinned message expires\n * @type {string}\n * @memberof MessageRequest\n */\n pin_expires?: string;\n /**\n * Whether message is pinned or not\n * @type {boolean}\n * @memberof MessageRequest\n */\n pinned?: boolean;\n /**\n * Date when message got pinned\n * @type {string}\n * @memberof MessageRequest\n */\n pinned_at?: string | null;\n /**\n * Contains user who pinned the message\n * @type {Array<number>}\n * @memberof MessageRequest\n */\n pinned_by?: Array<number>;\n /**\n * \n * @type {string}\n * @memberof MessageRequest\n */\n quoted_message_id?: string;\n /**\n * An object containing scores of reactions of each type. Key: reaction type (string), value: total score of reactions (int)\n * @type {Array<number>}\n * @memberof MessageRequest\n */\n reaction_scores?: Array<number>;\n /**\n * Whether thread reply should be shown in the channel as well\n * @type {boolean}\n * @memberof MessageRequest\n */\n show_in_channel?: boolean;\n /**\n * Whether message is silent or not\n * @type {boolean}\n * @memberof MessageRequest\n */\n silent?: boolean;\n /**\n * Text of the message. Should be empty if `mml` is provided\n * @type {string}\n * @memberof MessageRequest\n */\n text?: string;\n /**\n * Contains type of the message\n * @type {string}\n * @memberof MessageRequest\n */\n type?: MessageRequestTypeEnum;\n /**\n * \n * @type {UserObjectRequest}\n * @memberof MessageRequest\n */\n user?: UserObjectRequest;\n /**\n * \n * @type {string}\n * @memberof MessageRequest\n */\n user_id?: string;\n}\n\n\n/**\n * @export\n */\nexport const MessageRequestTypeEnum = {\n REGULAR: 'regular',\n EPHEMERAL: 'ephemeral',\n ERROR: 'error',\n REPLY: 'reply',\n SYSTEM: 'system',\n DELETED: 'deleted'\n} as const;\nexport type MessageRequestTypeEnum = typeof MessageRequestTypeEnum[keyof typeof MessageRequestTypeEnum];\n\n/**\n * Represents any chat message\n * @export\n * @interface MessageRequest1\n */\nexport interface MessageRequest1 {\n [key: string]: any | any;\n /**\n * Array of message attachments\n * @type {Array<AttachmentRequest>}\n * @memberof MessageRequest1\n */\n attachments?: Array<AttachmentRequest>;\n /**\n * Whether `before_message_send webhook` failed or not. Field is only accessible in push webhook\n * @type {boolean}\n * @memberof MessageRequest1\n */\n before_message_send_failed?: boolean;\n /**\n * Channel unique identifier in <type>:<id> format\n * @type {string}\n * @memberof MessageRequest1\n */\n cid?: string;\n /**\n * Contains provided slash command\n * @type {string}\n * @memberof MessageRequest1\n */\n command?: string;\n /**\n * Date/time of creation\n * @type {string}\n * @memberof MessageRequest1\n */\n created_at?: string;\n /**\n * Date/time of deletion\n * @type {string}\n * @memberof MessageRequest1\n */\n deleted_at?: string;\n /**\n * \n * @type {number}\n * @memberof MessageRequest1\n */\n deleted_reply_count?: number;\n /**\n * Contains HTML markup of the message. Can only be set when using server-side API\n * @type {string}\n * @memberof MessageRequest1\n */\n html?: string;\n /**\n * Object with translations. Key `language` contains the original language key. Other keys contain translations\n * @type {{ [key: string]: string; }}\n * @memberof MessageRequest1\n */\n i18n?: { [key: string]: string; };\n /**\n * Message ID is unique string identifier of the message\n * @type {string}\n * @memberof MessageRequest1\n */\n id?: string;\n /**\n * Contains image moderation information\n * @type {{ [key: string]: Array<string>; }}\n * @memberof MessageRequest1\n */\n image_labels?: { [key: string]: Array<string>; };\n /**\n * List of 10 latest reactions to this message\n * @type {Array<ReactionRequest>}\n * @memberof MessageRequest1\n */\n latest_reactions?: Array<ReactionRequest>;\n /**\n * List of mentioned users\n * @type {Array<UserObjectRequest>}\n * @memberof MessageRequest1\n */\n mentioned_users?: Array<UserObjectRequest>;\n /**\n * Should be empty if `text` is provided. Can only be set when using server-side API\n * @type {string}\n * @memberof MessageRequest1\n */\n mml: string;\n /**\n * List of 10 latest reactions of authenticated user to this message\n * @type {Array<ReactionRequest>}\n * @memberof MessageRequest1\n */\n own_reactions?: Array<ReactionRequest>;\n /**\n * ID of parent message (thread)\n * @type {string}\n * @memberof MessageRequest1\n */\n parent_id?: string;\n /**\n * Date when pinned message expires\n * @type {string}\n * @memberof MessageRequest1\n */\n pin_expires?: string;\n /**\n * Whether message is pinned or not\n * @type {boolean}\n * @memberof MessageRequest1\n */\n pinned?: boolean;\n /**\n * Date when message got pinned\n * @type {string}\n * @memberof MessageRequest1\n */\n pinned_at?: string;\n /**\n * \n * @type {UserObjectRequest}\n * @memberof MessageRequest1\n */\n pinned_by?: UserObjectRequest;\n /**\n * \n * @type {MessageRequest1}\n * @memberof MessageRequest1\n */\n quoted_message?: MessageRequest1;\n /**\n * \n * @type {string}\n * @memberof MessageRequest1\n */\n quoted_message_id?: string;\n /**\n * An object containing number of reactions of each type. Key: reaction type (string), value: number of reactions (int)\n * @type {{ [key: string]: number; }}\n * @memberof MessageRequest1\n */\n reaction_counts?: { [key: string]: number; };\n /**\n * An object containing scores of reactions of each type. Key: reaction type (string), value: total score of reactions (int)\n * @type {{ [key: string]: number; }}\n * @memberof MessageRequest1\n */\n reaction_scores?: { [key: string]: number; };\n /**\n * Number of replies to this message\n * @type {number}\n * @memberof MessageRequest1\n */\n reply_count?: number;\n /**\n * Whether the message was shadowed or not\n * @type {boolean}\n * @memberof MessageRequest1\n */\n shadowed?: boolean;\n /**\n * Whether thread reply should be shown in the channel as well\n * @type {boolean}\n * @memberof MessageRequest1\n */\n show_in_channel?: boolean;\n /**\n * Whether message is silent or not\n * @type {boolean}\n * @memberof MessageRequest1\n */\n silent?: boolean;\n /**\n * Text of the message. Should be empty if `mml` is provided\n * @type {string}\n * @memberof MessageRequest1\n */\n text: string;\n /**\n * List of users who participate in thread\n * @type {Array<UserObjectRequest>}\n * @memberof MessageRequest1\n */\n thread_participants?: Array<UserObjectRequest>;\n /**\n * Contains type of the message\n * @type {string}\n * @memberof MessageRequest1\n */\n type?: MessageRequest1TypeEnum;\n /**\n * Date/time of the last update\n * @type {string}\n * @memberof MessageRequest1\n */\n updated_at?: string;\n /**\n * \n * @type {UserObjectRequest}\n * @memberof MessageRequest1\n */\n user?: UserObjectRequest;\n}\n\n\n/**\n * @export\n */\nexport const MessageRequest1TypeEnum = {\n REGULAR: 'regular',\n EPHEMERAL: 'ephemeral',\n ERROR: 'error',\n REPLY: 'reply',\n SYSTEM: 'system',\n DELETED: 'deleted'\n} as const;\nexport type MessageRequest1TypeEnum = typeof MessageRequest1TypeEnum[keyof typeof MessageRequest1TypeEnum];\n\n/**\n * \n * @export\n * @interface MessageResponse\n */\nexport interface MessageResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof MessageResponse\n */\n duration: string;\n /**\n * \n * @type {Message}\n * @memberof MessageResponse\n */\n message?: Message | null;\n}\n/**\n * \n * @export\n * @interface MessageUnblockedEvent\n */\nexport interface MessageUnblockedEvent {\n /**\n * \n * @type {string}\n * @memberof MessageUnblockedEvent\n */\n cid: string;\n /**\n * \n * @type {string}\n * @memberof MessageUnblockedEvent\n */\n created_at: string;\n /**\n * \n * @type {Message}\n * @memberof MessageUnblockedEvent\n */\n message?: Message | null;\n /**\n * \n * @type {Array<UserObject>}\n * @memberof MessageUnblockedEvent\n */\n thread_participants?: Array<UserObject>;\n /**\n * \n * @type {string}\n * @memberof MessageUnblockedEvent\n */\n type: string;\n /**\n * \n * @type {UserObject}\n * @memberof MessageUnblockedEvent\n */\n user?: UserObject;\n}\n/**\n * \n * @export\n * @interface MessageUpdatedEvent\n */\nexport interface MessageUpdatedEvent {\n /**\n * \n * @type {string}\n * @memberof MessageUpdatedEvent\n */\n channel_id: string;\n /**\n * \n * @type {string}\n * @memberof MessageUpdatedEvent\n */\n channel_type: string;\n /**\n * \n * @type {string}\n * @memberof MessageUpdatedEvent\n */\n cid: string;\n /**\n * \n * @type {string}\n * @memberof MessageUpdatedEvent\n */\n created_at: string;\n /**\n * \n * @type {Message}\n * @memberof MessageUpdatedEvent\n */\n message?: Message | null;\n /**\n * \n * @type {string}\n * @memberof MessageUpdatedEvent\n */\n team?: string;\n /**\n * \n * @type {Array<UserObject>}\n * @memberof MessageUpdatedEvent\n */\n thread_participants?: Array<UserObject>;\n /**\n * \n * @type {string}\n * @memberof MessageUpdatedEvent\n */\n type: string;\n /**\n * \n * @type {UserObject}\n * @memberof MessageUpdatedEvent\n */\n user?: UserObject;\n}\n/**\n * \n * @export\n * @interface MessageWithPendingMetadataResponse\n */\nexport interface MessageWithPendingMetadataResponse {\n /**\n * \n * @type {string}\n * @memberof MessageWithPendingMetadataResponse\n */\n duration: string;\n /**\n * \n * @type {Message}\n * @memberof MessageWithPendingMetadataResponse\n */\n message?: Message | null;\n /**\n * Metadata attached to a message while it is pending\n * @type {{ [key: string]: string; }}\n * @memberof MessageWithPendingMetadataResponse\n */\n pending_message_metadata?: { [key: string]: string; };\n}\n/**\n * \n * @export\n * @interface ModerationResponse\n */\nexport interface ModerationResponse {\n /**\n * \n * @type {string}\n * @memberof ModerationResponse\n */\n action: string;\n /**\n * \n * @type {any}\n * @memberof ModerationResponse\n */\n automod_response: any | null;\n /**\n * \n * @type {number}\n * @memberof ModerationResponse\n */\n explicit: number;\n /**\n * \n * @type {number}\n * @memberof ModerationResponse\n */\n spam: number;\n /**\n * \n * @type {number}\n * @memberof ModerationResponse\n */\n toxic: number;\n}\n/**\n * \n * @export\n * @interface ModerationResponseRequest\n */\nexport interface ModerationResponseRequest {\n /**\n * \n * @type {string}\n * @memberof ModerationResponseRequest\n */\n action?: string;\n /**\n * \n * @type {any}\n * @memberof ModerationResponseRequest\n */\n automod_response?: any | null;\n /**\n * \n * @type {number}\n * @memberof ModerationResponseRequest\n */\n explicit?: number;\n /**\n * \n * @type {number}\n * @memberof ModerationResponseRequest\n */\n spam?: number;\n /**\n * \n * @type {number}\n * @memberof ModerationResponseRequest\n */\n toxic?: number;\n}\n/**\n * \n * @export\n * @interface MuteChannelRequest\n */\nexport interface MuteChannelRequest {\n /**\n * Channel CIDs to mute (if multiple channels)\n * @type {Array<string>}\n * @memberof MuteChannelRequest\n */\n channel_cids: Array<string>;\n /**\n * Duration of mute in milliseconds\n * @type {number}\n * @memberof MuteChannelRequest\n */\n expiration?: number;\n /**\n * \n * @type {UserObjectRequest}\n * @memberof MuteChannelRequest\n */\n user?: UserObjectRequest;\n /**\n * \n * @type {string}\n * @memberof MuteChannelRequest\n */\n user_id?: string;\n}\n/**\n * \n * @export\n * @interface MuteChannelResponse\n */\nexport interface MuteChannelResponse {\n /**\n * \n * @type {ChannelMute}\n * @memberof MuteChannelResponse\n */\n channel_mute?: ChannelMute | null;\n /**\n * Object with mutes (if multiple channels were muted)\n * @type {Array<ChannelMute>}\n * @memberof MuteChannelResponse\n */\n channel_mutes?: Array<ChannelMute>;\n /**\n * \n * @type {string}\n * @memberof MuteChannelResponse\n */\n duration: string;\n /**\n * \n * @type {OwnUser}\n * @memberof MuteChannelResponse\n */\n own_user?: OwnUser;\n}\n/**\n * \n * @export\n * @interface MuteUserRequest\n */\nexport interface MuteUserRequest {\n /**\n * User IDs to mute (if multiple users)\n * @type {Array<string>}\n * @memberof MuteUserRequest\n */\n target_ids: Array<string>;\n /**\n * Duration of mute in minutes\n * @type {number}\n * @memberof MuteUserRequest\n */\n timeout?: number;\n /**\n * \n * @type {UserObjectRequest}\n * @memberof MuteUserRequest\n */\n user?: UserObjectRequest;\n /**\n * \n * @type {string}\n * @memberof MuteUserRequest\n */\n user_id?: string;\n}\n/**\n * \n * @export\n * @interface MuteUserResponse\n */\nexport interface MuteUserResponse {\n /**\n * \n * @type {string}\n * @memberof MuteUserResponse\n */\n duration: string;\n /**\n * \n * @type {UserMute}\n * @memberof MuteUserResponse\n */\n mute?: UserMute | null;\n /**\n * Object with mutes (if multiple users were muted)\n * @type {Array<UserMute>}\n * @memberof MuteUserResponse\n */\n mutes?: Array<UserMute>;\n /**\n * \n * @type {OwnUser}\n * @memberof MuteUserResponse\n */\n own_user?: OwnUser;\n}\n/**\n * \n * @export\n * @interface NotificationAddedToChannelEvent\n */\nexport interface NotificationAddedToChannelEvent {\n /**\n * \n * @type {ChannelResponse}\n * @memberof NotificationAddedToChannelEvent\n */\n channel?: ChannelResponse;\n /**\n * \n * @type {string}\n * @memberof NotificationAddedToChannelEvent\n */\n channel_id: string;\n /**\n * \n * @type {string}\n * @memberof NotificationAddedToChannelEvent\n */\n channel_type: string;\n /**\n * \n * @type {string}\n * @memberof NotificationAddedToChannelEvent\n */\n cid: string;\n /**\n * \n * @type {string}\n * @memberof NotificationAddedToChannelEvent\n */\n created_at: string;\n /**\n * \n * @type {ChannelMember}\n * @memberof NotificationAddedToChannelEvent\n */\n member?: ChannelMember | null;\n /**\n * \n * @type {string}\n * @memberof NotificationAddedToChannelEvent\n */\n type: string;\n}\n/**\n * \n * @export\n * @interface NotificationChannelDeletedEvent\n */\nexport interface NotificationChannelDeletedEvent {\n /**\n * \n * @type {ChannelResponse}\n * @memberof NotificationChannelDeletedEvent\n */\n channel?: ChannelResponse;\n /**\n * \n * @type {string}\n * @memberof NotificationChannelDeletedEvent\n */\n channel_id: string;\n /**\n * \n * @type {string}\n * @memberof NotificationChannelDeletedEvent\n */\n channel_type: string;\n /**\n * \n * @type {string}\n * @memberof NotificationChannelDeletedEvent\n */\n cid: string;\n /**\n * \n * @type {string}\n * @memberof NotificationChannelDeletedEvent\n */\n created_at: string;\n /**\n * \n * @type {string}\n * @memberof NotificationChannelDeletedEvent\n */\n team?: string;\n /**\n * \n * @type {string}\n * @memberof NotificationChannelDeletedEvent\n */\n type: string;\n}\n/**\n * \n * @export\n * @interface NotificationChannelMutesUpdatedEvent\n */\nexport interface NotificationChannelMutesUpdatedEvent {\n /**\n * \n * @type {string}\n * @memberof NotificationChannelMutesUpdatedEvent\n */\n created_at: string;\n /**\n * \n * @type {OwnUser}\n * @memberof NotificationChannelMutesUpdatedEvent\n */\n me: OwnUser;\n /**\n * \n * @type {string}\n * @memberof NotificationChannelMutesUpdatedEvent\n */\n type: string;\n}\n/**\n * \n * @export\n * @interface NotificationChannelTruncatedEvent\n */\nexport interface NotificationChannelTruncatedEvent {\n /**\n * \n * @type {ChannelResponse}\n * @memberof NotificationChannelTruncatedEvent\n */\n channel?: ChannelResponse;\n /**\n * \n * @type {string}\n * @memberof NotificationChannelTruncatedEvent\n */\n channel_id: string;\n /**\n * \n * @type {string}\n * @memberof NotificationChannelTruncatedEvent\n */\n channel_type: string;\n /**\n * \n * @type {string}\n * @memberof NotificationChannelTruncatedEvent\n */\n cid: string;\n /**\n * \n * @type {string}\n * @memberof NotificationChannelTruncatedEvent\n */\n created_at: string;\n /**\n * \n * @type {string}\n * @memberof NotificationChannelTruncatedEvent\n */\n type: string;\n}\n/**\n * \n * @export\n * @interface NotificationInviteAcceptedEvent\n */\nexport interface NotificationInviteAcceptedEvent {\n /**\n * \n * @type {ChannelResponse}\n * @memberof NotificationInviteAcceptedEvent\n */\n channel?: ChannelResponse;\n /**\n * \n * @type {string}\n * @memberof NotificationInviteAcceptedEvent\n */\n channel_id: string;\n /**\n * \n * @type {string}\n * @memberof NotificationInviteAcceptedEvent\n */\n channel_type: string;\n /**\n * \n * @type {string}\n * @memberof NotificationInviteAcceptedEvent\n */\n cid: string;\n /**\n * \n * @type {string}\n * @memberof NotificationInviteAcceptedEvent\n */\n created_at: string;\n /**\n * \n * @type {ChannelMember}\n * @memberof NotificationInviteAcceptedEvent\n */\n member?: ChannelMember | null;\n /**\n * \n * @type {string}\n * @memberof NotificationInviteAcceptedEvent\n */\n type: string;\n /**\n * \n * @type {UserObject}\n * @memberof NotificationInviteAcceptedEvent\n */\n user?: UserObject;\n}\n/**\n * \n * @export\n * @interface NotificationInviteRejectedEvent\n */\nexport interface NotificationInviteRejectedEvent {\n /**\n * \n * @type {ChannelResponse}\n * @memberof NotificationInviteRejectedEvent\n */\n channel?: ChannelResponse;\n /**\n * \n * @type {string}\n * @memberof NotificationInviteRejectedEvent\n */\n channel_id: string;\n /**\n * \n * @type {string}\n * @memberof NotificationInviteRejectedEvent\n */\n channel_type: string;\n /**\n * \n * @type {string}\n * @memberof NotificationInviteRejectedEvent\n */\n cid: string;\n /**\n * \n * @type {string}\n * @memberof NotificationInviteRejectedEvent\n */\n created_at: string;\n /**\n * \n * @type {ChannelMember}\n * @memberof NotificationInviteRejectedEvent\n */\n member?: ChannelMember | null;\n /**\n * \n * @type {string}\n * @memberof NotificationInviteRejectedEvent\n */\n type: string;\n /**\n * \n * @type {UserObject}\n * @memberof NotificationInviteRejectedEvent\n */\n user?: UserObject;\n}\n/**\n * \n * @export\n * @interface NotificationInvitedEvent\n */\nexport interface NotificationInvitedEvent {\n /**\n * \n * @type {ChannelResponse}\n * @memberof NotificationInvitedEvent\n */\n channel?: ChannelResponse;\n /**\n * \n * @type {string}\n * @memberof NotificationInvitedEvent\n */\n channel_id: string;\n /**\n * \n * @type {string}\n * @memberof NotificationInvitedEvent\n */\n channel_type: string;\n /**\n * \n * @type {string}\n * @memberof NotificationInvitedEvent\n */\n cid: string;\n /**\n * \n * @type {string}\n * @memberof NotificationInvitedEvent\n */\n created_at: string;\n /**\n * \n * @type {ChannelMember}\n * @memberof NotificationInvitedEvent\n */\n member?: ChannelMember | null;\n /**\n * \n * @type {string}\n * @memberof NotificationInvitedEvent\n */\n type: string;\n /**\n * \n * @type {UserObject}\n * @memberof NotificationInvitedEvent\n */\n user?: UserObject;\n}\n/**\n * \n * @export\n * @interface NotificationMarkReadEvent\n */\nexport interface NotificationMarkReadEvent {\n /**\n * \n * @type {ChannelResponse}\n * @memberof NotificationMarkReadEvent\n */\n channel?: ChannelResponse;\n /**\n * \n * @type {string}\n * @memberof NotificationMarkReadEvent\n */\n channel_id: string;\n /**\n * \n * @type {string}\n * @memberof NotificationMarkReadEvent\n */\n channel_type: string;\n /**\n * \n * @type {string}\n * @memberof NotificationMarkReadEvent\n */\n cid: string;\n /**\n * \n * @type {string}\n * @memberof NotificationMarkReadEvent\n */\n created_at: string;\n /**\n * \n * @type {string}\n * @memberof NotificationMarkReadEvent\n */\n team?: string;\n /**\n * \n * @type {number}\n * @memberof NotificationMarkReadEvent\n */\n total_unread_count: number;\n /**\n * \n * @type {string}\n * @memberof NotificationMarkReadEvent\n */\n type: string;\n /**\n * \n * @type {number}\n * @memberof NotificationMarkReadEvent\n */\n unread_channels: number;\n /**\n * \n * @type {number}\n * @memberof NotificationMarkReadEvent\n */\n unread_count: number;\n /**\n * \n * @type {UserObject}\n * @memberof NotificationMarkReadEvent\n */\n user?: UserObject;\n}\n/**\n * \n * @export\n * @interface NotificationMarkUnreadEvent\n */\nexport interface NotificationMarkUnreadEvent {\n /**\n * \n * @type {ChannelResponse}\n * @memberof NotificationMarkUnreadEvent\n */\n channel?: ChannelResponse;\n /**\n * \n * @type {string}\n * @memberof NotificationMarkUnreadEvent\n */\n channel_id: string;\n /**\n * \n * @type {string}\n * @memberof NotificationMarkUnreadEvent\n */\n channel_type: string;\n /**\n * \n * @type {string}\n * @memberof NotificationMarkUnreadEvent\n */\n cid: string;\n /**\n * \n * @type {string}\n * @memberof NotificationMarkUnreadEvent\n */\n created_at: string;\n /**\n * \n * @type {string}\n * @memberof NotificationMarkUnreadEvent\n */\n first_unread_message_id: string;\n /**\n * \n * @type {string}\n * @memberof NotificationMarkUnreadEvent\n */\n last_read_at: string;\n /**\n * \n * @type {string}\n * @memberof NotificationMarkUnreadEvent\n */\n last_read_message_id?: string;\n /**\n * \n * @type {string}\n * @memberof NotificationMarkUnreadEvent\n */\n team?: string;\n /**\n * \n * @type {number}\n * @memberof NotificationMarkUnreadEvent\n */\n total_unread_count: number;\n /**\n * \n * @type {string}\n * @memberof NotificationMarkUnreadEvent\n */\n type: string;\n /**\n * \n * @type {number}\n * @memberof NotificationMarkUnreadEvent\n */\n unread_channels: number;\n /**\n * \n * @type {number}\n * @memberof NotificationMarkUnreadEvent\n */\n unread_count: number;\n /**\n * \n * @type {number}\n * @memberof NotificationMarkUnreadEvent\n */\n unread_messages: number;\n /**\n * \n * @type {UserObject}\n * @memberof NotificationMarkUnreadEvent\n */\n user?: UserObject;\n}\n/**\n * \n * @export\n * @interface NotificationMutesUpdatedEvent\n */\nexport interface NotificationMutesUpdatedEvent {\n /**\n * \n * @type {string}\n * @memberof NotificationMutesUpdatedEvent\n */\n created_at: string;\n /**\n * \n * @type {OwnUser}\n * @memberof NotificationMutesUpdatedEvent\n */\n me: OwnUser;\n /**\n * \n * @type {string}\n * @memberof NotificationMutesUpdatedEvent\n */\n type: string;\n}\n/**\n * \n * @export\n * @interface NotificationNewMessageEvent\n */\nexport interface NotificationNewMessageEvent {\n /**\n * \n * @type {ChannelResponse}\n * @memberof NotificationNewMessageEvent\n */\n channel?: ChannelResponse;\n /**\n * \n * @type {string}\n * @memberof NotificationNewMessageEvent\n */\n channel_id: string;\n /**\n * \n * @type {string}\n * @memberof NotificationNewMessageEvent\n */\n channel_type: string;\n /**\n * \n * @type {string}\n * @memberof NotificationNewMessageEvent\n */\n cid: string;\n /**\n * \n * @type {string}\n * @memberof NotificationNewMessageEvent\n */\n created_at: string;\n /**\n * \n * @type {Message}\n * @memberof NotificationNewMessageEvent\n */\n message: Message | null;\n /**\n * \n * @type {string}\n * @memberof NotificationNewMessageEvent\n */\n team?: string;\n /**\n * \n * @type {string}\n * @memberof NotificationNewMessageEvent\n */\n type: string;\n}\n/**\n * \n * @export\n * @interface NotificationRemovedFromChannelEvent\n */\nexport interface NotificationRemovedFromChannelEvent {\n /**\n * \n * @type {ChannelResponse}\n * @memberof NotificationRemovedFromChannelEvent\n */\n channel?: ChannelResponse;\n /**\n * \n * @type {string}\n * @memberof NotificationRemovedFromChannelEvent\n */\n channel_id: string;\n /**\n * \n * @type {string}\n * @memberof NotificationRemovedFromChannelEvent\n */\n channel_type: string;\n /**\n * \n * @type {string}\n * @memberof NotificationRemovedFromChannelEvent\n */\n cid: string;\n /**\n * \n * @type {string}\n * @memberof NotificationRemovedFromChannelEvent\n */\n created_at: string;\n /**\n * \n * @type {ChannelMember}\n * @memberof NotificationRemovedFromChannelEvent\n */\n member?: ChannelMember | null;\n /**\n * \n * @type {string}\n * @memberof NotificationRemovedFromChannelEvent\n */\n type: string;\n /**\n * \n * @type {UserObject}\n * @memberof NotificationRemovedFromChannelEvent\n */\n user?: UserObject;\n}\n/**\n * \n * @export\n * @interface NotificationSettings\n */\nexport interface NotificationSettings {\n /**\n * \n * @type {EventNotificationSettings}\n * @memberof NotificationSettings\n */\n call_live_started: EventNotificationSettings;\n /**\n * \n * @type {EventNotificationSettings}\n * @memberof NotificationSettings\n */\n call_notification: EventNotificationSettings;\n /**\n * \n * @type {EventNotificationSettings}\n * @memberof NotificationSettings\n */\n call_ring: EventNotificationSettings;\n /**\n * \n * @type {boolean}\n * @memberof NotificationSettings\n */\n enabled: boolean;\n /**\n * \n * @type {EventNotificationSettings}\n * @memberof NotificationSettings\n */\n session_started: EventNotificationSettings;\n}\n/**\n * \n * @export\n * @interface OwnUser\n */\nexport interface OwnUser {\n [key: string]: any | any;\n /**\n * \n * @type {boolean}\n * @memberof OwnUser\n */\n banned: boolean;\n /**\n * \n * @type {Array<ChannelMute>}\n * @memberof OwnUser\n */\n channel_mutes: Array<ChannelMute>;\n /**\n * \n * @type {string}\n * @memberof OwnUser\n */\n created_at: string;\n /**\n * \n * @type {string}\n * @memberof OwnUser\n */\n deactivated_at?: string;\n /**\n * \n * @type {string}\n * @memberof OwnUser\n */\n deleted_at?: string;\n /**\n * \n * @type {Array<Device>}\n * @memberof OwnUser\n */\n devices: Array<Device>;\n /**\n * \n * @type {string}\n * @memberof OwnUser\n */\n id: string;\n /**\n * \n * @type {boolean}\n * @memberof OwnUser\n */\n invisible?: boolean;\n /**\n * \n * @type {string}\n * @memberof OwnUser\n */\n language: string;\n /**\n * \n * @type {string}\n * @memberof OwnUser\n */\n last_active?: string;\n /**\n * \n * @type {Array<string>}\n * @memberof OwnUser\n */\n latest_hidden_channels?: Array<string>;\n /**\n * \n * @type {Array<UserMute>}\n * @memberof OwnUser\n */\n mutes: Array<UserMute>;\n /**\n * \n * @type {boolean}\n * @memberof OwnUser\n */\n online: boolean;\n /**\n * \n * @type {PushNotificationSettings}\n * @memberof OwnUser\n */\n push_notifications?: PushNotificationSettings;\n /**\n * \n * @type {string}\n * @memberof OwnUser\n */\n role: string;\n /**\n * \n * @type {Array<string>}\n * @memberof OwnUser\n */\n teams?: Array<string>;\n /**\n * \n * @type {number}\n * @memberof OwnUser\n */\n total_unread_count: number;\n /**\n * \n * @type {number}\n * @memberof OwnUser\n */\n unread_channels: number;\n /**\n * \n * @type {number}\n * @memberof OwnUser\n */\n unread_count: number;\n /**\n * \n * @type {string}\n * @memberof OwnUser\n */\n updated_at: string;\n}\n/**\n * \n * @export\n * @interface OwnUserRequest\n */\nexport interface OwnUserRequest {\n [key: string]: any | any;\n /**\n * \n * @type {boolean}\n * @memberof OwnUserRequest\n */\n banned?: boolean;\n /**\n * \n * @type {Array<ChannelMuteRequest>}\n * @memberof OwnUserRequest\n */\n channel_mutes?: Array<ChannelMuteRequest>;\n /**\n * \n * @type {string}\n * @memberof OwnUserRequest\n */\n created_at?: string;\n /**\n * \n * @type {string}\n * @memberof OwnUserRequest\n */\n deactivated_at?: string;\n /**\n * \n * @type {string}\n * @memberof OwnUserRequest\n */\n deleted_at?: string;\n /**\n * \n * @type {Array<DeviceRequest>}\n * @memberof OwnUserRequest\n */\n devices?: Array<DeviceRequest>;\n /**\n * \n * @type {string}\n * @memberof OwnUserRequest\n */\n id?: string;\n /**\n * \n * @type {boolean}\n * @memberof OwnUserRequest\n */\n invisible?: boolean;\n /**\n * \n * @type {string}\n * @memberof OwnUserRequest\n */\n language?: string;\n /**\n * \n * @type {string}\n * @memberof OwnUserRequest\n */\n last_active?: string;\n /**\n * \n * @type {Array<string>}\n * @memberof OwnUserRequest\n */\n latest_hidden_channels?: Array<string>;\n /**\n * \n * @type {Array<UserMuteRequest>}\n * @memberof OwnUserRequest\n */\n mutes?: Array<UserMuteRequest>;\n /**\n * \n * @type {boolean}\n * @memberof OwnUserRequest\n */\n online?: boolean;\n /**\n * \n * @type {PushNotificationSettingsRequest}\n * @memberof OwnUserRequest\n */\n push_notifications?: PushNotificationSettingsRequest;\n /**\n * \n * @type {string}\n * @memberof OwnUserRequest\n */\n role?: string;\n /**\n * \n * @type {Array<string>}\n * @memberof OwnUserRequest\n */\n teams?: Array<string>;\n /**\n * \n * @type {number}\n * @memberof OwnUserRequest\n */\n total_unread_count?: number;\n /**\n * \n * @type {number}\n * @memberof OwnUserRequest\n */\n unread_channels?: number;\n /**\n * \n * @type {number}\n * @memberof OwnUserRequest\n */\n unread_count?: number;\n /**\n * \n * @type {string}\n * @memberof OwnUserRequest\n */\n updated_at?: string;\n}\n/**\n * \n * @export\n * @interface PaginationParamsRequest\n */\nexport interface PaginationParamsRequest {\n /**\n * \n * @type {number}\n * @memberof PaginationParamsRequest\n */\n id_gt?: number;\n /**\n * \n * @type {number}\n * @memberof PaginationParamsRequest\n */\n id_gte?: number;\n /**\n * \n * @type {number}\n * @memberof PaginationParamsRequest\n */\n id_lt?: number;\n /**\n * \n * @type {number}\n * @memberof PaginationParamsRequest\n */\n id_lte?: number;\n /**\n * \n * @type {number}\n * @memberof PaginationParamsRequest\n */\n limit?: number;\n /**\n * \n * @type {number}\n * @memberof PaginationParamsRequest\n */\n offset?: number;\n}\n/**\n * \n * @export\n * @interface PendingMessage\n */\nexport interface PendingMessage {\n /**\n * \n * @type {Channel}\n * @memberof PendingMessage\n */\n channel?: Channel;\n /**\n * \n * @type {Message}\n * @memberof PendingMessage\n */\n message?: Message | null;\n /**\n * Additional data attached to the pending message. This data is discarded once the pending message is committed.\n * @type {{ [key: string]: string; }}\n * @memberof PendingMessage\n */\n metadata?: { [key: string]: string; };\n /**\n * \n * @type {UserObject}\n * @memberof PendingMessage\n */\n user?: UserObject;\n}\n/**\n * \n * @export\n * @interface Permission\n */\nexport interface Permission {\n /**\n * Action name this permission is for (e.g. SendMessage)\n * @type {string}\n * @memberof Permission\n */\n action: string;\n /**\n * MongoDB style condition which decides whether or not the permission is granted\n * @type {{ [key: string]: any; }}\n * @memberof Permission\n */\n condition?: { [key: string]: any; };\n /**\n * Whether this is a custom permission or built-in\n * @type {boolean}\n * @memberof Permission\n */\n custom: boolean;\n /**\n * Description of the permission\n * @type {string}\n * @memberof Permission\n */\n description: string;\n /**\n * Unique permission ID\n * @type {string}\n * @memberof Permission\n */\n id: string;\n /**\n * Level at which permission could be applied (app or channel)\n * @type {string}\n * @memberof Permission\n */\n level: PermissionLevelEnum;\n /**\n * Name of the permission\n * @type {string}\n * @memberof Permission\n */\n name: string;\n /**\n * Whether this permission applies to resource owner or not\n * @type {boolean}\n * @memberof Permission\n */\n owner: boolean;\n /**\n * Whether this permission applies to teammates (multi-tenancy mode only)\n * @type {boolean}\n * @memberof Permission\n */\n same_team: boolean;\n /**\n * List of tags of the permission\n * @type {Array<string>}\n * @memberof Permission\n */\n tags: Array<string>;\n}\n\n\n/**\n * @export\n */\nexport const PermissionLevelEnum = {\n APP: 'app',\n CHANNEL: 'channel'\n} as const;\nexport type PermissionLevelEnum = typeof PermissionLevelEnum[keyof typeof PermissionLevelEnum];\n\n/**\n * \n * @export\n * @interface Policy\n */\nexport interface Policy {\n /**\n * \n * @type {number}\n * @memberof Policy\n */\n action: number;\n /**\n * \n * @type {string}\n * @memberof Policy\n */\n created_at: string;\n /**\n * \n * @type {string}\n * @memberof Policy\n */\n name: string;\n /**\n * \n * @type {boolean}\n * @memberof Policy\n */\n owner: boolean;\n /**\n * \n * @type {number}\n * @memberof Policy\n */\n priority: number;\n /**\n * \n * @type {Array<string>}\n * @memberof Policy\n */\n resources: Array<string>;\n /**\n * \n * @type {Array<string>}\n * @memberof Policy\n */\n roles: Array<string>;\n /**\n * \n * @type {string}\n * @memberof Policy\n */\n updated_at: string;\n}\n/**\n * \n * @export\n * @interface PolicyRequest\n */\nexport interface PolicyRequest {\n /**\n * \n * @type {string}\n * @memberof PolicyRequest\n */\n action?: PolicyRequestActionEnum;\n /**\n * User-friendly policy name\n * @type {string}\n * @memberof PolicyRequest\n */\n name: string;\n /**\n * Whether policy applies to resource owner or not\n * @type {boolean}\n * @memberof PolicyRequest\n */\n owner?: boolean;\n /**\n * Policy priority\n * @type {number}\n * @memberof PolicyRequest\n */\n priority: number;\n /**\n * List of resources to apply policy to\n * @type {Array<string>}\n * @memberof PolicyRequest\n */\n resources?: Array<string>;\n /**\n * List of roles to apply policy to\n * @type {Array<string>}\n * @memberof PolicyRequest\n */\n roles?: Array<string>;\n}\n\n\n/**\n * @export\n */\nexport const PolicyRequestActionEnum = {\n DENY: 'Deny',\n ALLOW: 'Allow'\n} as const;\nexport type PolicyRequestActionEnum = typeof PolicyRequestActionEnum[keyof typeof PolicyRequestActionEnum];\n\n/**\n * \n * @export\n * @interface PolicyRequest1\n */\nexport interface PolicyRequest1 {\n /**\n * \n * @type {string}\n * @memberof PolicyRequest1\n */\n action: PolicyRequest1ActionEnum;\n /**\n * User-friendly policy name\n * @type {string}\n * @memberof PolicyRequest1\n */\n name: string;\n /**\n * Whether policy applies to resource owner or not\n * @type {boolean}\n * @memberof PolicyRequest1\n */\n owner: boolean;\n /**\n * Policy priority\n * @type {number}\n * @memberof PolicyRequest1\n */\n priority: number;\n /**\n * List of resources to apply policy to\n * @type {Array<string>}\n * @memberof PolicyRequest1\n */\n resources: Array<string>;\n /**\n * List of roles to apply policy to\n * @type {Array<string>}\n * @memberof PolicyRequest1\n */\n roles: Array<string>;\n}\n\n\n/**\n * @export\n */\nexport const PolicyRequest1ActionEnum = {\n DENY: 'Deny',\n ALLOW: 'Allow'\n} as const;\nexport type PolicyRequest1ActionEnum = typeof PolicyRequest1ActionEnum[keyof typeof PolicyRequest1ActionEnum];\n\n/**\n * \n * @export\n * @interface PushConfigRequest\n */\nexport interface PushConfigRequest {\n /**\n * \n * @type {boolean}\n * @memberof PushConfigRequest\n */\n offline_only?: boolean;\n /**\n * \n * @type {string}\n * @memberof PushConfigRequest\n */\n version?: PushConfigRequestVersionEnum;\n}\n\n\n/**\n * @export\n */\nexport const PushConfigRequestVersionEnum = {\n V1: 'v1',\n V2: 'v2'\n} as const;\nexport type PushConfigRequestVersionEnum = typeof PushConfigRequestVersionEnum[keyof typeof PushConfigRequestVersionEnum];\n\n/**\n * \n * @export\n * @interface PushNotificationFields\n */\nexport interface PushNotificationFields {\n /**\n * \n * @type {APNConfigFields}\n * @memberof PushNotificationFields\n */\n apn: APNConfigFields;\n /**\n * \n * @type {FirebaseConfigFields}\n * @memberof PushNotificationFields\n */\n firebase: FirebaseConfigFields;\n /**\n * \n * @type {HuaweiConfigFields}\n * @memberof PushNotificationFields\n */\n huawei: HuaweiConfigFields;\n /**\n * \n * @type {boolean}\n * @memberof PushNotificationFields\n */\n offline_only: boolean;\n /**\n * \n * @type {Array<PushProvider>}\n * @memberof PushNotificationFields\n */\n providers?: Array<PushProvider>;\n /**\n * \n * @type {string}\n * @memberof PushNotificationFields\n */\n version: string;\n /**\n * \n * @type {XiaomiConfigFields}\n * @memberof PushNotificationFields\n */\n xiaomi: XiaomiConfigFields;\n}\n/**\n * \n * @export\n * @interface PushNotificationSettings\n */\nexport interface PushNotificationSettings {\n /**\n * \n * @type {boolean}\n * @memberof PushNotificationSettings\n */\n disabled?: boolean;\n /**\n * \n * @type {string}\n * @memberof PushNotificationSettings\n */\n disabled_until?: string;\n}\n/**\n * \n * @export\n * @interface PushNotificationSettingsRequest\n */\nexport interface PushNotificationSettingsRequest {\n /**\n * \n * @type {boolean}\n * @memberof PushNotificationSettingsRequest\n */\n disabled?: boolean;\n /**\n * \n * @type {string}\n * @memberof PushNotificationSettingsRequest\n */\n disabled_until?: string;\n}\n/**\n * \n * @export\n * @interface PushProvider\n */\nexport interface PushProvider {\n /**\n * \n * @type {string}\n * @memberof PushProvider\n */\n apn_auth_key?: string;\n /**\n * \n * @type {string}\n * @memberof PushProvider\n */\n apn_auth_type?: string;\n /**\n * \n * @type {boolean}\n * @memberof PushProvider\n */\n apn_development?: boolean;\n /**\n * \n * @type {string}\n * @memberof PushProvider\n */\n apn_host?: string;\n /**\n * \n * @type {string}\n * @memberof PushProvider\n */\n apn_key_id?: string;\n /**\n * \n * @type {string}\n * @memberof PushProvider\n */\n apn_notification_template?: string;\n /**\n * \n * @type {string}\n * @memberof PushProvider\n */\n apn_p12_cert?: string;\n /**\n * \n * @type {string}\n * @memberof PushProvider\n */\n apn_team_id?: string;\n /**\n * \n * @type {string}\n * @memberof PushProvider\n */\n apn_topic?: string;\n /**\n * \n * @type {string}\n * @memberof PushProvider\n */\n created_at: string;\n /**\n * \n * @type {string}\n * @memberof PushProvider\n */\n description?: string;\n /**\n * \n * @type {string}\n * @memberof PushProvider\n */\n disabled_at?: string;\n /**\n * \n * @type {string}\n * @memberof PushProvider\n */\n disabled_reason?: string;\n /**\n * \n * @type {string}\n * @memberof PushProvider\n */\n firebase_apn_template?: string;\n /**\n * \n * @type {string}\n * @memberof PushProvider\n */\n firebase_credentials?: string;\n /**\n * \n * @type {string}\n * @memberof PushProvider\n */\n firebase_data_template?: string;\n /**\n * \n * @type {string}\n * @memberof PushProvider\n */\n firebase_host?: string;\n /**\n * \n * @type {string}\n * @memberof PushProvider\n */\n firebase_notification_template?: string;\n /**\n * \n * @type {string}\n * @memberof PushProvider\n */\n firebase_server_key?: string;\n /**\n * \n * @type {string}\n * @memberof PushProvider\n */\n huawei_app_id?: string;\n /**\n * \n * @type {string}\n * @memberof PushProvider\n */\n huawei_app_secret?: string;\n /**\n * \n * @type {string}\n * @memberof PushProvider\n */\n name: string;\n /**\n * \n * @type {number}\n * @memberof PushProvider\n */\n type: number;\n /**\n * \n * @type {string}\n * @memberof PushProvider\n */\n updated_at: string;\n /**\n * \n * @type {string}\n * @memberof PushProvider\n */\n xiaomi_app_secret?: string;\n /**\n * \n * @type {string}\n * @memberof PushProvider\n */\n xiaomi_package_name?: string;\n}\n/**\n * \n * @export\n * @interface PushProviderRequest\n */\nexport interface PushProviderRequest {\n /**\n * \n * @type {string}\n * @memberof PushProviderRequest\n */\n apn_auth_key?: string;\n /**\n * \n * @type {string}\n * @memberof PushProviderRequest\n */\n apn_auth_type?: string;\n /**\n * \n * @type {boolean}\n * @memberof PushProviderRequest\n */\n apn_development?: boolean;\n /**\n * \n * @type {string}\n * @memberof PushProviderRequest\n */\n apn_host?: string;\n /**\n * \n * @type {string}\n * @memberof PushProviderRequest\n */\n apn_key_id?: string;\n /**\n * \n * @type {string}\n * @memberof PushProviderRequest\n */\n apn_notification_template?: string;\n /**\n * \n * @type {string}\n * @memberof PushProviderRequest\n */\n apn_p12_cert?: string;\n /**\n * \n * @type {string}\n * @memberof PushProviderRequest\n */\n apn_team_id?: string;\n /**\n * \n * @type {string}\n * @memberof PushProviderRequest\n */\n apn_topic?: string;\n /**\n * \n * @type {string}\n * @memberof PushProviderRequest\n */\n created_at?: string;\n /**\n * \n * @type {string}\n * @memberof PushProviderRequest\n */\n description?: string;\n /**\n * \n * @type {string}\n * @memberof PushProviderRequest\n */\n disabled_at?: string;\n /**\n * \n * @type {string}\n * @memberof PushProviderRequest\n */\n disabled_reason?: string;\n /**\n * \n * @type {string}\n * @memberof PushProviderRequest\n */\n firebase_apn_template?: string;\n /**\n * \n * @type {string}\n * @memberof PushProviderRequest\n */\n firebase_credentials?: string;\n /**\n * \n * @type {string}\n * @memberof PushProviderRequest\n */\n firebase_data_template?: string;\n /**\n * \n * @type {string}\n * @memberof PushProviderRequest\n */\n firebase_host?: string;\n /**\n * \n * @type {string}\n * @memberof PushProviderRequest\n */\n firebase_notification_template?: string;\n /**\n * \n * @type {string}\n * @memberof PushProviderRequest\n */\n firebase_server_key?: string;\n /**\n * \n * @type {string}\n * @memberof PushProviderRequest\n */\n huawei_app_id?: string;\n /**\n * \n * @type {string}\n * @memberof PushProviderRequest\n */\n huawei_app_secret?: string;\n /**\n * \n * @type {string}\n * @memberof PushProviderRequest\n */\n name: string;\n /**\n * \n * @type {number}\n * @memberof PushProviderRequest\n */\n type?: number;\n /**\n * \n * @type {string}\n * @memberof PushProviderRequest\n */\n updated_at?: string;\n /**\n * \n * @type {string}\n * @memberof PushProviderRequest\n */\n xiaomi_app_secret?: string;\n /**\n * \n * @type {string}\n * @memberof PushProviderRequest\n */\n xiaomi_package_name?: string;\n}\n/**\n * \n * @export\n * @interface PushProviderResponse\n */\nexport interface PushProviderResponse {\n /**\n * \n * @type {string}\n * @memberof PushProviderResponse\n */\n apn_auth_key?: string;\n /**\n * \n * @type {string}\n * @memberof PushProviderResponse\n */\n apn_auth_type?: string;\n /**\n * \n * @type {boolean}\n * @memberof PushProviderResponse\n */\n apn_development?: boolean;\n /**\n * \n * @type {string}\n * @memberof PushProviderResponse\n */\n apn_host?: string;\n /**\n * \n * @type {string}\n * @memberof PushProviderResponse\n */\n apn_key_id?: string;\n /**\n * \n * @type {string}\n * @memberof PushProviderResponse\n */\n apn_p12_cert?: string;\n /**\n * \n * @type {boolean}\n * @memberof PushProviderResponse\n */\n apn_sandbox_certificate?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof PushProviderResponse\n */\n apn_supports_remote_notifications?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof PushProviderResponse\n */\n apn_supports_voip_notifications?: boolean;\n /**\n * \n * @type {string}\n * @memberof PushProviderResponse\n */\n apn_team_id?: string;\n /**\n * \n * @type {string}\n * @memberof PushProviderResponse\n */\n apn_topic?: string;\n /**\n * \n * @type {string}\n * @memberof PushProviderResponse\n */\n created_at: string;\n /**\n * \n * @type {string}\n * @memberof PushProviderResponse\n */\n description?: string;\n /**\n * \n * @type {string}\n * @memberof PushProviderResponse\n */\n disabled_at?: string;\n /**\n * \n * @type {string}\n * @memberof PushProviderResponse\n */\n disabled_reason?: string;\n /**\n * \n * @type {string}\n * @memberof PushProviderResponse\n */\n firebase_apn_template?: string;\n /**\n * \n * @type {string}\n * @memberof PushProviderResponse\n */\n firebase_credentials?: string;\n /**\n * \n * @type {string}\n * @memberof PushProviderResponse\n */\n firebase_data_template?: string;\n /**\n * \n * @type {string}\n * @memberof PushProviderResponse\n */\n firebase_host?: string;\n /**\n * \n * @type {string}\n * @memberof PushProviderResponse\n */\n firebase_notification_template?: string;\n /**\n * \n * @type {string}\n * @memberof PushProviderResponse\n */\n firebase_server_key?: string;\n /**\n * \n * @type {string}\n * @memberof PushProviderResponse\n */\n huawei_app_id?: string;\n /**\n * \n * @type {string}\n * @memberof PushProviderResponse\n */\n huawei_app_secret?: string;\n /**\n * \n * @type {string}\n * @memberof PushProviderResponse\n */\n name: string;\n /**\n * \n * @type {string}\n * @memberof PushProviderResponse\n */\n type: string;\n /**\n * \n * @type {string}\n * @memberof PushProviderResponse\n */\n updated_at: string;\n /**\n * \n * @type {string}\n * @memberof PushProviderResponse\n */\n xiaomi_app_secret?: string;\n /**\n * \n * @type {string}\n * @memberof PushProviderResponse\n */\n xiaomi_package_name?: string;\n}\n/**\n * \n * @export\n * @interface QueryBannedUsersRequest\n */\nexport interface QueryBannedUsersRequest {\n /**\n * \n * @type {string}\n * @memberof QueryBannedUsersRequest\n */\n created_at_after?: string;\n /**\n * \n * @type {string}\n * @memberof QueryBannedUsersRequest\n */\n created_at_after_or_equal?: string;\n /**\n * \n * @type {string}\n * @memberof QueryBannedUsersRequest\n */\n created_at_before?: string;\n /**\n * \n * @type {string}\n * @memberof QueryBannedUsersRequest\n */\n created_at_before_or_equal?: string;\n /**\n * \n * @type {boolean}\n * @memberof QueryBannedUsersRequest\n */\n exclude_expired_bans?: boolean;\n /**\n * \n * @type {{ [key: string]: any; }}\n * @memberof QueryBannedUsersRequest\n */\n filter_conditions: { [key: string]: any; };\n /**\n * \n * @type {number}\n * @memberof QueryBannedUsersRequest\n */\n limit?: number;\n /**\n * \n * @type {number}\n * @memberof QueryBannedUsersRequest\n */\n offset?: number;\n /**\n * \n * @type {Array<SortParam>}\n * @memberof QueryBannedUsersRequest\n */\n sort?: Array<SortParam>;\n /**\n * \n * @type {UserObject}\n * @memberof QueryBannedUsersRequest\n */\n user?: UserObject;\n /**\n * **Server-side only**. User ID which server acts upon\n * @type {string}\n * @memberof QueryBannedUsersRequest\n */\n user_id?: string;\n}\n/**\n * \n * @export\n * @interface QueryBannedUsersResponse\n */\nexport interface QueryBannedUsersResponse {\n /**\n * \n * @type {Array<BanResponse>}\n * @memberof QueryBannedUsersResponse\n */\n bans: Array<BanResponse>;\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof QueryBannedUsersResponse\n */\n duration: string;\n}\n/**\n * \n * @export\n * @interface QueryChannelsRequest\n */\nexport interface QueryChannelsRequest {\n /**\n * \n * @type {string}\n * @memberof QueryChannelsRequest\n */\n client_id?: string;\n /**\n * \n * @type {string}\n * @memberof QueryChannelsRequest\n */\n connection_id?: string;\n /**\n * \n * @type {{ [key: string]: any; }}\n * @memberof QueryChannelsRequest\n */\n filter_conditions?: { [key: string]: any; };\n /**\n * Number of channels to limit\n * @type {number}\n * @memberof QueryChannelsRequest\n */\n limit?: number;\n /**\n * Number of members to limit\n * @type {number}\n * @memberof QueryChannelsRequest\n */\n member_limit?: number;\n /**\n * Number of messages to limit\n * @type {number}\n * @memberof QueryChannelsRequest\n */\n message_limit?: number;\n /**\n * Channel pagination offset\n * @type {number}\n * @memberof QueryChannelsRequest\n */\n offset?: number;\n /**\n * \n * @type {boolean}\n * @memberof QueryChannelsRequest\n */\n presence?: boolean;\n /**\n * List of sort parameters\n * @type {Array<SortParamRequest>}\n * @memberof QueryChannelsRequest\n */\n sort?: Array<SortParamRequest>;\n /**\n * Whether to update channel state or not\n * @type {boolean}\n * @memberof QueryChannelsRequest\n */\n state?: boolean;\n /**\n * \n * @type {UserObjectRequest}\n * @memberof QueryChannelsRequest\n */\n user?: UserObjectRequest;\n /**\n * \n * @type {string}\n * @memberof QueryChannelsRequest\n */\n user_id?: string;\n /**\n * Whether to start watching found channels or not\n * @type {boolean}\n * @memberof QueryChannelsRequest\n */\n watch?: boolean;\n}\n/**\n * \n * @export\n * @interface QueryMembersRequest\n */\nexport interface QueryMembersRequest {\n /**\n * \n * @type {string}\n * @memberof QueryMembersRequest\n */\n created_at_after?: string;\n /**\n * \n * @type {string}\n * @memberof QueryMembersRequest\n */\n created_at_after_or_equal?: string;\n /**\n * \n * @type {string}\n * @memberof QueryMembersRequest\n */\n created_at_before?: string;\n /**\n * \n * @type {string}\n * @memberof QueryMembersRequest\n */\n created_at_before_or_equal?: string;\n /**\n * Filter to apply to members\n * @type {{ [key: string]: any; }}\n * @memberof QueryMembersRequest\n */\n filter_conditions: { [key: string]: any; };\n /**\n * Channel ID to interact with\n * @type {string}\n * @memberof QueryMembersRequest\n */\n id?: string;\n /**\n * Number of records to return\n * @type {number}\n * @memberof QueryMembersRequest\n */\n limit?: number;\n /**\n * List of members to search in distinct channels\n * @type {Array<ChannelMember>}\n * @memberof QueryMembersRequest\n */\n members?: Array<ChannelMember>;\n /**\n * Number of records to offset\n * @type {number}\n * @memberof QueryMembersRequest\n */\n offset?: number;\n /**\n * Array of sort parameters\n * @type {Array<SortParam>}\n * @memberof QueryMembersRequest\n */\n sort?: Array<SortParam>;\n /**\n * Channel type to interact with\n * @type {string}\n * @memberof QueryMembersRequest\n */\n type: string;\n /**\n * \n * @type {UserObject}\n * @memberof QueryMembersRequest\n */\n user?: UserObject;\n /**\n * \n * @type {string}\n * @memberof QueryMembersRequest\n */\n user_id?: string;\n /**\n * \n * @type {string}\n * @memberof QueryMembersRequest\n */\n user_id_gt?: string;\n /**\n * \n * @type {string}\n * @memberof QueryMembersRequest\n */\n user_id_gte?: string;\n /**\n * \n * @type {string}\n * @memberof QueryMembersRequest\n */\n user_id_lt?: string;\n /**\n * \n * @type {string}\n * @memberof QueryMembersRequest\n */\n user_id_lte?: string;\n}\n/**\n * \n * @export\n * @interface QueryMessageFlagsRequest\n */\nexport interface QueryMessageFlagsRequest {\n /**\n * \n * @type {{ [key: string]: any; }}\n * @memberof QueryMessageFlagsRequest\n */\n filter_conditions?: { [key: string]: any; };\n /**\n * \n * @type {number}\n * @memberof QueryMessageFlagsRequest\n */\n limit?: number;\n /**\n * \n * @type {number}\n * @memberof QueryMessageFlagsRequest\n */\n offset?: number;\n /**\n * \n * @type {boolean}\n * @memberof QueryMessageFlagsRequest\n */\n show_deleted_messages?: boolean;\n /**\n * \n * @type {UserObject}\n * @memberof QueryMessageFlagsRequest\n */\n user?: UserObject;\n /**\n * **Server-side only**. User ID which server acts upon\n * @type {string}\n * @memberof QueryMessageFlagsRequest\n */\n user_id?: string;\n}\n/**\n * \n * @export\n * @interface QueryMessageFlagsResponse\n */\nexport interface QueryMessageFlagsResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof QueryMessageFlagsResponse\n */\n duration: string;\n /**\n * \n * @type {Array<MessageFlag>}\n * @memberof QueryMessageFlagsResponse\n */\n flags: Array<MessageFlag>;\n}\n/**\n * \n * @export\n * @interface QueryUsersRequest\n */\nexport interface QueryUsersRequest {\n /**\n * \n * @type {string}\n * @memberof QueryUsersRequest\n */\n client_id?: string;\n /**\n * \n * @type {string}\n * @memberof QueryUsersRequest\n */\n connection_id?: string;\n /**\n * User filters\n * @type {{ [key: string]: any; }}\n * @memberof QueryUsersRequest\n */\n filter_conditions: { [key: string]: any; };\n /**\n * \n * @type {string}\n * @memberof QueryUsersRequest\n */\n id_gt?: string;\n /**\n * \n * @type {string}\n * @memberof QueryUsersRequest\n */\n id_gte?: string;\n /**\n * \n * @type {string}\n * @memberof QueryUsersRequest\n */\n id_lt?: string;\n /**\n * \n * @type {string}\n * @memberof QueryUsersRequest\n */\n id_lte?: string;\n /**\n * \n * @type {number}\n * @memberof QueryUsersRequest\n */\n limit?: number;\n /**\n * \n * @type {number}\n * @memberof QueryUsersRequest\n */\n offset?: number;\n /**\n * Request user presence status\n * @type {boolean}\n * @memberof QueryUsersRequest\n */\n presence?: boolean;\n /**\n * Array of sort parameters\n * @type {Array<SortParam>}\n * @memberof QueryUsersRequest\n */\n sort?: Array<SortParam>;\n /**\n * \n * @type {UserObject}\n * @memberof QueryUsersRequest\n */\n user?: UserObject;\n /**\n * \n * @type {string}\n * @memberof QueryUsersRequest\n */\n user_id?: string;\n}\n/**\n * Represents user reaction to a message\n * @export\n * @interface Reaction\n */\nexport interface Reaction {\n [key: string]: any | any;\n /**\n * Date/time of creation\n * @type {string}\n * @memberof Reaction\n */\n readonly created_at: string;\n /**\n * ID of a message user reacted to\n * @type {string}\n * @memberof Reaction\n */\n message_id: string;\n /**\n * Reaction score. If not specified reaction has score of 1\n * @type {number}\n * @memberof Reaction\n */\n score: number;\n /**\n * The type of reaction (e.g. 'like', 'laugh', 'wow')\n * @type {string}\n * @memberof Reaction\n */\n type: string;\n /**\n * Date/time of the last update\n * @type {string}\n * @memberof Reaction\n */\n readonly updated_at: string;\n /**\n * \n * @type {UserObject}\n * @memberof Reaction\n */\n user?: UserObject;\n /**\n * ID of a user who reacted to a message\n * @type {string}\n * @memberof Reaction\n */\n user_id?: string;\n}\n/**\n * \n * @export\n * @interface ReactionDeletedEvent\n */\nexport interface ReactionDeletedEvent {\n /**\n * \n * @type {string}\n * @memberof ReactionDeletedEvent\n */\n channel_id: string;\n /**\n * \n * @type {string}\n * @memberof ReactionDeletedEvent\n */\n channel_type: string;\n /**\n * \n * @type {string}\n * @memberof ReactionDeletedEvent\n */\n cid: string;\n /**\n * \n * @type {string}\n * @memberof ReactionDeletedEvent\n */\n created_at: string;\n /**\n * \n * @type {Message}\n * @memberof ReactionDeletedEvent\n */\n message?: Message | null;\n /**\n * \n * @type {Reaction}\n * @memberof ReactionDeletedEvent\n */\n reaction?: Reaction | null;\n /**\n * \n * @type {string}\n * @memberof ReactionDeletedEvent\n */\n team?: string;\n /**\n * \n * @type {Array<UserObject>}\n * @memberof ReactionDeletedEvent\n */\n thread_participants?: Array<UserObject>;\n /**\n * \n * @type {string}\n * @memberof ReactionDeletedEvent\n */\n type: string;\n /**\n * \n * @type {UserObject}\n * @memberof ReactionDeletedEvent\n */\n user?: UserObject;\n}\n/**\n * \n * @export\n * @interface ReactionNewEvent\n */\nexport interface ReactionNewEvent {\n /**\n * \n * @type {string}\n * @memberof ReactionNewEvent\n */\n channel_id: string;\n /**\n * \n * @type {string}\n * @memberof ReactionNewEvent\n */\n channel_type: string;\n /**\n * \n * @type {string}\n * @memberof ReactionNewEvent\n */\n cid: string;\n /**\n * \n * @type {string}\n * @memberof ReactionNewEvent\n */\n created_at: string;\n /**\n * \n * @type {Message}\n * @memberof ReactionNewEvent\n */\n message?: Message | null;\n /**\n * \n * @type {Reaction}\n * @memberof ReactionNewEvent\n */\n reaction?: Reaction | null;\n /**\n * \n * @type {string}\n * @memberof ReactionNewEvent\n */\n team?: string;\n /**\n * \n * @type {Array<UserObject>}\n * @memberof ReactionNewEvent\n */\n thread_participants?: Array<UserObject>;\n /**\n * \n * @type {string}\n * @memberof ReactionNewEvent\n */\n type: string;\n /**\n * \n * @type {UserObject}\n * @memberof ReactionNewEvent\n */\n user?: UserObject;\n}\n/**\n * \n * @export\n * @interface ReactionRemovalResponse\n */\nexport interface ReactionRemovalResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof ReactionRemovalResponse\n */\n duration: string;\n /**\n * \n * @type {Message}\n * @memberof ReactionRemovalResponse\n */\n message?: Message | null;\n /**\n * \n * @type {Reaction}\n * @memberof ReactionRemovalResponse\n */\n reaction?: Reaction | null;\n}\n/**\n * Represents user reaction to a message\n * @export\n * @interface ReactionRequest\n */\nexport interface ReactionRequest {\n [key: string]: any | any;\n /**\n * ID of a message user reacted to\n * @type {string}\n * @memberof ReactionRequest\n */\n message_id?: string;\n /**\n * Reaction score. If not specified reaction has score of 1\n * @type {number}\n * @memberof ReactionRequest\n */\n score?: number;\n /**\n * The type of reaction (e.g. 'like', 'laugh', 'wow')\n * @type {string}\n * @memberof ReactionRequest\n */\n type: string;\n /**\n * \n * @type {UserObjectRequest}\n * @memberof ReactionRequest\n */\n user?: UserObjectRequest;\n /**\n * ID of a user who reacted to a message\n * @type {string}\n * @memberof ReactionRequest\n */\n user_id?: string;\n}\n/**\n * \n * @export\n * @interface ReactionResponse\n */\nexport interface ReactionResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof ReactionResponse\n */\n duration: string;\n /**\n * \n * @type {Message}\n * @memberof ReactionResponse\n */\n message?: Message | null;\n /**\n * \n * @type {Reaction}\n * @memberof ReactionResponse\n */\n reaction?: Reaction | null;\n}\n/**\n * \n * @export\n * @interface ReactionUpdatedEvent\n */\nexport interface ReactionUpdatedEvent {\n /**\n * \n * @type {string}\n * @memberof ReactionUpdatedEvent\n */\n channel_id: string;\n /**\n * \n * @type {string}\n * @memberof ReactionUpdatedEvent\n */\n channel_type: string;\n /**\n * \n * @type {string}\n * @memberof ReactionUpdatedEvent\n */\n cid: string;\n /**\n * \n * @type {string}\n * @memberof ReactionUpdatedEvent\n */\n created_at: string;\n /**\n * \n * @type {Message}\n * @memberof ReactionUpdatedEvent\n */\n message: Message | null;\n /**\n * \n * @type {Reaction}\n * @memberof ReactionUpdatedEvent\n */\n reaction: Reaction | null;\n /**\n * \n * @type {string}\n * @memberof ReactionUpdatedEvent\n */\n team?: string;\n /**\n * \n * @type {string}\n * @memberof ReactionUpdatedEvent\n */\n type: string;\n /**\n * \n * @type {UserObject}\n * @memberof ReactionUpdatedEvent\n */\n user?: UserObject;\n}\n/**\n * \n * @export\n * @interface ReactivateUserRequest\n */\nexport interface ReactivateUserRequest {\n /**\n * ID of the user who's reactivating the user\n * @type {string}\n * @memberof ReactivateUserRequest\n */\n created_by_id?: string;\n /**\n * Set this field to put new name for the user\n * @type {string}\n * @memberof ReactivateUserRequest\n */\n name?: string;\n /**\n * Restore previously deleted messages\n * @type {boolean}\n * @memberof ReactivateUserRequest\n */\n restore_messages?: boolean;\n /**\n * \n * @type {string}\n * @memberof ReactivateUserRequest\n */\n user_id: string;\n}\n/**\n * \n * @export\n * @interface ReactivateUserResponse\n */\nexport interface ReactivateUserResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof ReactivateUserResponse\n */\n duration: string;\n /**\n * \n * @type {UserObject}\n * @memberof ReactivateUserResponse\n */\n user?: UserObject;\n}\n/**\n * \n * @export\n * @interface ReactivateUsersRequest\n */\nexport interface ReactivateUsersRequest {\n /**\n * ID of the user who's reactivating the users\n * @type {string}\n * @memberof ReactivateUsersRequest\n */\n created_by_id?: string;\n /**\n * Restore previously deleted messages\n * @type {boolean}\n * @memberof ReactivateUsersRequest\n */\n restore_messages?: boolean;\n /**\n * User IDs to reactivate\n * @type {Array<string>}\n * @memberof ReactivateUsersRequest\n */\n user_ids: Array<string>;\n}\n/**\n * \n * @export\n * @interface ReactivateUsersResponse\n */\nexport interface ReactivateUsersResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof ReactivateUsersResponse\n */\n duration: string;\n /**\n * \n * @type {string}\n * @memberof ReactivateUsersResponse\n */\n task_id: string;\n}\n/**\n * \n * @export\n * @interface Read\n */\nexport interface Read {\n /**\n * \n * @type {string}\n * @memberof Read\n */\n last_read: string;\n /**\n * \n * @type {string}\n * @memberof Read\n */\n last_read_message_id?: string;\n /**\n * \n * @type {number}\n * @memberof Read\n */\n unread_messages: number;\n /**\n * \n * @type {UserObject}\n * @memberof Read\n */\n user?: UserObject;\n}\n/**\n * \n * @export\n * @interface RecordSettings\n */\nexport interface RecordSettings {\n /**\n * \n * @type {boolean}\n * @memberof RecordSettings\n */\n audio_only: boolean;\n /**\n * \n * @type {LayoutSettings}\n * @memberof RecordSettings\n */\n layout?: LayoutSettings;\n /**\n * \n * @type {string}\n * @memberof RecordSettings\n */\n mode: string;\n /**\n * \n * @type {string}\n * @memberof RecordSettings\n */\n quality: string;\n}\n/**\n * \n * @export\n * @interface Response\n */\nexport interface Response {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof Response\n */\n duration: string;\n}\n/**\n * \n * @export\n * @interface RestoreUsersRequest\n */\nexport interface RestoreUsersRequest {\n /**\n * \n * @type {Array<string>}\n * @memberof RestoreUsersRequest\n */\n user_ids: Array<string>;\n}\n/**\n * \n * @export\n * @interface RingSettings\n */\nexport interface RingSettings {\n /**\n * \n * @type {number}\n * @memberof RingSettings\n */\n auto_cancel_timeout_ms: number;\n /**\n * \n * @type {number}\n * @memberof RingSettings\n */\n incoming_call_timeout_ms: number;\n}\n/**\n * \n * @export\n * @interface Role\n */\nexport interface Role {\n /**\n * Date/time of creation\n * @type {string}\n * @memberof Role\n */\n created_at: string;\n /**\n * Whether this is a custom role or built-in\n * @type {boolean}\n * @memberof Role\n */\n custom: boolean;\n /**\n * Unique role name\n * @type {string}\n * @memberof Role\n */\n name: string;\n /**\n * List of scopes where this role is currently present. `.app` means that role is present in app-level grants\n * @type {Array<string>}\n * @memberof Role\n */\n scopes: Array<string>;\n /**\n * Date/time of the last update\n * @type {string}\n * @memberof Role\n */\n updated_at: string;\n}\n/**\n * \n * @export\n * @interface ScreensharingSettings\n */\nexport interface ScreensharingSettings {\n /**\n * \n * @type {boolean}\n * @memberof ScreensharingSettings\n */\n access_request_enabled: boolean;\n /**\n * \n * @type {boolean}\n * @memberof ScreensharingSettings\n */\n enabled: boolean;\n}\n/**\n * \n * @export\n * @interface SearchRequest\n */\nexport interface SearchRequest {\n /**\n * Channel filter conditions\n * @type {{ [key: string]: any; }}\n * @memberof SearchRequest\n */\n filter_conditions: { [key: string]: any; };\n /**\n * Number of messages to return\n * @type {number}\n * @memberof SearchRequest\n */\n limit?: number;\n /**\n * Message filter conditions\n * @type {{ [key: string]: any; }}\n * @memberof SearchRequest\n */\n message_filter_conditions?: { [key: string]: any; };\n /**\n * Pagination parameter. Cannot be used with non-zero offset.\n * @type {string}\n * @memberof SearchRequest\n */\n next?: string;\n /**\n * Pagination offset. Cannot be used with sort or next.\n * @type {number}\n * @memberof SearchRequest\n */\n offset?: number;\n /**\n * Search phrase\n * @type {string}\n * @memberof SearchRequest\n */\n query?: string;\n /**\n * Sort parameters. Cannot be used with non-zero offset\n * @type {Array<SortParam>}\n * @memberof SearchRequest\n */\n sort?: Array<SortParam>;\n}\n/**\n * \n * @export\n * @interface SearchResponse\n */\nexport interface SearchResponse {\n /**\n * \n * @type {string}\n * @memberof SearchResponse\n */\n duration: string;\n /**\n * Value to pass to the next search query in order to paginate\n * @type {string}\n * @memberof SearchResponse\n */\n next?: string;\n /**\n * Value that points to the previous page. Pass as the next value in a search query to paginate backwards\n * @type {string}\n * @memberof SearchResponse\n */\n previous?: string;\n /**\n * Search results\n * @type {Array<SearchResult>}\n * @memberof SearchResponse\n */\n results: Array<SearchResult>;\n /**\n * \n * @type {SearchWarning}\n * @memberof SearchResponse\n */\n results_warning?: SearchWarning;\n}\n/**\n * \n * @export\n * @interface SearchResult\n */\nexport interface SearchResult {\n /**\n * \n * @type {SearchResultMessage}\n * @memberof SearchResult\n */\n message?: SearchResultMessage;\n}\n/**\n * \n * @export\n * @interface SearchResultMessage\n */\nexport interface SearchResultMessage {\n [key: string]: any | any;\n /**\n * \n * @type {Array<Attachment>}\n * @memberof SearchResultMessage\n */\n attachments: Array<Attachment>;\n /**\n * \n * @type {boolean}\n * @memberof SearchResultMessage\n */\n before_message_send_failed?: boolean;\n /**\n * \n * @type {ChannelResponse}\n * @memberof SearchResultMessage\n */\n channel?: ChannelResponse;\n /**\n * \n * @type {string}\n * @memberof SearchResultMessage\n */\n cid: string;\n /**\n * \n * @type {string}\n * @memberof SearchResultMessage\n */\n command?: string;\n /**\n * \n * @type {string}\n * @memberof SearchResultMessage\n */\n created_at: string;\n /**\n * \n * @type {string}\n * @memberof SearchResultMessage\n */\n deleted_at?: string;\n /**\n * \n * @type {number}\n * @memberof SearchResultMessage\n */\n deleted_reply_count: number;\n /**\n * \n * @type {string}\n * @memberof SearchResultMessage\n */\n html: string;\n /**\n * \n * @type {{ [key: string]: string; }}\n * @memberof SearchResultMessage\n */\n i18n?: { [key: string]: string; };\n /**\n * \n * @type {string}\n * @memberof SearchResultMessage\n */\n id: string;\n /**\n * \n * @type {{ [key: string]: Array<string>; }}\n * @memberof SearchResultMessage\n */\n image_labels?: { [key: string]: Array<string>; };\n /**\n * \n * @type {Array<Reaction>}\n * @memberof SearchResultMessage\n */\n latest_reactions: Array<Reaction>;\n /**\n * \n * @type {Array<UserObject>}\n * @memberof SearchResultMessage\n */\n mentioned_users: Array<UserObject>;\n /**\n * \n * @type {string}\n * @memberof SearchResultMessage\n */\n mml?: string;\n /**\n * \n * @type {Array<Reaction>}\n * @memberof SearchResultMessage\n */\n own_reactions: Array<Reaction>;\n /**\n * \n * @type {string}\n * @memberof SearchResultMessage\n */\n parent_id?: string;\n /**\n * \n * @type {string}\n * @memberof SearchResultMessage\n */\n pin_expires?: string;\n /**\n * \n * @type {boolean}\n * @memberof SearchResultMessage\n */\n pinned: boolean;\n /**\n * \n * @type {string}\n * @memberof SearchResultMessage\n */\n pinned_at?: string;\n /**\n * \n * @type {UserObject}\n * @memberof SearchResultMessage\n */\n pinned_by?: UserObject;\n /**\n * \n * @type {Message}\n * @memberof SearchResultMessage\n */\n quoted_message?: Message | null;\n /**\n * \n * @type {string}\n * @memberof SearchResultMessage\n */\n quoted_message_id?: string;\n /**\n * \n * @type {{ [key: string]: number; }}\n * @memberof SearchResultMessage\n */\n reaction_counts: { [key: string]: number; };\n /**\n * \n * @type {{ [key: string]: number; }}\n * @memberof SearchResultMessage\n */\n reaction_scores: { [key: string]: number; };\n /**\n * \n * @type {number}\n * @memberof SearchResultMessage\n */\n reply_count: number;\n /**\n * \n * @type {boolean}\n * @memberof SearchResultMessage\n */\n shadowed: boolean;\n /**\n * \n * @type {boolean}\n * @memberof SearchResultMessage\n */\n show_in_channel?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof SearchResultMessage\n */\n silent: boolean;\n /**\n * \n * @type {string}\n * @memberof SearchResultMessage\n */\n text: string;\n /**\n * \n * @type {Array<UserObject>}\n * @memberof SearchResultMessage\n */\n thread_participants?: Array<UserObject>;\n /**\n * \n * @type {string}\n * @memberof SearchResultMessage\n */\n type: string;\n /**\n * \n * @type {string}\n * @memberof SearchResultMessage\n */\n updated_at: string;\n /**\n * \n * @type {UserObject}\n * @memberof SearchResultMessage\n */\n user?: UserObject;\n}\n/**\n * \n * @export\n * @interface SearchWarning\n */\nexport interface SearchWarning {\n /**\n * Channel CIDs for the searched channels\n * @type {Array<string>}\n * @memberof SearchWarning\n */\n channel_search_cids?: Array<string>;\n /**\n * Number of channels searched\n * @type {number}\n * @memberof SearchWarning\n */\n channel_search_count?: number;\n /**\n * Code corresponding to the warning\n * @type {number}\n * @memberof SearchWarning\n */\n warning_code: number;\n /**\n * Description of the warning\n * @type {string}\n * @memberof SearchWarning\n */\n warning_description: string;\n}\n/**\n * \n * @export\n * @interface SendEventRequest\n */\nexport interface SendEventRequest {\n /**\n * \n * @type {EventRequest}\n * @memberof SendEventRequest\n */\n event: EventRequest;\n}\n/**\n * Contains all information needed to send new message\n * @export\n * @interface SendMessageRequest\n */\nexport interface SendMessageRequest {\n /**\n * Enable moderation on server-side requests\n * @type {boolean}\n * @memberof SendMessageRequest\n */\n force_moderation?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof SendMessageRequest\n */\n is_pending_message?: boolean;\n /**\n * Keeps the channel hidden for the sender\n * @type {boolean}\n * @memberof SendMessageRequest\n */\n keep_channel_hidden?: boolean;\n /**\n * \n * @type {MessageRequest}\n * @memberof SendMessageRequest\n */\n message: MessageRequest;\n /**\n * Make the message a pending message. This message will not be viewable to others until it is committed.\n * @type {boolean}\n * @memberof SendMessageRequest\n */\n pending?: boolean;\n /**\n * \n * @type {{ [key: string]: string; }}\n * @memberof SendMessageRequest\n */\n pending_message_metadata?: { [key: string]: string; };\n /**\n * Do not try to enrich the links within message\n * @type {boolean}\n * @memberof SendMessageRequest\n */\n skip_enrich_url?: boolean;\n /**\n * Disables all push notifications for this message\n * @type {boolean}\n * @memberof SendMessageRequest\n */\n skip_push?: boolean;\n}\n/**\n * \n * @export\n * @interface SendReactionRequest\n */\nexport interface SendReactionRequest {\n /**\n * \n * @type {string}\n * @memberof SendReactionRequest\n */\n ID?: string;\n /**\n * Whether to replace all existing user reactions\n * @type {boolean}\n * @memberof SendReactionRequest\n */\n enforce_unique?: boolean;\n /**\n * \n * @type {ReactionRequest}\n * @memberof SendReactionRequest\n */\n reaction: ReactionRequest | null;\n /**\n * Skips any mobile push notifications\n * @type {boolean}\n * @memberof SendReactionRequest\n */\n skip_push?: boolean;\n}\n/**\n * \n * @export\n * @interface SendUserCustomEventRequest\n */\nexport interface SendUserCustomEventRequest {\n /**\n * \n * @type {UserCustomEventRequest}\n * @memberof SendUserCustomEventRequest\n */\n event: UserCustomEventRequest;\n}\n/**\n * \n * @export\n * @interface ShowChannelRequest\n */\nexport interface ShowChannelRequest {\n /**\n * \n * @type {UserObjectRequest}\n * @memberof ShowChannelRequest\n */\n user?: UserObjectRequest;\n /**\n * \n * @type {string}\n * @memberof ShowChannelRequest\n */\n user_id?: string;\n}\n/**\n * \n * @export\n * @interface ShowChannelResponse\n */\nexport interface ShowChannelResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof ShowChannelResponse\n */\n duration: string;\n}\n/**\n * \n * @export\n * @interface SortParam\n */\nexport interface SortParam {\n /**\n * Direction of sorting, -1 for descending, 1 for ascending\n * @type {number}\n * @memberof SortParam\n */\n direction?: number;\n /**\n * Name of field to sort by\n * @type {string}\n * @memberof SortParam\n */\n field?: string;\n}\n/**\n * \n * @export\n * @interface SortParamRequest\n */\nexport interface SortParamRequest {\n /**\n * Direction of sorting, -1 for descending, 1 for ascending\n * @type {number}\n * @memberof SortParamRequest\n */\n direction?: number;\n /**\n * Name of field to sort by\n * @type {string}\n * @memberof SortParamRequest\n */\n field?: string;\n}\n/**\n * \n * @export\n * @interface StopWatchingResponse\n */\nexport interface StopWatchingResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof StopWatchingResponse\n */\n duration: string;\n}\n/**\n * \n * @export\n * @interface SyncRequest\n */\nexport interface SyncRequest {\n /**\n * List of channel CIDs to sync\n * @type {Array<string>}\n * @memberof SyncRequest\n */\n channel_cids?: Array<string>;\n /**\n * \n * @type {string}\n * @memberof SyncRequest\n */\n client_id?: string;\n /**\n * \n * @type {string}\n * @memberof SyncRequest\n */\n connection_id?: string;\n /**\n * Date from which synchronization should happen\n * @type {string}\n * @memberof SyncRequest\n */\n last_sync_at: string;\n /**\n * \n * @type {UserObjectRequest}\n * @memberof SyncRequest\n */\n user?: UserObjectRequest;\n /**\n * \n * @type {string}\n * @memberof SyncRequest\n */\n user_id?: string;\n /**\n * If set to true this will start watching requested and newly added channels that user has access to. If error occurred with this option enabled and it is not an input error - channels will still be watched.\n * @type {boolean}\n * @memberof SyncRequest\n */\n watch?: boolean;\n /**\n * If set to true this will add 'inaccessible_cids' to response type\n * @type {boolean}\n * @memberof SyncRequest\n */\n with_inaccessible_cids?: boolean;\n}\n/**\n * \n * @export\n * @interface SyncResponse\n */\nexport interface SyncResponse {\n /**\n * \n * @type {string}\n * @memberof SyncResponse\n */\n duration: string;\n /**\n * List of events\n * @type {Array<Event>}\n * @memberof SyncResponse\n */\n events: Array<Event>;\n /**\n * List of CIDs that user can't access\n * @type {Array<string>}\n * @memberof SyncResponse\n */\n inaccessible_cids?: Array<string>;\n}\n/**\n * \n * @export\n * @interface TargetResolution\n */\nexport interface TargetResolution {\n /**\n * \n * @type {number}\n * @memberof TargetResolution\n */\n bitrate: number;\n /**\n * \n * @type {number}\n * @memberof TargetResolution\n */\n height: number;\n /**\n * \n * @type {number}\n * @memberof TargetResolution\n */\n width: number;\n}\n/**\n * Sets thresholds for AI moderation\n * @export\n * @interface Thresholds\n */\nexport interface Thresholds {\n /**\n * \n * @type {LabelThresholds}\n * @memberof Thresholds\n */\n explicit?: LabelThresholds;\n /**\n * \n * @type {LabelThresholds}\n * @memberof Thresholds\n */\n spam?: LabelThresholds;\n /**\n * \n * @type {LabelThresholds}\n * @memberof Thresholds\n */\n toxic?: LabelThresholds;\n}\n/**\n * Sets thresholds for AI moderation\n * @export\n * @interface ThresholdsRequest\n */\nexport interface ThresholdsRequest {\n /**\n * \n * @type {LabelThresholdsRequest}\n * @memberof ThresholdsRequest\n */\n explicit?: LabelThresholdsRequest;\n /**\n * \n * @type {LabelThresholdsRequest}\n * @memberof ThresholdsRequest\n */\n spam?: LabelThresholdsRequest;\n /**\n * \n * @type {LabelThresholdsRequest}\n * @memberof ThresholdsRequest\n */\n toxic?: LabelThresholdsRequest;\n}\n/**\n * \n * @export\n * @interface ThumbnailsSettings\n */\nexport interface ThumbnailsSettings {\n /**\n * \n * @type {boolean}\n * @memberof ThumbnailsSettings\n */\n enabled: boolean;\n}\n/**\n * \n * @export\n * @interface TranscriptionSettings\n */\nexport interface TranscriptionSettings {\n /**\n * \n * @type {string}\n * @memberof TranscriptionSettings\n */\n closed_caption_mode: string;\n /**\n * \n * @type {string}\n * @memberof TranscriptionSettings\n */\n mode: TranscriptionSettingsModeEnum;\n}\n\n\n/**\n * @export\n */\nexport const TranscriptionSettingsModeEnum = {\n AVAILABLE: 'available',\n DISABLED: 'disabled',\n AUTO_ON: 'auto-on'\n} as const;\nexport type TranscriptionSettingsModeEnum = typeof TranscriptionSettingsModeEnum[keyof typeof TranscriptionSettingsModeEnum];\n\n/**\n * \n * @export\n * @interface TranslateMessageRequest\n */\nexport interface TranslateMessageRequest {\n /**\n * Language to translate message to\n * @type {string}\n * @memberof TranslateMessageRequest\n */\n language: TranslateMessageRequestLanguageEnum;\n}\n\n\n/**\n * @export\n */\nexport const TranslateMessageRequestLanguageEnum = {\n AF: 'af',\n SQ: 'sq',\n AM: 'am',\n AR: 'ar',\n AZ: 'az',\n BN: 'bn',\n BS: 'bs',\n BG: 'bg',\n ZH: 'zh',\n ZH_TW: 'zh-TW',\n HR: 'hr',\n CS: 'cs',\n DA: 'da',\n FA_AF: 'fa-AF',\n NL: 'nl',\n EN: 'en',\n ET: 'et',\n FI: 'fi',\n FR: 'fr',\n FR_CA: 'fr-CA',\n KA: 'ka',\n DE: 'de',\n EL: 'el',\n HA: 'ha',\n HE: 'he',\n HI: 'hi',\n HU: 'hu',\n ID: 'id',\n IT: 'it',\n JA: 'ja',\n KO: 'ko',\n LV: 'lv',\n MS: 'ms',\n NO: 'no',\n FA: 'fa',\n PS: 'ps',\n PL: 'pl',\n PT: 'pt',\n RO: 'ro',\n RU: 'ru',\n SR: 'sr',\n SK: 'sk',\n SL: 'sl',\n SO: 'so',\n ES: 'es',\n ES_MX: 'es-MX',\n SW: 'sw',\n SV: 'sv',\n TL: 'tl',\n TA: 'ta',\n TH: 'th',\n TR: 'tr',\n UK: 'uk',\n UR: 'ur',\n VI: 'vi'\n} as const;\nexport type TranslateMessageRequestLanguageEnum = typeof TranslateMessageRequestLanguageEnum[keyof typeof TranslateMessageRequestLanguageEnum];\n\n/**\n * \n * @export\n * @interface TruncateChannelRequest\n */\nexport interface TruncateChannelRequest {\n /**\n * Permanently delete channel data (messages, reactions, etc.)\n * @type {boolean}\n * @memberof TruncateChannelRequest\n */\n hard_delete?: boolean;\n /**\n * \n * @type {MessageRequest}\n * @memberof TruncateChannelRequest\n */\n message?: MessageRequest;\n /**\n * When `message` is set disables all push notifications for it\n * @type {boolean}\n * @memberof TruncateChannelRequest\n */\n skip_push?: boolean;\n /**\n * Truncate channel data up to `truncated_at`. The system message (if provided) creation time is always greater than `truncated_at`\n * @type {string}\n * @memberof TruncateChannelRequest\n */\n truncated_at?: string;\n /**\n * \n * @type {UserObjectRequest}\n * @memberof TruncateChannelRequest\n */\n user?: UserObjectRequest;\n /**\n * \n * @type {string}\n * @memberof TruncateChannelRequest\n */\n user_id?: string;\n}\n/**\n * \n * @export\n * @interface TruncateChannelResponse\n */\nexport interface TruncateChannelResponse {\n /**\n * \n * @type {ChannelResponse}\n * @memberof TruncateChannelResponse\n */\n channel?: ChannelResponse;\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof TruncateChannelResponse\n */\n duration: string;\n /**\n * \n * @type {Message}\n * @memberof TruncateChannelResponse\n */\n message?: Message | null;\n}\n/**\n * \n * @export\n * @interface TypingStartEvent\n */\nexport interface TypingStartEvent {\n /**\n * \n * @type {string}\n * @memberof TypingStartEvent\n */\n channel_id: string;\n /**\n * \n * @type {string}\n * @memberof TypingStartEvent\n */\n channel_type: string;\n /**\n * \n * @type {string}\n * @memberof TypingStartEvent\n */\n cid: string;\n /**\n * \n * @type {string}\n * @memberof TypingStartEvent\n */\n created_at: string;\n /**\n * \n * @type {string}\n * @memberof TypingStartEvent\n */\n parent_id?: string;\n /**\n * \n * @type {string}\n * @memberof TypingStartEvent\n */\n type: string;\n /**\n * \n * @type {UserObject}\n * @memberof TypingStartEvent\n */\n user?: UserObject;\n}\n/**\n * \n * @export\n * @interface TypingStopEvent\n */\nexport interface TypingStopEvent {\n /**\n * \n * @type {string}\n * @memberof TypingStopEvent\n */\n channel_id: string;\n /**\n * \n * @type {string}\n * @memberof TypingStopEvent\n */\n channel_type: string;\n /**\n * \n * @type {string}\n * @memberof TypingStopEvent\n */\n cid: string;\n /**\n * \n * @type {string}\n * @memberof TypingStopEvent\n */\n created_at: string;\n /**\n * \n * @type {string}\n * @memberof TypingStopEvent\n */\n parent_id?: string;\n /**\n * \n * @type {string}\n * @memberof TypingStopEvent\n */\n type: string;\n /**\n * \n * @type {UserObject}\n * @memberof TypingStopEvent\n */\n user?: UserObject;\n}\n/**\n * \n * @export\n * @interface UnmuteChannelRequest\n */\nexport interface UnmuteChannelRequest {\n /**\n * \n * @type {string}\n * @memberof UnmuteChannelRequest\n */\n channel_cid: string;\n /**\n * \n * @type {Array<string>}\n * @memberof UnmuteChannelRequest\n */\n channel_cids: Array<string>;\n /**\n * \n * @type {number}\n * @memberof UnmuteChannelRequest\n */\n expiration?: number;\n /**\n * \n * @type {UserObjectRequest}\n * @memberof UnmuteChannelRequest\n */\n user?: UserObjectRequest;\n /**\n * \n * @type {string}\n * @memberof UnmuteChannelRequest\n */\n user_id?: string;\n}\n/**\n * \n * @export\n * @interface UnmuteResponse\n */\nexport interface UnmuteResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof UnmuteResponse\n */\n duration: string;\n}\n/**\n * \n * @export\n * @interface UnmuteUserRequest\n */\nexport interface UnmuteUserRequest {\n /**\n * \n * @type {string}\n * @memberof UnmuteUserRequest\n */\n target_id: string;\n /**\n * \n * @type {Array<string>}\n * @memberof UnmuteUserRequest\n */\n target_ids: Array<string>;\n /**\n * \n * @type {number}\n * @memberof UnmuteUserRequest\n */\n timeout?: number;\n /**\n * \n * @type {UserObjectRequest}\n * @memberof UnmuteUserRequest\n */\n user?: UserObjectRequest;\n /**\n * \n * @type {string}\n * @memberof UnmuteUserRequest\n */\n user_id?: string;\n}\n/**\n * \n * @export\n * @interface UpdateAppRequest\n */\nexport interface UpdateAppRequest {\n /**\n * \n * @type {ConfigRequest}\n * @memberof UpdateAppRequest\n */\n agora_options?: ConfigRequest;\n /**\n * \n * @type {APNConfigRequest}\n * @memberof UpdateAppRequest\n */\n apn_config?: APNConfigRequest;\n /**\n * \n * @type {AsyncModerationConfigurationRequest}\n * @memberof UpdateAppRequest\n */\n async_moderation_config?: AsyncModerationConfigurationRequest;\n /**\n * \n * @type {boolean}\n * @memberof UpdateAppRequest\n */\n async_url_enrich_enabled?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof UpdateAppRequest\n */\n auto_translation_enabled?: boolean;\n /**\n * \n * @type {string}\n * @memberof UpdateAppRequest\n */\n before_message_send_hook_url?: string;\n /**\n * \n * @type {number}\n * @memberof UpdateAppRequest\n */\n cdn_expiration_seconds?: number;\n /**\n * \n * @type {boolean}\n * @memberof UpdateAppRequest\n */\n channel_hide_members_only?: boolean;\n /**\n * \n * @type {string}\n * @memberof UpdateAppRequest\n */\n custom_action_handler_url?: string;\n /**\n * \n * @type {boolean}\n * @memberof UpdateAppRequest\n */\n disable_auth_checks?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof UpdateAppRequest\n */\n disable_permissions_checks?: boolean;\n /**\n * \n * @type {string}\n * @memberof UpdateAppRequest\n */\n enforce_unique_usernames?: UpdateAppRequestEnforceUniqueUsernamesEnum;\n /**\n * \n * @type {FileUploadConfigRequest}\n * @memberof UpdateAppRequest\n */\n file_upload_config?: FileUploadConfigRequest;\n /**\n * \n * @type {FirebaseConfigRequest}\n * @memberof UpdateAppRequest\n */\n firebase_config?: FirebaseConfigRequest;\n /**\n * \n * @type {{ [key: string]: Array<string>; }}\n * @memberof UpdateAppRequest\n */\n grants?: { [key: string]: Array<string>; };\n /**\n * \n * @type {ConfigRequest}\n * @memberof UpdateAppRequest\n */\n hms_options?: ConfigRequest;\n /**\n * \n * @type {HuaweiConfigRequest}\n * @memberof UpdateAppRequest\n */\n huawei_config?: HuaweiConfigRequest;\n /**\n * \n * @type {Array<string>}\n * @memberof UpdateAppRequest\n */\n image_moderation_block_labels?: Array<string>;\n /**\n * \n * @type {boolean}\n * @memberof UpdateAppRequest\n */\n image_moderation_enabled?: boolean;\n /**\n * \n * @type {Array<string>}\n * @memberof UpdateAppRequest\n */\n image_moderation_labels?: Array<string>;\n /**\n * \n * @type {FileUploadConfigRequest}\n * @memberof UpdateAppRequest\n */\n image_upload_config?: FileUploadConfigRequest;\n /**\n * \n * @type {boolean}\n * @memberof UpdateAppRequest\n */\n migrate_permissions_to_v2?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof UpdateAppRequest\n */\n multi_tenant_enabled?: boolean;\n /**\n * \n * @type {string}\n * @memberof UpdateAppRequest\n */\n permission_version?: UpdateAppRequestPermissionVersionEnum;\n /**\n * \n * @type {PushConfigRequest}\n * @memberof UpdateAppRequest\n */\n push_config?: PushConfigRequest;\n /**\n * \n * @type {number}\n * @memberof UpdateAppRequest\n */\n reminders_interval?: number;\n /**\n * \n * @type {string}\n * @memberof UpdateAppRequest\n */\n revoke_tokens_issued_before?: string;\n /**\n * \n * @type {string}\n * @memberof UpdateAppRequest\n */\n sns_key?: string;\n /**\n * \n * @type {string}\n * @memberof UpdateAppRequest\n */\n sns_secret?: string;\n /**\n * \n * @type {string}\n * @memberof UpdateAppRequest\n */\n sns_topic_arn?: string;\n /**\n * \n * @type {string}\n * @memberof UpdateAppRequest\n */\n sqs_key?: string;\n /**\n * \n * @type {string}\n * @memberof UpdateAppRequest\n */\n sqs_secret?: string;\n /**\n * \n * @type {string}\n * @memberof UpdateAppRequest\n */\n sqs_url?: string;\n /**\n * \n * @type {Array<string>}\n * @memberof UpdateAppRequest\n */\n user_search_disallowed_roles?: Array<string>;\n /**\n * \n * @type {string}\n * @memberof UpdateAppRequest\n */\n video_provider?: UpdateAppRequestVideoProviderEnum;\n /**\n * \n * @type {Array<string>}\n * @memberof UpdateAppRequest\n */\n webhook_events?: Array<string>;\n /**\n * \n * @type {string}\n * @memberof UpdateAppRequest\n */\n webhook_url?: string;\n /**\n * \n * @type {XiaomiConfigRequest}\n * @memberof UpdateAppRequest\n */\n xiaomi_config?: XiaomiConfigRequest;\n}\n\n\n/**\n * @export\n */\nexport const UpdateAppRequestEnforceUniqueUsernamesEnum = {\n NO: 'no',\n APP: 'app',\n TEAM: 'team'\n} as const;\nexport type UpdateAppRequestEnforceUniqueUsernamesEnum = typeof UpdateAppRequestEnforceUniqueUsernamesEnum[keyof typeof UpdateAppRequestEnforceUniqueUsernamesEnum];\n\n/**\n * @export\n */\nexport const UpdateAppRequestPermissionVersionEnum = {\n V1: 'v1',\n V2: 'v2'\n} as const;\nexport type UpdateAppRequestPermissionVersionEnum = typeof UpdateAppRequestPermissionVersionEnum[keyof typeof UpdateAppRequestPermissionVersionEnum];\n\n/**\n * @export\n */\nexport const UpdateAppRequestVideoProviderEnum = {\n AGORA: 'agora',\n HMS: 'hms'\n} as const;\nexport type UpdateAppRequestVideoProviderEnum = typeof UpdateAppRequestVideoProviderEnum[keyof typeof UpdateAppRequestVideoProviderEnum];\n\n/**\n * \n * @export\n * @interface UpdateBlockListRequest\n */\nexport interface UpdateBlockListRequest {\n /**\n * \n * @type {string}\n * @memberof UpdateBlockListRequest\n */\n Name?: string;\n /**\n * \n * @type {Array<string>}\n * @memberof UpdateBlockListRequest\n */\n words?: Array<string>;\n}\n/**\n * \n * @export\n * @interface UpdateChannelPartialRequest\n */\nexport interface UpdateChannelPartialRequest {\n /**\n * \n * @type {{ [key: string]: any; }}\n * @memberof UpdateChannelPartialRequest\n */\n set: { [key: string]: any; };\n /**\n * \n * @type {Array<string>}\n * @memberof UpdateChannelPartialRequest\n */\n unset: Array<string>;\n /**\n * \n * @type {UserObjectRequest}\n * @memberof UpdateChannelPartialRequest\n */\n user?: UserObjectRequest;\n /**\n * \n * @type {string}\n * @memberof UpdateChannelPartialRequest\n */\n user_id?: string;\n}\n/**\n * \n * @export\n * @interface UpdateChannelPartialResponse\n */\nexport interface UpdateChannelPartialResponse {\n /**\n * \n * @type {ChannelResponse}\n * @memberof UpdateChannelPartialResponse\n */\n channel?: ChannelResponse;\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof UpdateChannelPartialResponse\n */\n duration: string;\n /**\n * \n * @type {Array<ChannelMember>}\n * @memberof UpdateChannelPartialResponse\n */\n members: Array<ChannelMember>;\n}\n/**\n * \n * @export\n * @interface UpdateChannelRequest\n */\nexport interface UpdateChannelRequest {\n /**\n * Set to `true` to accept the invite\n * @type {boolean}\n * @memberof UpdateChannelRequest\n */\n accept_invite?: boolean;\n /**\n * List of user IDs to add to the channel\n * @type {Array<ChannelMemberRequest>}\n * @memberof UpdateChannelRequest\n */\n add_members?: Array<ChannelMemberRequest>;\n /**\n * List of user IDs to make channel moderators\n * @type {Array<string>}\n * @memberof UpdateChannelRequest\n */\n add_moderators: Array<string>;\n /**\n * List of channel member role assignments. If any specified user is not part of the channel, the request will fail\n * @type {Array<ChannelMemberRequest>}\n * @memberof UpdateChannelRequest\n */\n assign_roles?: Array<ChannelMemberRequest>;\n /**\n * Sets cool down period for the channel in seconds\n * @type {number}\n * @memberof UpdateChannelRequest\n */\n cooldown?: number;\n /**\n * \n * @type {ChannelRequest}\n * @memberof UpdateChannelRequest\n */\n data?: ChannelRequest;\n /**\n * List of user IDs to take away moderators status from\n * @type {Array<string>}\n * @memberof UpdateChannelRequest\n */\n demote_moderators: Array<string>;\n /**\n * Set to `true` to hide channel's history when adding new members\n * @type {boolean}\n * @memberof UpdateChannelRequest\n */\n hide_history?: boolean;\n /**\n * List of user IDs to invite to the channel\n * @type {Array<ChannelMemberRequest>}\n * @memberof UpdateChannelRequest\n */\n invites?: Array<ChannelMemberRequest>;\n /**\n * \n * @type {MessageRequest}\n * @memberof UpdateChannelRequest\n */\n message?: MessageRequest;\n /**\n * Set to `true` to reject the invite\n * @type {boolean}\n * @memberof UpdateChannelRequest\n */\n reject_invite?: boolean;\n /**\n * List of user IDs to remove from the channel\n * @type {Array<string>}\n * @memberof UpdateChannelRequest\n */\n remove_members: Array<string>;\n /**\n * When `message` is set disables all push notifications for it\n * @type {boolean}\n * @memberof UpdateChannelRequest\n */\n skip_push?: boolean;\n /**\n * \n * @type {UserObjectRequest}\n * @memberof UpdateChannelRequest\n */\n user?: UserObjectRequest;\n /**\n * \n * @type {string}\n * @memberof UpdateChannelRequest\n */\n user_id?: string;\n}\n/**\n * \n * @export\n * @interface UpdateChannelResponse\n */\nexport interface UpdateChannelResponse {\n /**\n * \n * @type {ChannelResponse}\n * @memberof UpdateChannelResponse\n */\n channel?: ChannelResponse;\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof UpdateChannelResponse\n */\n duration: string;\n /**\n * \n * @type {Array<ChannelMember>}\n * @memberof UpdateChannelResponse\n */\n members: Array<ChannelMember>;\n /**\n * \n * @type {Message}\n * @memberof UpdateChannelResponse\n */\n message?: Message | null;\n}\n/**\n * \n * @export\n * @interface UpdateChannelTypeRequest\n */\nexport interface UpdateChannelTypeRequest {\n /**\n * \n * @type {string}\n * @memberof UpdateChannelTypeRequest\n */\n NameFromPath?: string;\n /**\n * \n * @type {string}\n * @memberof UpdateChannelTypeRequest\n */\n automod: UpdateChannelTypeRequestAutomodEnum;\n /**\n * \n * @type {string}\n * @memberof UpdateChannelTypeRequest\n */\n automod_behavior?: UpdateChannelTypeRequestAutomodBehaviorEnum;\n /**\n * \n * @type {ThresholdsRequest}\n * @memberof UpdateChannelTypeRequest\n */\n automod_thresholds?: ThresholdsRequest;\n /**\n * \n * @type {string}\n * @memberof UpdateChannelTypeRequest\n */\n blocklist?: string;\n /**\n * \n * @type {string}\n * @memberof UpdateChannelTypeRequest\n */\n blocklist_behavior?: UpdateChannelTypeRequestBlocklistBehaviorEnum;\n /**\n * \n * @type {Array<BlockListOptionsRequest>}\n * @memberof UpdateChannelTypeRequest\n */\n blocklists?: Array<BlockListOptionsRequest>;\n /**\n * List of commands that channel supports\n * @type {Array<string>}\n * @memberof UpdateChannelTypeRequest\n */\n commands?: Array<string>;\n /**\n * \n * @type {boolean}\n * @memberof UpdateChannelTypeRequest\n */\n connect_events?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof UpdateChannelTypeRequest\n */\n custom_events?: boolean;\n /**\n * \n * @type {{ [key: string]: Array<string>; }}\n * @memberof UpdateChannelTypeRequest\n */\n grants?: { [key: string]: Array<string>; };\n /**\n * \n * @type {boolean}\n * @memberof UpdateChannelTypeRequest\n */\n mark_messages_pending?: boolean;\n /**\n * \n * @type {number}\n * @memberof UpdateChannelTypeRequest\n */\n max_message_length?: number;\n /**\n * \n * @type {string}\n * @memberof UpdateChannelTypeRequest\n */\n message_retention?: string;\n /**\n * \n * @type {boolean}\n * @memberof UpdateChannelTypeRequest\n */\n mutes?: boolean;\n /**\n * \n * @type {Array<PolicyRequest>}\n * @memberof UpdateChannelTypeRequest\n */\n permissions?: Array<PolicyRequest>;\n /**\n * \n * @type {boolean}\n * @memberof UpdateChannelTypeRequest\n */\n push_notifications?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof UpdateChannelTypeRequest\n */\n quotes?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof UpdateChannelTypeRequest\n */\n reactions?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof UpdateChannelTypeRequest\n */\n read_events?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof UpdateChannelTypeRequest\n */\n reminders?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof UpdateChannelTypeRequest\n */\n replies?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof UpdateChannelTypeRequest\n */\n search?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof UpdateChannelTypeRequest\n */\n typing_events?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof UpdateChannelTypeRequest\n */\n uploads?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof UpdateChannelTypeRequest\n */\n url_enrichment?: boolean;\n}\n\n\n/**\n * @export\n */\nexport const UpdateChannelTypeRequestAutomodEnum = {\n DISABLED: 'disabled',\n SIMPLE: 'simple',\n AI: 'AI'\n} as const;\nexport type UpdateChannelTypeRequestAutomodEnum = typeof UpdateChannelTypeRequestAutomodEnum[keyof typeof UpdateChannelTypeRequestAutomodEnum];\n\n/**\n * @export\n */\nexport const UpdateChannelTypeRequestAutomodBehaviorEnum = {\n FLAG: 'flag',\n BLOCK: 'block'\n} as const;\nexport type UpdateChannelTypeRequestAutomodBehaviorEnum = typeof UpdateChannelTypeRequestAutomodBehaviorEnum[keyof typeof UpdateChannelTypeRequestAutomodBehaviorEnum];\n\n/**\n * @export\n */\nexport const UpdateChannelTypeRequestBlocklistBehaviorEnum = {\n FLAG: 'flag',\n BLOCK: 'block'\n} as const;\nexport type UpdateChannelTypeRequestBlocklistBehaviorEnum = typeof UpdateChannelTypeRequestBlocklistBehaviorEnum[keyof typeof UpdateChannelTypeRequestBlocklistBehaviorEnum];\n\n/**\n * \n * @export\n * @interface UpdateChannelTypeResponse\n */\nexport interface UpdateChannelTypeResponse {\n /**\n * \n * @type {string}\n * @memberof UpdateChannelTypeResponse\n */\n automod: UpdateChannelTypeResponseAutomodEnum;\n /**\n * \n * @type {string}\n * @memberof UpdateChannelTypeResponse\n */\n automod_behavior: UpdateChannelTypeResponseAutomodBehaviorEnum;\n /**\n * \n * @type {Thresholds}\n * @memberof UpdateChannelTypeResponse\n */\n automod_thresholds?: Thresholds;\n /**\n * \n * @type {string}\n * @memberof UpdateChannelTypeResponse\n */\n blocklist?: string;\n /**\n * \n * @type {string}\n * @memberof UpdateChannelTypeResponse\n */\n blocklist_behavior?: UpdateChannelTypeResponseBlocklistBehaviorEnum;\n /**\n * \n * @type {Array<BlockListOptions>}\n * @memberof UpdateChannelTypeResponse\n */\n blocklists?: Array<BlockListOptions>;\n /**\n * \n * @type {Array<string>}\n * @memberof UpdateChannelTypeResponse\n */\n commands: Array<string>;\n /**\n * \n * @type {boolean}\n * @memberof UpdateChannelTypeResponse\n */\n connect_events: boolean;\n /**\n * \n * @type {string}\n * @memberof UpdateChannelTypeResponse\n */\n created_at: string;\n /**\n * \n * @type {boolean}\n * @memberof UpdateChannelTypeResponse\n */\n custom_events: boolean;\n /**\n * \n * @type {string}\n * @memberof UpdateChannelTypeResponse\n */\n duration: string;\n /**\n * \n * @type {{ [key: string]: Array<string>; }}\n * @memberof UpdateChannelTypeResponse\n */\n grants: { [key: string]: Array<string>; };\n /**\n * \n * @type {boolean}\n * @memberof UpdateChannelTypeResponse\n */\n mark_messages_pending: boolean;\n /**\n * \n * @type {number}\n * @memberof UpdateChannelTypeResponse\n */\n max_message_length: number;\n /**\n * \n * @type {string}\n * @memberof UpdateChannelTypeResponse\n */\n message_retention: string;\n /**\n * \n * @type {boolean}\n * @memberof UpdateChannelTypeResponse\n */\n mutes: boolean;\n /**\n * \n * @type {string}\n * @memberof UpdateChannelTypeResponse\n */\n name: string;\n /**\n * \n * @type {Array<PolicyRequest1>}\n * @memberof UpdateChannelTypeResponse\n */\n permissions: Array<PolicyRequest1>;\n /**\n * \n * @type {boolean}\n * @memberof UpdateChannelTypeResponse\n */\n push_notifications: boolean;\n /**\n * \n * @type {boolean}\n * @memberof UpdateChannelTypeResponse\n */\n quotes: boolean;\n /**\n * \n * @type {boolean}\n * @memberof UpdateChannelTypeResponse\n */\n reactions: boolean;\n /**\n * \n * @type {boolean}\n * @memberof UpdateChannelTypeResponse\n */\n read_events: boolean;\n /**\n * \n * @type {boolean}\n * @memberof UpdateChannelTypeResponse\n */\n reminders: boolean;\n /**\n * \n * @type {boolean}\n * @memberof UpdateChannelTypeResponse\n */\n replies: boolean;\n /**\n * \n * @type {boolean}\n * @memberof UpdateChannelTypeResponse\n */\n search: boolean;\n /**\n * \n * @type {boolean}\n * @memberof UpdateChannelTypeResponse\n */\n typing_events: boolean;\n /**\n * \n * @type {string}\n * @memberof UpdateChannelTypeResponse\n */\n updated_at: string;\n /**\n * \n * @type {boolean}\n * @memberof UpdateChannelTypeResponse\n */\n uploads: boolean;\n /**\n * \n * @type {boolean}\n * @memberof UpdateChannelTypeResponse\n */\n url_enrichment: boolean;\n}\n\n\n/**\n * @export\n */\nexport const UpdateChannelTypeResponseAutomodEnum = {\n DISABLED: 'disabled',\n SIMPLE: 'simple',\n AI: 'AI'\n} as const;\nexport type UpdateChannelTypeResponseAutomodEnum = typeof UpdateChannelTypeResponseAutomodEnum[keyof typeof UpdateChannelTypeResponseAutomodEnum];\n\n/**\n * @export\n */\nexport const UpdateChannelTypeResponseAutomodBehaviorEnum = {\n FLAG: 'flag',\n BLOCK: 'block'\n} as const;\nexport type UpdateChannelTypeResponseAutomodBehaviorEnum = typeof UpdateChannelTypeResponseAutomodBehaviorEnum[keyof typeof UpdateChannelTypeResponseAutomodBehaviorEnum];\n\n/**\n * @export\n */\nexport const UpdateChannelTypeResponseBlocklistBehaviorEnum = {\n FLAG: 'flag',\n BLOCK: 'block'\n} as const;\nexport type UpdateChannelTypeResponseBlocklistBehaviorEnum = typeof UpdateChannelTypeResponseBlocklistBehaviorEnum[keyof typeof UpdateChannelTypeResponseBlocklistBehaviorEnum];\n\n/**\n * Represents custom chat command\n * @export\n * @interface UpdateCommandRequest\n */\nexport interface UpdateCommandRequest {\n /**\n * \n * @type {string}\n * @memberof UpdateCommandRequest\n */\n Name?: string;\n /**\n * Arguments help text, shown in commands auto-completion\n * @type {string}\n * @memberof UpdateCommandRequest\n */\n args?: string;\n /**\n * Description, shown in commands auto-completion\n * @type {string}\n * @memberof UpdateCommandRequest\n */\n description: string;\n /**\n * Set name used for grouping commands\n * @type {string}\n * @memberof UpdateCommandRequest\n */\n set?: string;\n}\n/**\n * \n * @export\n * @interface UpdateCommandResponse\n */\nexport interface UpdateCommandResponse {\n /**\n * \n * @type {Command}\n * @memberof UpdateCommandResponse\n */\n command?: Command | null;\n /**\n * \n * @type {string}\n * @memberof UpdateCommandResponse\n */\n duration: string;\n}\n/**\n * \n * @export\n * @interface UpdateMessagePartialRequest\n */\nexport interface UpdateMessagePartialRequest {\n /**\n * Sets new field values\n * @type {{ [key: string]: any; }}\n * @memberof UpdateMessagePartialRequest\n */\n set: { [key: string]: any; };\n /**\n * Do not try to enrich the links within message\n * @type {boolean}\n * @memberof UpdateMessagePartialRequest\n */\n skip_enrich_url?: boolean;\n /**\n * Array of field names to unset\n * @type {Array<string>}\n * @memberof UpdateMessagePartialRequest\n */\n unset: Array<string>;\n /**\n * \n * @type {UserObjectRequest}\n * @memberof UpdateMessagePartialRequest\n */\n user?: UserObjectRequest;\n /**\n * \n * @type {string}\n * @memberof UpdateMessagePartialRequest\n */\n user_id?: string;\n}\n/**\n * Contains all information needed to update a message\n * @export\n * @interface UpdateMessageRequest\n */\nexport interface UpdateMessageRequest {\n /**\n * \n * @type {MessageRequest}\n * @memberof UpdateMessageRequest\n */\n message: MessageRequest;\n /**\n * \n * @type {{ [key: string]: string; }}\n * @memberof UpdateMessageRequest\n */\n pending_message_metadata?: { [key: string]: string; };\n /**\n * Do not try to enrich the links within message\n * @type {boolean}\n * @memberof UpdateMessageRequest\n */\n skip_enrich_url?: boolean;\n}\n/**\n * \n * @export\n * @interface UpdateUserPartialRequest\n */\nexport interface UpdateUserPartialRequest {\n /**\n * User ID to update\n * @type {string}\n * @memberof UpdateUserPartialRequest\n */\n id: string;\n /**\n * \n * @type {{ [key: string]: any; }}\n * @memberof UpdateUserPartialRequest\n */\n set: { [key: string]: any; };\n /**\n * \n * @type {Array<string>}\n * @memberof UpdateUserPartialRequest\n */\n unset: Array<string>;\n}\n/**\n * \n * @export\n * @interface UpdateUsersRequest\n */\nexport interface UpdateUsersRequest {\n /**\n * Object containing users\n * @type {{ [key: string]: UserObjectRequest; }}\n * @memberof UpdateUsersRequest\n */\n users: { [key: string]: UserObjectRequest; };\n}\n/**\n * \n * @export\n * @interface UpdateUsersResponse\n */\nexport interface UpdateUsersResponse {\n /**\n * \n * @type {string}\n * @memberof UpdateUsersResponse\n */\n duration: string;\n /**\n * Object containing users\n * @type {{ [key: string]: UserObject; }}\n * @memberof UpdateUsersResponse\n */\n users: { [key: string]: UserObject; };\n}\n/**\n * \n * @export\n * @interface UpsertPushProviderRequest\n */\nexport interface UpsertPushProviderRequest {\n /**\n * \n * @type {PushProviderRequest}\n * @memberof UpsertPushProviderRequest\n */\n push_provider?: PushProviderRequest;\n}\n/**\n * \n * @export\n * @interface UpsertPushProviderResponse\n */\nexport interface UpsertPushProviderResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof UpsertPushProviderResponse\n */\n duration: string;\n /**\n * \n * @type {PushProviderResponse}\n * @memberof UpsertPushProviderResponse\n */\n push_provider: PushProviderResponse;\n}\n/**\n * \n * @export\n * @interface UserBannedEvent\n */\nexport interface UserBannedEvent {\n /**\n * \n * @type {string}\n * @memberof UserBannedEvent\n */\n channel_id: string;\n /**\n * \n * @type {string}\n * @memberof UserBannedEvent\n */\n channel_type: string;\n /**\n * \n * @type {string}\n * @memberof UserBannedEvent\n */\n cid: string;\n /**\n * \n * @type {string}\n * @memberof UserBannedEvent\n */\n created_at: string;\n /**\n * \n * @type {UserObject}\n * @memberof UserBannedEvent\n */\n created_by: UserObject;\n /**\n * \n * @type {string}\n * @memberof UserBannedEvent\n */\n expiration?: string;\n /**\n * \n * @type {string}\n * @memberof UserBannedEvent\n */\n reason?: string;\n /**\n * \n * @type {boolean}\n * @memberof UserBannedEvent\n */\n shadow: boolean;\n /**\n * \n * @type {string}\n * @memberof UserBannedEvent\n */\n team?: string;\n /**\n * \n * @type {string}\n * @memberof UserBannedEvent\n */\n type: string;\n /**\n * \n * @type {UserObject}\n * @memberof UserBannedEvent\n */\n user?: UserObject;\n}\n/**\n * \n * @export\n * @interface UserCustomEventRequest\n */\nexport interface UserCustomEventRequest {\n [key: string]: any | any;\n /**\n * \n * @type {string}\n * @memberof UserCustomEventRequest\n */\n created_at?: string;\n /**\n * \n * @type {string}\n * @memberof UserCustomEventRequest\n */\n type: string;\n}\n/**\n * \n * @export\n * @interface UserDeactivatedEvent\n */\nexport interface UserDeactivatedEvent {\n /**\n * \n * @type {string}\n * @memberof UserDeactivatedEvent\n */\n created_at: string;\n /**\n * \n * @type {UserObject}\n * @memberof UserDeactivatedEvent\n */\n created_by: UserObject;\n /**\n * \n * @type {string}\n * @memberof UserDeactivatedEvent\n */\n type: string;\n /**\n * \n * @type {UserObject}\n * @memberof UserDeactivatedEvent\n */\n user?: UserObject;\n}\n/**\n * \n * @export\n * @interface UserDeletedEvent\n */\nexport interface UserDeletedEvent {\n /**\n * \n * @type {string}\n * @memberof UserDeletedEvent\n */\n created_at: string;\n /**\n * \n * @type {boolean}\n * @memberof UserDeletedEvent\n */\n delete_conversation_channels: boolean;\n /**\n * \n * @type {boolean}\n * @memberof UserDeletedEvent\n */\n hard_delete: boolean;\n /**\n * \n * @type {boolean}\n * @memberof UserDeletedEvent\n */\n mark_messages_deleted: boolean;\n /**\n * \n * @type {string}\n * @memberof UserDeletedEvent\n */\n type: string;\n /**\n * \n * @type {UserObject}\n * @memberof UserDeletedEvent\n */\n user?: UserObject;\n}\n/**\n * \n * @export\n * @interface UserFlaggedEvent\n */\nexport interface UserFlaggedEvent {\n /**\n * \n * @type {string}\n * @memberof UserFlaggedEvent\n */\n created_at: string;\n /**\n * \n * @type {string}\n * @memberof UserFlaggedEvent\n */\n target_user?: string;\n /**\n * \n * @type {Array<string>}\n * @memberof UserFlaggedEvent\n */\n target_users?: Array<string>;\n /**\n * \n * @type {string}\n * @memberof UserFlaggedEvent\n */\n type: string;\n /**\n * \n * @type {UserObject}\n * @memberof UserFlaggedEvent\n */\n user?: UserObject;\n}\n/**\n * \n * @export\n * @interface UserMute\n */\nexport interface UserMute {\n /**\n * Date/time of creation\n * @type {string}\n * @memberof UserMute\n */\n created_at: string;\n /**\n * Date/time of mute expiration\n * @type {string}\n * @memberof UserMute\n */\n expires?: string;\n /**\n * \n * @type {UserObject}\n * @memberof UserMute\n */\n target?: UserObject;\n /**\n * Date/time of the last update\n * @type {string}\n * @memberof UserMute\n */\n updated_at: string;\n /**\n * \n * @type {UserObject}\n * @memberof UserMute\n */\n user?: UserObject;\n}\n/**\n * \n * @export\n * @interface UserMuteRequest\n */\nexport interface UserMuteRequest {\n /**\n * Date/time of creation\n * @type {string}\n * @memberof UserMuteRequest\n */\n created_at?: string;\n /**\n * Date/time of mute expiration\n * @type {string}\n * @memberof UserMuteRequest\n */\n expires?: string;\n /**\n * \n * @type {UserObjectRequest}\n * @memberof UserMuteRequest\n */\n target?: UserObjectRequest;\n /**\n * Date/time of the last update\n * @type {string}\n * @memberof UserMuteRequest\n */\n updated_at?: string;\n /**\n * \n * @type {UserObjectRequest}\n * @memberof UserMuteRequest\n */\n user?: UserObjectRequest;\n}\n/**\n * \n * @export\n * @interface UserMutedEvent\n */\nexport interface UserMutedEvent {\n /**\n * \n * @type {string}\n * @memberof UserMutedEvent\n */\n created_at: string;\n /**\n * \n * @type {string}\n * @memberof UserMutedEvent\n */\n target_user?: string;\n /**\n * \n * @type {Array<string>}\n * @memberof UserMutedEvent\n */\n target_users?: Array<string>;\n /**\n * \n * @type {string}\n * @memberof UserMutedEvent\n */\n type: string;\n /**\n * \n * @type {UserObject}\n * @memberof UserMutedEvent\n */\n user?: UserObject;\n}\n/**\n * Represents chat user\n * @export\n * @interface UserObject\n */\nexport interface UserObject {\n [key: string]: any | any;\n /**\n * Expiration date of the ban\n * @type {string}\n * @memberof UserObject\n */\n ban_expires?: string;\n /**\n * Whether a user is banned or not\n * @type {boolean}\n * @memberof UserObject\n */\n banned: boolean;\n /**\n * Date/time of creation\n * @type {string}\n * @memberof UserObject\n */\n readonly created_at?: string;\n /**\n * Date of deactivation\n * @type {string}\n * @memberof UserObject\n */\n readonly deactivated_at?: string;\n /**\n * Date/time of deletion\n * @type {string}\n * @memberof UserObject\n */\n readonly deleted_at?: string;\n /**\n * Unique user identifier\n * @type {string}\n * @memberof UserObject\n */\n id: string;\n /**\n * \n * @type {boolean}\n * @memberof UserObject\n */\n invisible?: boolean;\n /**\n * Preferred language of a user\n * @type {string}\n * @memberof UserObject\n */\n language?: string;\n /**\n * Date of last activity\n * @type {string}\n * @memberof UserObject\n */\n readonly last_active?: string;\n /**\n * Whether a user online or not\n * @type {boolean}\n * @memberof UserObject\n */\n readonly online: boolean;\n /**\n * \n * @type {PushNotificationSettings}\n * @memberof UserObject\n */\n push_notifications?: PushNotificationSettings;\n /**\n * Revocation date for tokens\n * @type {string}\n * @memberof UserObject\n */\n revoke_tokens_issued_before?: string;\n /**\n * Determines the set of user permissions\n * @type {string}\n * @memberof UserObject\n */\n role: string;\n /**\n * List of teams user is a part of\n * @type {Array<string>}\n * @memberof UserObject\n */\n teams?: Array<string>;\n /**\n * Date/time of the last update\n * @type {string}\n * @memberof UserObject\n */\n readonly updated_at?: string;\n}\n/**\n * Represents chat user\n * @export\n * @interface UserObjectRequest\n */\nexport interface UserObjectRequest {\n [key: string]: any | any;\n /**\n * Expiration date of the ban\n * @type {string}\n * @memberof UserObjectRequest\n */\n ban_expires?: string;\n /**\n * Whether a user is banned or not\n * @type {boolean}\n * @memberof UserObjectRequest\n */\n banned?: boolean;\n /**\n * Unique user identifier\n * @type {string}\n * @memberof UserObjectRequest\n */\n id: string;\n /**\n * \n * @type {boolean}\n * @memberof UserObjectRequest\n */\n invisible?: boolean;\n /**\n * Preferred language of a user\n * @type {string}\n * @memberof UserObjectRequest\n */\n language?: string;\n /**\n * \n * @type {PushNotificationSettingsRequest}\n * @memberof UserObjectRequest\n */\n push_notifications?: PushNotificationSettingsRequest;\n /**\n * Revocation date for tokens\n * @type {string}\n * @memberof UserObjectRequest\n */\n revoke_tokens_issued_before?: string;\n /**\n * Determines the set of user permissions\n * @type {string}\n * @memberof UserObjectRequest\n */\n role?: string;\n /**\n * List of teams user is a part of\n * @type {Array<string>}\n * @memberof UserObjectRequest\n */\n teams?: Array<string>;\n}\n/**\n * \n * @export\n * @interface UserPresenceChangedEvent\n */\nexport interface UserPresenceChangedEvent {\n /**\n * \n * @type {string}\n * @memberof UserPresenceChangedEvent\n */\n created_at: string;\n /**\n * \n * @type {string}\n * @memberof UserPresenceChangedEvent\n */\n type: string;\n /**\n * \n * @type {UserObject}\n * @memberof UserPresenceChangedEvent\n */\n user?: UserObject;\n}\n/**\n * \n * @export\n * @interface UserReactivatedEvent\n */\nexport interface UserReactivatedEvent {\n /**\n * \n * @type {string}\n * @memberof UserReactivatedEvent\n */\n created_at: string;\n /**\n * \n * @type {string}\n * @memberof UserReactivatedEvent\n */\n type: string;\n /**\n * \n * @type {UserObject}\n * @memberof UserReactivatedEvent\n */\n user?: UserObject;\n}\n/**\n * \n * @export\n * @interface UserRequest\n */\nexport interface UserRequest {\n /**\n * \n * @type {{ [key: string]: any; }}\n * @memberof UserRequest\n */\n custom?: { [key: string]: any; };\n /**\n * User ID\n * @type {string}\n * @memberof UserRequest\n */\n id: string;\n /**\n * \n * @type {string}\n * @memberof UserRequest\n */\n image?: string;\n /**\n * Optional name of user\n * @type {string}\n * @memberof UserRequest\n */\n name?: string;\n /**\n * \n * @type {string}\n * @memberof UserRequest\n */\n role?: string;\n /**\n * \n * @type {Array<string>}\n * @memberof UserRequest\n */\n teams?: Array<string>;\n}\n/**\n * \n * @export\n * @interface UserResponse\n */\nexport interface UserResponse {\n [key: string]: any | any;\n /**\n * \n * @type {string}\n * @memberof UserResponse\n */\n ban_expires?: string;\n /**\n * \n * @type {boolean}\n * @memberof UserResponse\n */\n banned: boolean;\n /**\n * \n * @type {string}\n * @memberof UserResponse\n */\n readonly created_at?: string;\n /**\n * \n * @type {string}\n * @memberof UserResponse\n */\n readonly deactivated_at?: string;\n /**\n * \n * @type {string}\n * @memberof UserResponse\n */\n readonly deleted_at?: string;\n /**\n * \n * @type {string}\n * @memberof UserResponse\n */\n id: string;\n /**\n * \n * @type {boolean}\n * @memberof UserResponse\n */\n invisible?: boolean;\n /**\n * \n * @type {string}\n * @memberof UserResponse\n */\n language?: string;\n /**\n * \n * @type {string}\n * @memberof UserResponse\n */\n readonly last_active?: string;\n /**\n * \n * @type {boolean}\n * @memberof UserResponse\n */\n readonly online: boolean;\n /**\n * \n * @type {PushNotificationSettings}\n * @memberof UserResponse\n */\n push_notifications?: PushNotificationSettings;\n /**\n * \n * @type {string}\n * @memberof UserResponse\n */\n revoke_tokens_issued_before?: string;\n /**\n * \n * @type {string}\n * @memberof UserResponse\n */\n role: string;\n /**\n * Whether user is shadow banned or not\n * @type {boolean}\n * @memberof UserResponse\n */\n shadow_banned: boolean;\n /**\n * \n * @type {Array<string>}\n * @memberof UserResponse\n */\n teams?: Array<string>;\n /**\n * \n * @type {string}\n * @memberof UserResponse\n */\n readonly updated_at?: string;\n}\n/**\n * \n * @export\n * @interface UserUnbannedEvent\n */\nexport interface UserUnbannedEvent {\n /**\n * \n * @type {string}\n * @memberof UserUnbannedEvent\n */\n channel_id: string;\n /**\n * \n * @type {string}\n * @memberof UserUnbannedEvent\n */\n channel_type: string;\n /**\n * \n * @type {string}\n * @memberof UserUnbannedEvent\n */\n cid: string;\n /**\n * \n * @type {string}\n * @memberof UserUnbannedEvent\n */\n created_at: string;\n /**\n * \n * @type {boolean}\n * @memberof UserUnbannedEvent\n */\n shadow: boolean;\n /**\n * \n * @type {string}\n * @memberof UserUnbannedEvent\n */\n team?: string;\n /**\n * \n * @type {string}\n * @memberof UserUnbannedEvent\n */\n type: string;\n /**\n * \n * @type {UserObject}\n * @memberof UserUnbannedEvent\n */\n user?: UserObject;\n}\n/**\n * \n * @export\n * @interface UserUnmutedEvent\n */\nexport interface UserUnmutedEvent {\n /**\n * \n * @type {string}\n * @memberof UserUnmutedEvent\n */\n created_at: string;\n /**\n * \n * @type {string}\n * @memberof UserUnmutedEvent\n */\n target_user?: string;\n /**\n * \n * @type {Array<string>}\n * @memberof UserUnmutedEvent\n */\n target_users?: Array<string>;\n /**\n * \n * @type {string}\n * @memberof UserUnmutedEvent\n */\n type: string;\n /**\n * \n * @type {UserObject}\n * @memberof UserUnmutedEvent\n */\n user?: UserObject;\n}\n/**\n * \n * @export\n * @interface UserUnreadReminderEvent\n */\nexport interface UserUnreadReminderEvent {\n /**\n * \n * @type {{ [key: string]: ChannelMessages; }}\n * @memberof UserUnreadReminderEvent\n */\n channels: { [key: string]: ChannelMessages; };\n /**\n * \n * @type {string}\n * @memberof UserUnreadReminderEvent\n */\n created_at: string;\n /**\n * \n * @type {string}\n * @memberof UserUnreadReminderEvent\n */\n type: string;\n /**\n * \n * @type {UserObject}\n * @memberof UserUnreadReminderEvent\n */\n user?: UserObject;\n}\n/**\n * \n * @export\n * @interface UserUpdatedEvent\n */\nexport interface UserUpdatedEvent {\n /**\n * \n * @type {string}\n * @memberof UserUpdatedEvent\n */\n created_at: string;\n /**\n * \n * @type {string}\n * @memberof UserUpdatedEvent\n */\n type: string;\n /**\n * \n * @type {UserObject}\n * @memberof UserUpdatedEvent\n */\n user?: UserObject;\n}\n/**\n * \n * @export\n * @interface UserWatchingStartEvent\n */\nexport interface UserWatchingStartEvent {\n /**\n * \n * @type {string}\n * @memberof UserWatchingStartEvent\n */\n channel_id: string;\n /**\n * \n * @type {string}\n * @memberof UserWatchingStartEvent\n */\n channel_type: string;\n /**\n * \n * @type {string}\n * @memberof UserWatchingStartEvent\n */\n cid: string;\n /**\n * \n * @type {string}\n * @memberof UserWatchingStartEvent\n */\n created_at: string;\n /**\n * \n * @type {string}\n * @memberof UserWatchingStartEvent\n */\n team?: string;\n /**\n * \n * @type {string}\n * @memberof UserWatchingStartEvent\n */\n type: string;\n /**\n * \n * @type {UserObject}\n * @memberof UserWatchingStartEvent\n */\n user?: UserObject;\n /**\n * \n * @type {number}\n * @memberof UserWatchingStartEvent\n */\n watcher_count: number;\n}\n/**\n * \n * @export\n * @interface UserWatchingStopEvent\n */\nexport interface UserWatchingStopEvent {\n /**\n * \n * @type {string}\n * @memberof UserWatchingStopEvent\n */\n channel_id: string;\n /**\n * \n * @type {string}\n * @memberof UserWatchingStopEvent\n */\n channel_type: string;\n /**\n * \n * @type {string}\n * @memberof UserWatchingStopEvent\n */\n cid: string;\n /**\n * \n * @type {string}\n * @memberof UserWatchingStopEvent\n */\n created_at: string;\n /**\n * \n * @type {string}\n * @memberof UserWatchingStopEvent\n */\n type: string;\n /**\n * \n * @type {UserObject}\n * @memberof UserWatchingStopEvent\n */\n user?: UserObject;\n /**\n * \n * @type {number}\n * @memberof UserWatchingStopEvent\n */\n watcher_count: number;\n}\n/**\n * \n * @export\n * @interface UsersResponse\n */\nexport interface UsersResponse {\n /**\n * \n * @type {string}\n * @memberof UsersResponse\n */\n duration: string;\n /**\n * List of found users\n * @type {Array<UserResponse>}\n * @memberof UsersResponse\n */\n users: Array<UserResponse>;\n}\n/**\n * \n * @export\n * @interface VideoSettings\n */\nexport interface VideoSettings {\n /**\n * \n * @type {boolean}\n * @memberof VideoSettings\n */\n access_request_enabled: boolean;\n /**\n * \n * @type {boolean}\n * @memberof VideoSettings\n */\n camera_default_on: boolean;\n /**\n * \n * @type {string}\n * @memberof VideoSettings\n */\n camera_facing: VideoSettingsCameraFacingEnum;\n /**\n * \n * @type {boolean}\n * @memberof VideoSettings\n */\n enabled: boolean;\n /**\n * \n * @type {TargetResolution}\n * @memberof VideoSettings\n */\n target_resolution: TargetResolution;\n}\n\n\n/**\n * @export\n */\nexport const VideoSettingsCameraFacingEnum = {\n FRONT: 'front',\n BACK: 'back',\n EXTERNAL: 'external'\n} as const;\nexport type VideoSettingsCameraFacingEnum = typeof VideoSettingsCameraFacingEnum[keyof typeof VideoSettingsCameraFacingEnum];\n\n/**\n * This is just a placeholder for all client events\n * @export\n * @interface WSClientEvent\n */\nexport interface WSClientEvent {\n /**\n * \n * @type {string}\n * @memberof WSClientEvent\n */\n connection_id?: string;\n}\n/**\n * \n * @export\n * @interface XiaomiConfigFields\n */\nexport interface XiaomiConfigFields {\n /**\n * \n * @type {boolean}\n * @memberof XiaomiConfigFields\n */\n enabled: boolean;\n /**\n * \n * @type {string}\n * @memberof XiaomiConfigFields\n */\n package_name?: string;\n /**\n * \n * @type {string}\n * @memberof XiaomiConfigFields\n */\n secret?: string;\n}\n/**\n * \n * @export\n * @interface XiaomiConfigRequest\n */\nexport interface XiaomiConfigRequest {\n /**\n * \n * @type {boolean}\n * @memberof XiaomiConfigRequest\n */\n Disabled?: boolean;\n /**\n * \n * @type {string}\n * @memberof XiaomiConfigRequest\n */\n package_name?: string;\n /**\n * \n * @type {string}\n * @memberof XiaomiConfigRequest\n */\n secret?: string;\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * \n * @export\n * @interface VideoAPIError\n */\nexport interface VideoAPIError {\n /**\n * Response HTTP status code\n * @type {number}\n * @memberof VideoAPIError\n */\n StatusCode: number;\n /**\n * API error code\n * @type {number}\n * @memberof VideoAPIError\n */\n code: number;\n /**\n * Additional error-specific information\n * @type {Array<number>}\n * @memberof VideoAPIError\n */\n details: Array<number>;\n /**\n * Request duration\n * @type {string}\n * @memberof VideoAPIError\n */\n duration: string;\n /**\n * Additional error info\n * @type {{ [key: string]: string; }}\n * @memberof VideoAPIError\n */\n exception_fields?: { [key: string]: string; };\n /**\n * Message describing an error\n * @type {string}\n * @memberof VideoAPIError\n */\n message: string;\n /**\n * URL with additional information\n * @type {string}\n * @memberof VideoAPIError\n */\n more_info: string;\n}\n/**\n * \n * @export\n * @interface VideoAPNS\n */\nexport interface VideoAPNS {\n /**\n * \n * @type {string}\n * @memberof VideoAPNS\n */\n body: string;\n /**\n * \n * @type {string}\n * @memberof VideoAPNS\n */\n title: string;\n}\n/**\n * \n * @export\n * @interface VideoAPNSRequest\n */\nexport interface VideoAPNSRequest {\n /**\n * \n * @type {string}\n * @memberof VideoAPNSRequest\n */\n body?: string;\n /**\n * \n * @type {string}\n * @memberof VideoAPNSRequest\n */\n title?: string;\n}\n/**\n * \n * @export\n * @interface VideoAcceptCallResponse\n */\nexport interface VideoAcceptCallResponse {\n /**\n * \n * @type {string}\n * @memberof VideoAcceptCallResponse\n */\n duration: string;\n}\n/**\n * \n * @export\n * @interface VideoAudioSettings\n */\nexport interface VideoAudioSettings {\n /**\n * \n * @type {boolean}\n * @memberof VideoAudioSettings\n */\n access_request_enabled: boolean;\n /**\n * \n * @type {string}\n * @memberof VideoAudioSettings\n */\n default_device: VideoAudioSettingsDefaultDeviceEnum;\n /**\n * \n * @type {boolean}\n * @memberof VideoAudioSettings\n */\n mic_default_on: boolean;\n /**\n * \n * @type {boolean}\n * @memberof VideoAudioSettings\n */\n opus_dtx_enabled: boolean;\n /**\n * \n * @type {boolean}\n * @memberof VideoAudioSettings\n */\n redundant_coding_enabled: boolean;\n /**\n * \n * @type {boolean}\n * @memberof VideoAudioSettings\n */\n speaker_default_on: boolean;\n}\n\n\n/**\n * @export\n */\nexport const VideoAudioSettingsDefaultDeviceEnum = {\n SPEAKER: 'speaker',\n EARPIECE: 'earpiece'\n} as const;\nexport type VideoAudioSettingsDefaultDeviceEnum = typeof VideoAudioSettingsDefaultDeviceEnum[keyof typeof VideoAudioSettingsDefaultDeviceEnum];\n\n/**\n * \n * @export\n * @interface VideoAudioSettingsRequest\n */\nexport interface VideoAudioSettingsRequest {\n /**\n * \n * @type {boolean}\n * @memberof VideoAudioSettingsRequest\n */\n access_request_enabled?: boolean;\n /**\n * \n * @type {string}\n * @memberof VideoAudioSettingsRequest\n */\n default_device: VideoAudioSettingsRequestDefaultDeviceEnum;\n /**\n * \n * @type {boolean}\n * @memberof VideoAudioSettingsRequest\n */\n mic_default_on?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof VideoAudioSettingsRequest\n */\n opus_dtx_enabled?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof VideoAudioSettingsRequest\n */\n redundant_coding_enabled?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof VideoAudioSettingsRequest\n */\n speaker_default_on?: boolean;\n}\n\n\n/**\n * @export\n */\nexport const VideoAudioSettingsRequestDefaultDeviceEnum = {\n SPEAKER: 'speaker',\n EARPIECE: 'earpiece'\n} as const;\nexport type VideoAudioSettingsRequestDefaultDeviceEnum = typeof VideoAudioSettingsRequestDefaultDeviceEnum[keyof typeof VideoAudioSettingsRequestDefaultDeviceEnum];\n\n/**\n * \n * @export\n * @interface VideoBackstageSettings\n */\nexport interface VideoBackstageSettings {\n /**\n * \n * @type {boolean}\n * @memberof VideoBackstageSettings\n */\n enabled: boolean;\n}\n/**\n * \n * @export\n * @interface VideoBackstageSettingsRequest\n */\nexport interface VideoBackstageSettingsRequest {\n /**\n * \n * @type {boolean}\n * @memberof VideoBackstageSettingsRequest\n */\n enabled?: boolean;\n}\n/**\n * \n * @export\n * @interface VideoBlockUserRequest\n */\nexport interface VideoBlockUserRequest {\n /**\n * the user to block\n * @type {string}\n * @memberof VideoBlockUserRequest\n */\n user_id: string;\n}\n/**\n * \n * @export\n * @interface VideoBlockUserResponse\n */\nexport interface VideoBlockUserResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof VideoBlockUserResponse\n */\n duration: string;\n}\n/**\n * This event is sent to call participants to notify when a user is blocked on a call, clients can use this event to show a notification. \n * If the user is the current user, the client should leave the call screen as well\n * @export\n * @interface VideoBlockedUserEvent\n */\nexport interface VideoBlockedUserEvent {\n /**\n * \n * @type {VideoUserResponse}\n * @memberof VideoBlockedUserEvent\n */\n blocked_by_user?: VideoUserResponse;\n /**\n * \n * @type {string}\n * @memberof VideoBlockedUserEvent\n */\n call_cid: string;\n /**\n * \n * @type {string}\n * @memberof VideoBlockedUserEvent\n */\n created_at: string;\n /**\n * The type of event: \"call.blocked_user\" in this case\n * @type {string}\n * @memberof VideoBlockedUserEvent\n */\n type: string;\n /**\n * \n * @type {VideoUserResponse}\n * @memberof VideoBlockedUserEvent\n */\n user: VideoUserResponse;\n}\n/**\n * \n * @export\n * @interface VideoBroadcastSettingsRequest\n */\nexport interface VideoBroadcastSettingsRequest {\n /**\n * \n * @type {boolean}\n * @memberof VideoBroadcastSettingsRequest\n */\n enabled?: boolean;\n /**\n * \n * @type {VideoHLSSettingsRequest}\n * @memberof VideoBroadcastSettingsRequest\n */\n hls?: VideoHLSSettingsRequest;\n}\n/**\n * \n * @export\n * @interface VideoBroadcastSettingsResponse\n */\nexport interface VideoBroadcastSettingsResponse {\n /**\n * \n * @type {boolean}\n * @memberof VideoBroadcastSettingsResponse\n */\n enabled: boolean;\n /**\n * \n * @type {VideoHLSSettingsResponse}\n * @memberof VideoBroadcastSettingsResponse\n */\n hls: VideoHLSSettingsResponse;\n}\n/**\n * This event is sent when a user accepts a notification to join a call.\n * @export\n * @interface VideoCallAcceptedEvent\n */\nexport interface VideoCallAcceptedEvent {\n /**\n * \n * @type {VideoCallResponse}\n * @memberof VideoCallAcceptedEvent\n */\n call: VideoCallResponse;\n /**\n * \n * @type {string}\n * @memberof VideoCallAcceptedEvent\n */\n call_cid: string;\n /**\n * \n * @type {string}\n * @memberof VideoCallAcceptedEvent\n */\n created_at: string;\n /**\n * The type of event: \"call.accepted\" in this case\n * @type {string}\n * @memberof VideoCallAcceptedEvent\n */\n type: string;\n /**\n * \n * @type {VideoUserResponse}\n * @memberof VideoCallAcceptedEvent\n */\n user: VideoUserResponse;\n}\n/**\n * This event is sent when a call is created. Clients receiving this event should check if the ringing \n * field is set to true and if so, show the call screen\n * @export\n * @interface VideoCallCreatedEvent\n */\nexport interface VideoCallCreatedEvent {\n /**\n * \n * @type {VideoCallResponse}\n * @memberof VideoCallCreatedEvent\n */\n call: VideoCallResponse;\n /**\n * \n * @type {string}\n * @memberof VideoCallCreatedEvent\n */\n call_cid: string;\n /**\n * \n * @type {string}\n * @memberof VideoCallCreatedEvent\n */\n created_at: string;\n /**\n * the members added to this call\n * @type {Array<VideoMemberResponse>}\n * @memberof VideoCallCreatedEvent\n */\n members: Array<VideoMemberResponse>;\n /**\n * The type of event: \"call.created\" in this case\n * @type {string}\n * @memberof VideoCallCreatedEvent\n */\n type: string;\n}\n/**\n * This event is sent when a call is mark as ended for all its participants. Clients receiving this event should leave the call screen\n * @export\n * @interface VideoCallEndedEvent\n */\nexport interface VideoCallEndedEvent {\n /**\n * \n * @type {VideoCallResponse}\n * @memberof VideoCallEndedEvent\n */\n call: VideoCallResponse;\n /**\n * \n * @type {string}\n * @memberof VideoCallEndedEvent\n */\n call_cid: string;\n /**\n * \n * @type {string}\n * @memberof VideoCallEndedEvent\n */\n created_at: string;\n /**\n * The type of event: \"call.ended\" in this case\n * @type {string}\n * @memberof VideoCallEndedEvent\n */\n type: string;\n /**\n * \n * @type {VideoUserResponse}\n * @memberof VideoCallEndedEvent\n */\n user?: VideoUserResponse;\n}\n/**\n * This event is sent when HLS broadcasting has failed\n * @export\n * @interface VideoCallHLSBroadcastingFailedEvent\n */\nexport interface VideoCallHLSBroadcastingFailedEvent {\n /**\n * \n * @type {string}\n * @memberof VideoCallHLSBroadcastingFailedEvent\n */\n call_cid: string;\n /**\n * \n * @type {string}\n * @memberof VideoCallHLSBroadcastingFailedEvent\n */\n created_at: string;\n /**\n * The type of event: \"call.hls_broadcasting_failed\" in this case\n * @type {string}\n * @memberof VideoCallHLSBroadcastingFailedEvent\n */\n type: string;\n}\n/**\n * This event is sent when HLS broadcasting has started\n * @export\n * @interface VideoCallHLSBroadcastingStartedEvent\n */\nexport interface VideoCallHLSBroadcastingStartedEvent {\n /**\n * \n * @type {string}\n * @memberof VideoCallHLSBroadcastingStartedEvent\n */\n call_cid: string;\n /**\n * \n * @type {string}\n * @memberof VideoCallHLSBroadcastingStartedEvent\n */\n created_at: string;\n /**\n * \n * @type {string}\n * @memberof VideoCallHLSBroadcastingStartedEvent\n */\n hls_playlist_url: string;\n /**\n * The type of event: \"call.hls_broadcasting_started\" in this case\n * @type {string}\n * @memberof VideoCallHLSBroadcastingStartedEvent\n */\n type: string;\n}\n/**\n * This event is sent when HLS broadcasting has stopped\n * @export\n * @interface VideoCallHLSBroadcastingStoppedEvent\n */\nexport interface VideoCallHLSBroadcastingStoppedEvent {\n /**\n * \n * @type {string}\n * @memberof VideoCallHLSBroadcastingStoppedEvent\n */\n call_cid: string;\n /**\n * \n * @type {string}\n * @memberof VideoCallHLSBroadcastingStoppedEvent\n */\n created_at: string;\n /**\n * The type of event: \"call.hls_broadcasting_stopped\" in this case\n * @type {string}\n * @memberof VideoCallHLSBroadcastingStoppedEvent\n */\n type: string;\n}\n/**\n * \n * @export\n * @interface VideoCallIngressResponse\n */\nexport interface VideoCallIngressResponse {\n /**\n * \n * @type {VideoRTMPIngress}\n * @memberof VideoCallIngressResponse\n */\n rtmp: VideoRTMPIngress;\n}\n/**\n * This event is sent when a call is started. Clients receiving this event should start the call.\n * @export\n * @interface VideoCallLiveStartedEvent\n */\nexport interface VideoCallLiveStartedEvent {\n /**\n * \n * @type {VideoCallResponse}\n * @memberof VideoCallLiveStartedEvent\n */\n call: VideoCallResponse;\n /**\n * \n * @type {string}\n * @memberof VideoCallLiveStartedEvent\n */\n call_cid: string;\n /**\n * \n * @type {string}\n * @memberof VideoCallLiveStartedEvent\n */\n created_at: string;\n /**\n * The type of event: \"call.live_started\" in this case\n * @type {string}\n * @memberof VideoCallLiveStartedEvent\n */\n type: string;\n}\n/**\n * This event is sent when one or more members are added to a call\n * @export\n * @interface VideoCallMemberAddedEvent\n */\nexport interface VideoCallMemberAddedEvent {\n /**\n * \n * @type {VideoCallResponse}\n * @memberof VideoCallMemberAddedEvent\n */\n call: VideoCallResponse;\n /**\n * \n * @type {string}\n * @memberof VideoCallMemberAddedEvent\n */\n call_cid: string;\n /**\n * \n * @type {string}\n * @memberof VideoCallMemberAddedEvent\n */\n created_at: string;\n /**\n * the members added to this call\n * @type {Array<VideoMemberResponse>}\n * @memberof VideoCallMemberAddedEvent\n */\n members: Array<VideoMemberResponse>;\n /**\n * The type of event: \"call.member_added\" in this case\n * @type {string}\n * @memberof VideoCallMemberAddedEvent\n */\n type: string;\n}\n/**\n * This event is sent when one or more members are removed from a call\n * @export\n * @interface VideoCallMemberRemovedEvent\n */\nexport interface VideoCallMemberRemovedEvent {\n /**\n * \n * @type {VideoCallResponse}\n * @memberof VideoCallMemberRemovedEvent\n */\n call: VideoCallResponse;\n /**\n * \n * @type {string}\n * @memberof VideoCallMemberRemovedEvent\n */\n call_cid: string;\n /**\n * \n * @type {string}\n * @memberof VideoCallMemberRemovedEvent\n */\n created_at: string;\n /**\n * the list of member IDs removed from the call\n * @type {Array<string>}\n * @memberof VideoCallMemberRemovedEvent\n */\n members: Array<string>;\n /**\n * The type of event: \"call.member_removed\" in this case\n * @type {string}\n * @memberof VideoCallMemberRemovedEvent\n */\n type: string;\n}\n/**\n * This event is sent when one or more members are updated\n * @export\n * @interface VideoCallMemberUpdatedEvent\n */\nexport interface VideoCallMemberUpdatedEvent {\n /**\n * \n * @type {VideoCallResponse}\n * @memberof VideoCallMemberUpdatedEvent\n */\n call: VideoCallResponse;\n /**\n * \n * @type {string}\n * @memberof VideoCallMemberUpdatedEvent\n */\n call_cid: string;\n /**\n * \n * @type {string}\n * @memberof VideoCallMemberUpdatedEvent\n */\n created_at: string;\n /**\n * The list of members that were updated\n * @type {Array<VideoMemberResponse>}\n * @memberof VideoCallMemberUpdatedEvent\n */\n members: Array<VideoMemberResponse>;\n /**\n * The type of event: \"call.member_updated\" in this case\n * @type {string}\n * @memberof VideoCallMemberUpdatedEvent\n */\n type: string;\n}\n/**\n * This event is sent when one or more members get its role updated\n * @export\n * @interface VideoCallMemberUpdatedPermissionEvent\n */\nexport interface VideoCallMemberUpdatedPermissionEvent {\n /**\n * \n * @type {VideoCallResponse}\n * @memberof VideoCallMemberUpdatedPermissionEvent\n */\n call: VideoCallResponse;\n /**\n * \n * @type {string}\n * @memberof VideoCallMemberUpdatedPermissionEvent\n */\n call_cid: string;\n /**\n * The capabilities by role for this call\n * @type {{ [key: string]: Array<string>; }}\n * @memberof VideoCallMemberUpdatedPermissionEvent\n */\n capabilities_by_role: { [key: string]: Array<string>; };\n /**\n * \n * @type {string}\n * @memberof VideoCallMemberUpdatedPermissionEvent\n */\n created_at: string;\n /**\n * The list of members that were updated\n * @type {Array<VideoMemberResponse>}\n * @memberof VideoCallMemberUpdatedPermissionEvent\n */\n members: Array<VideoMemberResponse>;\n /**\n * The type of event: \"call.member_added\" in this case\n * @type {string}\n * @memberof VideoCallMemberUpdatedPermissionEvent\n */\n type: string;\n}\n/**\n * This event is sent to all call members to notify they are getting called\n * @export\n * @interface VideoCallNotificationEvent\n */\nexport interface VideoCallNotificationEvent {\n /**\n * \n * @type {VideoCallResponse}\n * @memberof VideoCallNotificationEvent\n */\n call: VideoCallResponse;\n /**\n * \n * @type {string}\n * @memberof VideoCallNotificationEvent\n */\n call_cid: string;\n /**\n * \n * @type {string}\n * @memberof VideoCallNotificationEvent\n */\n created_at: string;\n /**\n * Call members\n * @type {Array<VideoMemberResponse>}\n * @memberof VideoCallNotificationEvent\n */\n members: Array<VideoMemberResponse>;\n /**\n * Call session ID\n * @type {string}\n * @memberof VideoCallNotificationEvent\n */\n session_id: string;\n /**\n * The type of event: \"call.notification\" in this case\n * @type {string}\n * @memberof VideoCallNotificationEvent\n */\n type: string;\n /**\n * \n * @type {VideoUserResponse}\n * @memberof VideoCallNotificationEvent\n */\n user: VideoUserResponse;\n}\n/**\n * \n * @export\n * @interface VideoCallParticipantResponse\n */\nexport interface VideoCallParticipantResponse {\n /**\n * \n * @type {string}\n * @memberof VideoCallParticipantResponse\n */\n joined_at: string;\n /**\n * \n * @type {string}\n * @memberof VideoCallParticipantResponse\n */\n role: string;\n /**\n * \n * @type {VideoUserResponse}\n * @memberof VideoCallParticipantResponse\n */\n user: VideoUserResponse;\n /**\n * \n * @type {string}\n * @memberof VideoCallParticipantResponse\n */\n user_session_id: string;\n}\n/**\n * This event is sent when a reaction is sent in a call, clients should use this to show the reaction in the call screen\n * @export\n * @interface VideoCallReactionEvent\n */\nexport interface VideoCallReactionEvent {\n /**\n * \n * @type {string}\n * @memberof VideoCallReactionEvent\n */\n call_cid: string;\n /**\n * \n * @type {string}\n * @memberof VideoCallReactionEvent\n */\n created_at: string;\n /**\n * \n * @type {VideoReactionResponse}\n * @memberof VideoCallReactionEvent\n */\n reaction: VideoReactionResponse;\n /**\n * The type of event: \"call.reaction_new\" in this case\n * @type {string}\n * @memberof VideoCallReactionEvent\n */\n type: string;\n}\n/**\n * CallRecording represents a recording of a call.\n * @export\n * @interface VideoCallRecording\n */\nexport interface VideoCallRecording {\n /**\n * \n * @type {string}\n * @memberof VideoCallRecording\n */\n end_time: string;\n /**\n * \n * @type {string}\n * @memberof VideoCallRecording\n */\n filename: string;\n /**\n * \n * @type {string}\n * @memberof VideoCallRecording\n */\n start_time: string;\n /**\n * \n * @type {string}\n * @memberof VideoCallRecording\n */\n url: string;\n}\n/**\n * This event is sent when call recording has failed\n * @export\n * @interface VideoCallRecordingFailedEvent\n */\nexport interface VideoCallRecordingFailedEvent {\n /**\n * \n * @type {string}\n * @memberof VideoCallRecordingFailedEvent\n */\n call_cid: string;\n /**\n * \n * @type {string}\n * @memberof VideoCallRecordingFailedEvent\n */\n created_at: string;\n /**\n * The type of event: \"call.recording_failed\" in this case\n * @type {string}\n * @memberof VideoCallRecordingFailedEvent\n */\n type: string;\n}\n/**\n * This event is sent when call recording is ready\n * @export\n * @interface VideoCallRecordingReadyEvent\n */\nexport interface VideoCallRecordingReadyEvent {\n /**\n * \n * @type {string}\n * @memberof VideoCallRecordingReadyEvent\n */\n call_cid: string;\n /**\n * \n * @type {VideoCallRecording}\n * @memberof VideoCallRecordingReadyEvent\n */\n call_recording: VideoCallRecording;\n /**\n * \n * @type {string}\n * @memberof VideoCallRecordingReadyEvent\n */\n created_at: string;\n /**\n * The type of event: \"call.recording_ready\" in this case\n * @type {string}\n * @memberof VideoCallRecordingReadyEvent\n */\n type: string;\n}\n/**\n * This event is sent when call recording has started\n * @export\n * @interface VideoCallRecordingStartedEvent\n */\nexport interface VideoCallRecordingStartedEvent {\n /**\n * \n * @type {string}\n * @memberof VideoCallRecordingStartedEvent\n */\n call_cid: string;\n /**\n * \n * @type {string}\n * @memberof VideoCallRecordingStartedEvent\n */\n created_at: string;\n /**\n * The type of event: \"call.recording_started\" in this case\n * @type {string}\n * @memberof VideoCallRecordingStartedEvent\n */\n type: string;\n}\n/**\n * This event is sent when call recording has stopped\n * @export\n * @interface VideoCallRecordingStoppedEvent\n */\nexport interface VideoCallRecordingStoppedEvent {\n /**\n * \n * @type {string}\n * @memberof VideoCallRecordingStoppedEvent\n */\n call_cid: string;\n /**\n * \n * @type {string}\n * @memberof VideoCallRecordingStoppedEvent\n */\n created_at: string;\n /**\n * The type of event: \"call.recording_stopped\" in this case\n * @type {string}\n * @memberof VideoCallRecordingStoppedEvent\n */\n type: string;\n}\n/**\n * This event is sent when a user rejects a notification to join a call.\n * @export\n * @interface VideoCallRejectedEvent\n */\nexport interface VideoCallRejectedEvent {\n /**\n * \n * @type {VideoCallResponse}\n * @memberof VideoCallRejectedEvent\n */\n call: VideoCallResponse;\n /**\n * \n * @type {string}\n * @memberof VideoCallRejectedEvent\n */\n call_cid: string;\n /**\n * \n * @type {string}\n * @memberof VideoCallRejectedEvent\n */\n created_at: string;\n /**\n * The type of event: \"call.rejected\" in this case\n * @type {string}\n * @memberof VideoCallRejectedEvent\n */\n type: string;\n /**\n * \n * @type {VideoUserResponse}\n * @memberof VideoCallRejectedEvent\n */\n user: VideoUserResponse;\n}\n/**\n * \n * @export\n * @interface VideoCallRequest\n */\nexport interface VideoCallRequest {\n /**\n * \n * @type {VideoUserRequest}\n * @memberof VideoCallRequest\n */\n created_by?: VideoUserRequest;\n /**\n * \n * @type {string}\n * @memberof VideoCallRequest\n */\n created_by_id?: string;\n /**\n * \n * @type {{ [key: string]: any; }}\n * @memberof VideoCallRequest\n */\n custom?: { [key: string]: any; };\n /**\n * \n * @type {Array<VideoMemberRequest>}\n * @memberof VideoCallRequest\n */\n members?: Array<VideoMemberRequest>;\n /**\n * \n * @type {VideoCallSettingsRequest}\n * @memberof VideoCallRequest\n */\n settings_override?: VideoCallSettingsRequest;\n /**\n * \n * @type {string}\n * @memberof VideoCallRequest\n */\n starts_at?: string;\n /**\n * \n * @type {string}\n * @memberof VideoCallRequest\n */\n team?: string;\n}\n/**\n * Represents a call\n * @export\n * @interface VideoCallResponse\n */\nexport interface VideoCallResponse {\n /**\n * \n * @type {boolean}\n * @memberof VideoCallResponse\n */\n backstage: boolean;\n /**\n * \n * @type {Array<string>}\n * @memberof VideoCallResponse\n */\n blocked_user_ids: Array<string>;\n /**\n * The unique identifier for a call (<type>:<id>)\n * @type {string}\n * @memberof VideoCallResponse\n */\n cid: string;\n /**\n * Date/time of creation\n * @type {string}\n * @memberof VideoCallResponse\n */\n created_at: string;\n /**\n * \n * @type {VideoUserResponse}\n * @memberof VideoCallResponse\n */\n created_by: VideoUserResponse;\n /**\n * \n * @type {string}\n * @memberof VideoCallResponse\n */\n current_session_id: string;\n /**\n * Custom data for this object\n * @type {{ [key: string]: any; }}\n * @memberof VideoCallResponse\n */\n custom: { [key: string]: any; };\n /**\n * \n * @type {VideoEgressResponse}\n * @memberof VideoCallResponse\n */\n egress: VideoEgressResponse;\n /**\n * Date/time when the call ended\n * @type {string}\n * @memberof VideoCallResponse\n */\n ended_at?: string;\n /**\n * Call ID\n * @type {string}\n * @memberof VideoCallResponse\n */\n id: string;\n /**\n * \n * @type {VideoCallIngressResponse}\n * @memberof VideoCallResponse\n */\n ingress: VideoCallIngressResponse;\n /**\n * \n * @type {boolean}\n * @memberof VideoCallResponse\n */\n recording: boolean;\n /**\n * \n * @type {VideoCallSessionResponse}\n * @memberof VideoCallResponse\n */\n session?: VideoCallSessionResponse;\n /**\n * \n * @type {VideoCallSettingsResponse}\n * @memberof VideoCallResponse\n */\n settings: VideoCallSettingsResponse;\n /**\n * Date/time when the call will start\n * @type {string}\n * @memberof VideoCallResponse\n */\n starts_at?: string;\n /**\n * \n * @type {string}\n * @memberof VideoCallResponse\n */\n team?: string;\n /**\n * \n * @type {VideoThumbnailResponse}\n * @memberof VideoCallResponse\n */\n thumbnails?: VideoThumbnailResponse;\n /**\n * \n * @type {boolean}\n * @memberof VideoCallResponse\n */\n transcribing: boolean;\n /**\n * The type of call\n * @type {string}\n * @memberof VideoCallResponse\n */\n type: string;\n /**\n * Date/time of the last update\n * @type {string}\n * @memberof VideoCallResponse\n */\n updated_at: string;\n}\n/**\n * This event is sent to all call members to notify they are getting called\n * @export\n * @interface VideoCallRingEvent\n */\nexport interface VideoCallRingEvent {\n /**\n * \n * @type {VideoCallResponse}\n * @memberof VideoCallRingEvent\n */\n call: VideoCallResponse;\n /**\n * \n * @type {string}\n * @memberof VideoCallRingEvent\n */\n call_cid: string;\n /**\n * \n * @type {string}\n * @memberof VideoCallRingEvent\n */\n created_at: string;\n /**\n * Call members\n * @type {Array<VideoMemberResponse>}\n * @memberof VideoCallRingEvent\n */\n members: Array<VideoMemberResponse>;\n /**\n * Call session ID\n * @type {string}\n * @memberof VideoCallRingEvent\n */\n session_id: string;\n /**\n * The type of event: \"call.notification\" in this case\n * @type {string}\n * @memberof VideoCallRingEvent\n */\n type: string;\n /**\n * \n * @type {VideoUserResponse}\n * @memberof VideoCallRingEvent\n */\n user: VideoUserResponse;\n}\n/**\n * This event is sent when a call session ends\n * @export\n * @interface VideoCallSessionEndedEvent\n */\nexport interface VideoCallSessionEndedEvent {\n /**\n * \n * @type {VideoCallResponse}\n * @memberof VideoCallSessionEndedEvent\n */\n call: VideoCallResponse;\n /**\n * \n * @type {string}\n * @memberof VideoCallSessionEndedEvent\n */\n call_cid: string;\n /**\n * \n * @type {string}\n * @memberof VideoCallSessionEndedEvent\n */\n created_at: string;\n /**\n * Call session ID\n * @type {string}\n * @memberof VideoCallSessionEndedEvent\n */\n session_id: string;\n /**\n * The type of event: \"call.session_ended\" in this case\n * @type {string}\n * @memberof VideoCallSessionEndedEvent\n */\n type: string;\n}\n/**\n * This event is sent when a participant joins a call session\n * @export\n * @interface VideoCallSessionParticipantJoinedEvent\n */\nexport interface VideoCallSessionParticipantJoinedEvent {\n /**\n * \n * @type {string}\n * @memberof VideoCallSessionParticipantJoinedEvent\n */\n call_cid: string;\n /**\n * \n * @type {string}\n * @memberof VideoCallSessionParticipantJoinedEvent\n */\n created_at: string;\n /**\n * \n * @type {VideoCallParticipantResponse}\n * @memberof VideoCallSessionParticipantJoinedEvent\n */\n participant: VideoCallParticipantResponse;\n /**\n * Call session ID\n * @type {string}\n * @memberof VideoCallSessionParticipantJoinedEvent\n */\n session_id: string;\n /**\n * The type of event: \"call.session_participant_joined\" in this case\n * @type {string}\n * @memberof VideoCallSessionParticipantJoinedEvent\n */\n type: string;\n}\n/**\n * This event is sent when a participant leaves a call session\n * @export\n * @interface VideoCallSessionParticipantLeftEvent\n */\nexport interface VideoCallSessionParticipantLeftEvent {\n /**\n * \n * @type {string}\n * @memberof VideoCallSessionParticipantLeftEvent\n */\n call_cid: string;\n /**\n * \n * @type {string}\n * @memberof VideoCallSessionParticipantLeftEvent\n */\n created_at: string;\n /**\n * \n * @type {VideoCallParticipantResponse}\n * @memberof VideoCallSessionParticipantLeftEvent\n */\n participant: VideoCallParticipantResponse;\n /**\n * Call session ID\n * @type {string}\n * @memberof VideoCallSessionParticipantLeftEvent\n */\n session_id: string;\n /**\n * The type of event: \"call.session_participant_left\" in this case\n * @type {string}\n * @memberof VideoCallSessionParticipantLeftEvent\n */\n type: string;\n}\n/**\n * \n * @export\n * @interface VideoCallSessionResponse\n */\nexport interface VideoCallSessionResponse {\n /**\n * \n * @type {{ [key: string]: string; }}\n * @memberof VideoCallSessionResponse\n */\n accepted_by: { [key: string]: string; };\n /**\n * \n * @type {string}\n * @memberof VideoCallSessionResponse\n */\n ended_at?: string;\n /**\n * \n * @type {string}\n * @memberof VideoCallSessionResponse\n */\n id: string;\n /**\n * \n * @type {string}\n * @memberof VideoCallSessionResponse\n */\n live_ended_at?: string;\n /**\n * \n * @type {string}\n * @memberof VideoCallSessionResponse\n */\n live_started_at?: string;\n /**\n * \n * @type {Array<VideoCallParticipantResponse>}\n * @memberof VideoCallSessionResponse\n */\n participants: Array<VideoCallParticipantResponse>;\n /**\n * \n * @type {{ [key: string]: number; }}\n * @memberof VideoCallSessionResponse\n */\n participants_count_by_role: { [key: string]: number; };\n /**\n * \n * @type {{ [key: string]: string; }}\n * @memberof VideoCallSessionResponse\n */\n rejected_by: { [key: string]: string; };\n /**\n * \n * @type {string}\n * @memberof VideoCallSessionResponse\n */\n started_at?: string;\n}\n/**\n * This event is sent when a call session starts\n * @export\n * @interface VideoCallSessionStartedEvent\n */\nexport interface VideoCallSessionStartedEvent {\n /**\n * \n * @type {VideoCallResponse}\n * @memberof VideoCallSessionStartedEvent\n */\n call: VideoCallResponse;\n /**\n * \n * @type {string}\n * @memberof VideoCallSessionStartedEvent\n */\n call_cid: string;\n /**\n * \n * @type {string}\n * @memberof VideoCallSessionStartedEvent\n */\n created_at: string;\n /**\n * Call session ID\n * @type {string}\n * @memberof VideoCallSessionStartedEvent\n */\n session_id: string;\n /**\n * The type of event: \"call.session_started\" in this case\n * @type {string}\n * @memberof VideoCallSessionStartedEvent\n */\n type: string;\n}\n/**\n * \n * @export\n * @interface VideoCallSettingsRequest\n */\nexport interface VideoCallSettingsRequest {\n /**\n * \n * @type {VideoAudioSettingsRequest}\n * @memberof VideoCallSettingsRequest\n */\n audio?: VideoAudioSettingsRequest;\n /**\n * \n * @type {VideoBackstageSettingsRequest}\n * @memberof VideoCallSettingsRequest\n */\n backstage?: VideoBackstageSettingsRequest;\n /**\n * \n * @type {VideoBroadcastSettingsRequest}\n * @memberof VideoCallSettingsRequest\n */\n broadcasting?: VideoBroadcastSettingsRequest;\n /**\n * \n * @type {VideoGeofenceSettingsRequest}\n * @memberof VideoCallSettingsRequest\n */\n geofencing?: VideoGeofenceSettingsRequest;\n /**\n * \n * @type {VideoRecordSettingsRequest}\n * @memberof VideoCallSettingsRequest\n */\n recording?: VideoRecordSettingsRequest;\n /**\n * \n * @type {VideoRingSettingsRequest}\n * @memberof VideoCallSettingsRequest\n */\n ring?: VideoRingSettingsRequest;\n /**\n * \n * @type {VideoScreensharingSettingsRequest}\n * @memberof VideoCallSettingsRequest\n */\n screensharing?: VideoScreensharingSettingsRequest;\n /**\n * \n * @type {VideoThumbnailsSettingsRequest}\n * @memberof VideoCallSettingsRequest\n */\n thumbnails?: VideoThumbnailsSettingsRequest;\n /**\n * \n * @type {VideoTranscriptionSettingsRequest}\n * @memberof VideoCallSettingsRequest\n */\n transcription?: VideoTranscriptionSettingsRequest;\n /**\n * \n * @type {VideoVideoSettingsRequest}\n * @memberof VideoCallSettingsRequest\n */\n video?: VideoVideoSettingsRequest;\n}\n/**\n * \n * @export\n * @interface VideoCallSettingsResponse\n */\nexport interface VideoCallSettingsResponse {\n /**\n * \n * @type {VideoAudioSettings}\n * @memberof VideoCallSettingsResponse\n */\n audio: VideoAudioSettings;\n /**\n * \n * @type {VideoBackstageSettings}\n * @memberof VideoCallSettingsResponse\n */\n backstage: VideoBackstageSettings;\n /**\n * \n * @type {VideoBroadcastSettingsResponse}\n * @memberof VideoCallSettingsResponse\n */\n broadcasting: VideoBroadcastSettingsResponse;\n /**\n * \n * @type {VideoGeofenceSettings}\n * @memberof VideoCallSettingsResponse\n */\n geofencing: VideoGeofenceSettings;\n /**\n * \n * @type {VideoRecordSettingsResponse}\n * @memberof VideoCallSettingsResponse\n */\n recording: VideoRecordSettingsResponse;\n /**\n * \n * @type {VideoRingSettings}\n * @memberof VideoCallSettingsResponse\n */\n ring: VideoRingSettings;\n /**\n * \n * @type {VideoScreensharingSettings}\n * @memberof VideoCallSettingsResponse\n */\n screensharing: VideoScreensharingSettings;\n /**\n * \n * @type {VideoThumbnailsSettings}\n * @memberof VideoCallSettingsResponse\n */\n thumbnails: VideoThumbnailsSettings;\n /**\n * \n * @type {VideoTranscriptionSettings}\n * @memberof VideoCallSettingsResponse\n */\n transcription: VideoTranscriptionSettings;\n /**\n * \n * @type {VideoVideoSettings}\n * @memberof VideoCallSettingsResponse\n */\n video: VideoVideoSettings;\n}\n/**\n * \n * @export\n * @interface VideoCallStateResponseFields\n */\nexport interface VideoCallStateResponseFields {\n /**\n * \n * @type {VideoCallResponse}\n * @memberof VideoCallStateResponseFields\n */\n call: VideoCallResponse;\n /**\n * List of call members\n * @type {Array<VideoMemberResponse>}\n * @memberof VideoCallStateResponseFields\n */\n members: Array<VideoMemberResponse>;\n /**\n * \n * @type {VideoMemberResponse}\n * @memberof VideoCallStateResponseFields\n */\n membership?: VideoMemberResponse;\n /**\n * \n * @type {Array<VideoOwnCapability>}\n * @memberof VideoCallStateResponseFields\n */\n own_capabilities: Array<VideoOwnCapability>;\n}\n/**\n * \n * @export\n * @interface VideoCallTypeResponse\n */\nexport interface VideoCallTypeResponse {\n /**\n * \n * @type {string}\n * @memberof VideoCallTypeResponse\n */\n created_at: string;\n /**\n * \n * @type {{ [key: string]: Array<string>; }}\n * @memberof VideoCallTypeResponse\n */\n grants: { [key: string]: Array<string>; };\n /**\n * \n * @type {string}\n * @memberof VideoCallTypeResponse\n */\n name: string;\n /**\n * \n * @type {VideoNotificationSettings}\n * @memberof VideoCallTypeResponse\n */\n notification_settings: VideoNotificationSettings;\n /**\n * \n * @type {VideoCallSettingsResponse}\n * @memberof VideoCallTypeResponse\n */\n settings: VideoCallSettingsResponse;\n /**\n * \n * @type {string}\n * @memberof VideoCallTypeResponse\n */\n updated_at: string;\n}\n/**\n * This event is sent when a call is updated, clients should use this update the local state of the call. \n * This event also contains the capabilities by role for the call, clients should update the own_capability for the current.\n * @export\n * @interface VideoCallUpdatedEvent\n */\nexport interface VideoCallUpdatedEvent {\n /**\n * \n * @type {VideoCallResponse}\n * @memberof VideoCallUpdatedEvent\n */\n call: VideoCallResponse;\n /**\n * \n * @type {string}\n * @memberof VideoCallUpdatedEvent\n */\n call_cid: string;\n /**\n * The capabilities by role for this call\n * @type {{ [key: string]: Array<string>; }}\n * @memberof VideoCallUpdatedEvent\n */\n capabilities_by_role: { [key: string]: Array<string>; };\n /**\n * \n * @type {string}\n * @memberof VideoCallUpdatedEvent\n */\n created_at: string;\n /**\n * The type of event: \"call.ended\" in this case\n * @type {string}\n * @memberof VideoCallUpdatedEvent\n */\n type: string;\n}\n/**\n * This event is sent when a call member is muted\n * @export\n * @interface VideoCallUserMuted\n */\nexport interface VideoCallUserMuted {\n /**\n * \n * @type {string}\n * @memberof VideoCallUserMuted\n */\n call_cid: string;\n /**\n * \n * @type {string}\n * @memberof VideoCallUserMuted\n */\n created_at: string;\n /**\n * \n * @type {string}\n * @memberof VideoCallUserMuted\n */\n from_user_id: string;\n /**\n * \n * @type {Array<string>}\n * @memberof VideoCallUserMuted\n */\n muted_user_ids: Array<string>;\n /**\n * The type of event: \"call.user_muted\" in this case\n * @type {string}\n * @memberof VideoCallUserMuted\n */\n type: string;\n}\n/**\n * \n * @export\n * @interface VideoConnectUserDetailsRequest\n */\nexport interface VideoConnectUserDetailsRequest {\n /**\n * \n * @type {{ [key: string]: any; }}\n * @memberof VideoConnectUserDetailsRequest\n */\n custom?: { [key: string]: any; };\n /**\n * \n * @type {string}\n * @memberof VideoConnectUserDetailsRequest\n */\n id: string;\n /**\n * \n * @type {string}\n * @memberof VideoConnectUserDetailsRequest\n */\n image?: string;\n /**\n * \n * @type {string}\n * @memberof VideoConnectUserDetailsRequest\n */\n name?: string;\n}\n/**\n * This event is sent when the WS connection is established and authenticated, this event contains the full user object as it is stored on the server\n * @export\n * @interface VideoConnectedEvent\n */\nexport interface VideoConnectedEvent {\n /**\n * The connection_id for this client\n * @type {string}\n * @memberof VideoConnectedEvent\n */\n connection_id: string;\n /**\n * \n * @type {string}\n * @memberof VideoConnectedEvent\n */\n created_at: string;\n /**\n * \n * @type {VideoOwnUserResponse}\n * @memberof VideoConnectedEvent\n */\n me: VideoOwnUserResponse;\n /**\n * The type of event: \"connection.ok\" in this case\n * @type {string}\n * @memberof VideoConnectedEvent\n */\n type: string;\n}\n/**\n * This event is sent when the WS connection fails\n * @export\n * @interface VideoConnectionErrorEvent\n */\nexport interface VideoConnectionErrorEvent {\n /**\n * \n * @type {string}\n * @memberof VideoConnectionErrorEvent\n */\n connection_id: string;\n /**\n * \n * @type {string}\n * @memberof VideoConnectionErrorEvent\n */\n created_at: string;\n /**\n * \n * @type {VideoAPIError}\n * @memberof VideoConnectionErrorEvent\n */\n error: VideoAPIError | null;\n /**\n * The type of event: \"connection.ok\" in this case\n * @type {string}\n * @memberof VideoConnectionErrorEvent\n */\n type: string;\n}\n/**\n * \n * @export\n * @interface VideoCreateCallTypeRequest\n */\nexport interface VideoCreateCallTypeRequest {\n /**\n * \n * @type {{ [key: string]: Array<string>; }}\n * @memberof VideoCreateCallTypeRequest\n */\n grants?: { [key: string]: Array<string>; };\n /**\n * \n * @type {string}\n * @memberof VideoCreateCallTypeRequest\n */\n name: string;\n /**\n * \n * @type {VideoNotificationSettingsRequest}\n * @memberof VideoCreateCallTypeRequest\n */\n notification_settings?: VideoNotificationSettingsRequest;\n /**\n * \n * @type {VideoCallSettingsRequest}\n * @memberof VideoCreateCallTypeRequest\n */\n settings?: VideoCallSettingsRequest;\n}\n/**\n * \n * @export\n * @interface VideoCreateCallTypeResponse\n */\nexport interface VideoCreateCallTypeResponse {\n /**\n * \n * @type {string}\n * @memberof VideoCreateCallTypeResponse\n */\n created_at: string;\n /**\n * \n * @type {string}\n * @memberof VideoCreateCallTypeResponse\n */\n duration: string;\n /**\n * \n * @type {{ [key: string]: Array<string>; }}\n * @memberof VideoCreateCallTypeResponse\n */\n grants: { [key: string]: Array<string>; };\n /**\n * \n * @type {string}\n * @memberof VideoCreateCallTypeResponse\n */\n name: string;\n /**\n * \n * @type {VideoNotificationSettings}\n * @memberof VideoCreateCallTypeResponse\n */\n notification_settings: VideoNotificationSettings;\n /**\n * \n * @type {VideoCallSettingsResponse}\n * @memberof VideoCreateCallTypeResponse\n */\n settings: VideoCallSettingsResponse;\n /**\n * \n * @type {string}\n * @memberof VideoCreateCallTypeResponse\n */\n updated_at: string;\n}\n/**\n * \n * @export\n * @interface VideoCreateDeviceRequest\n */\nexport interface VideoCreateDeviceRequest {\n /**\n * \n * @type {string}\n * @memberof VideoCreateDeviceRequest\n */\n id?: string;\n /**\n * \n * @type {string}\n * @memberof VideoCreateDeviceRequest\n */\n push_provider?: VideoCreateDeviceRequestPushProviderEnum;\n /**\n * \n * @type {string}\n * @memberof VideoCreateDeviceRequest\n */\n push_provider_name?: string;\n /**\n * \n * @type {VideoUserRequest}\n * @memberof VideoCreateDeviceRequest\n */\n user?: VideoUserRequest;\n /**\n * \n * @type {string}\n * @memberof VideoCreateDeviceRequest\n */\n user_id?: string;\n /**\n * \n * @type {boolean}\n * @memberof VideoCreateDeviceRequest\n */\n voip_token?: boolean;\n}\n\n\n/**\n * @export\n */\nexport const VideoCreateDeviceRequestPushProviderEnum = {\n FIREBASE: 'firebase',\n APN: 'apn',\n HUAWEI: 'huawei',\n XIAOMI: 'xiaomi'\n} as const;\nexport type VideoCreateDeviceRequestPushProviderEnum = typeof VideoCreateDeviceRequestPushProviderEnum[keyof typeof VideoCreateDeviceRequestPushProviderEnum];\n\n/**\n * \n * @export\n * @interface VideoCreateGuestRequest\n */\nexport interface VideoCreateGuestRequest {\n /**\n * \n * @type {VideoUserRequest}\n * @memberof VideoCreateGuestRequest\n */\n user: VideoUserRequest;\n}\n/**\n * \n * @export\n * @interface VideoCreateGuestResponse\n */\nexport interface VideoCreateGuestResponse {\n /**\n * the access token to authenticate the user\n * @type {string}\n * @memberof VideoCreateGuestResponse\n */\n access_token: string;\n /**\n * \n * @type {string}\n * @memberof VideoCreateGuestResponse\n */\n duration: string;\n /**\n * \n * @type {VideoUserResponse}\n * @memberof VideoCreateGuestResponse\n */\n user: VideoUserResponse;\n}\n/**\n * \n * @export\n * @interface VideoCredentials\n */\nexport interface VideoCredentials {\n /**\n * \n * @type {Array<VideoICEServer>}\n * @memberof VideoCredentials\n */\n ice_servers: Array<VideoICEServer>;\n /**\n * \n * @type {VideoSFUResponse}\n * @memberof VideoCredentials\n */\n server: VideoSFUResponse;\n /**\n * \n * @type {string}\n * @memberof VideoCredentials\n */\n token: string;\n}\n/**\n * A custom event, this event is used to send custom events to other participants in the call.\n * @export\n * @interface VideoCustomVideoEvent\n */\nexport interface VideoCustomVideoEvent {\n /**\n * \n * @type {string}\n * @memberof VideoCustomVideoEvent\n */\n call_cid: string;\n /**\n * \n * @type {string}\n * @memberof VideoCustomVideoEvent\n */\n created_at: string;\n /**\n * Custom data for this object\n * @type {{ [key: string]: any; }}\n * @memberof VideoCustomVideoEvent\n */\n custom: { [key: string]: any; };\n /**\n * The type of event, \"custom\" in this case\n * @type {string}\n * @memberof VideoCustomVideoEvent\n */\n type: string;\n /**\n * \n * @type {VideoUserResponse}\n * @memberof VideoCustomVideoEvent\n */\n user: VideoUserResponse;\n}\n/**\n * \n * @export\n * @interface VideoDevice\n */\nexport interface VideoDevice {\n /**\n * Date/time of creation\n * @type {string}\n * @memberof VideoDevice\n */\n created_at: string;\n /**\n * Whether device is disabled or not\n * @type {boolean}\n * @memberof VideoDevice\n */\n disabled?: boolean;\n /**\n * Reason explaining why device had been disabled\n * @type {string}\n * @memberof VideoDevice\n */\n disabled_reason?: string;\n /**\n * \n * @type {string}\n * @memberof VideoDevice\n */\n id: string;\n /**\n * \n * @type {string}\n * @memberof VideoDevice\n */\n push_provider: string;\n /**\n * \n * @type {string}\n * @memberof VideoDevice\n */\n push_provider_name?: string;\n /**\n * When true the token is for Apple VoIP push notifications\n * @type {boolean}\n * @memberof VideoDevice\n */\n voip?: boolean;\n}\n/**\n * \n * @export\n * @interface VideoEdgeResponse\n */\nexport interface VideoEdgeResponse {\n /**\n * \n * @type {string}\n * @memberof VideoEdgeResponse\n */\n continent_code: string;\n /**\n * \n * @type {string}\n * @memberof VideoEdgeResponse\n */\n country_iso_code: string;\n /**\n * \n * @type {number}\n * @memberof VideoEdgeResponse\n */\n green: number;\n /**\n * \n * @type {string}\n * @memberof VideoEdgeResponse\n */\n id: string;\n /**\n * \n * @type {string}\n * @memberof VideoEdgeResponse\n */\n latency_test_url: string;\n /**\n * \n * @type {number}\n * @memberof VideoEdgeResponse\n */\n latitude: number;\n /**\n * \n * @type {number}\n * @memberof VideoEdgeResponse\n */\n longitude: number;\n /**\n * \n * @type {number}\n * @memberof VideoEdgeResponse\n */\n red: number;\n /**\n * \n * @type {string}\n * @memberof VideoEdgeResponse\n */\n subdivision_iso_code: string;\n /**\n * \n * @type {number}\n * @memberof VideoEdgeResponse\n */\n yellow: number;\n}\n/**\n * \n * @export\n * @interface VideoEgressHLSResponse\n */\nexport interface VideoEgressHLSResponse {\n /**\n * \n * @type {string}\n * @memberof VideoEgressHLSResponse\n */\n playlist_url: string;\n}\n/**\n * \n * @export\n * @interface VideoEgressRTMPResponse\n */\nexport interface VideoEgressRTMPResponse {\n /**\n * \n * @type {string}\n * @memberof VideoEgressRTMPResponse\n */\n name: string;\n /**\n * \n * @type {string}\n * @memberof VideoEgressRTMPResponse\n */\n stream_key: string;\n /**\n * \n * @type {string}\n * @memberof VideoEgressRTMPResponse\n */\n url: string;\n}\n/**\n * \n * @export\n * @interface VideoEgressResponse\n */\nexport interface VideoEgressResponse {\n /**\n * \n * @type {boolean}\n * @memberof VideoEgressResponse\n */\n broadcasting: boolean;\n /**\n * \n * @type {VideoEgressHLSResponse}\n * @memberof VideoEgressResponse\n */\n hls?: VideoEgressHLSResponse;\n /**\n * \n * @type {Array<VideoEgressRTMPResponse>}\n * @memberof VideoEgressResponse\n */\n rtmps: Array<VideoEgressRTMPResponse>;\n}\n/**\n * \n * @export\n * @interface VideoEndCallResponse\n */\nexport interface VideoEndCallResponse {\n /**\n * \n * @type {string}\n * @memberof VideoEndCallResponse\n */\n duration: string;\n}\n/**\n * \n * @export\n * @interface VideoEventNotificationSettings\n */\nexport interface VideoEventNotificationSettings {\n /**\n * \n * @type {VideoAPNS}\n * @memberof VideoEventNotificationSettings\n */\n apns: VideoAPNS;\n /**\n * \n * @type {boolean}\n * @memberof VideoEventNotificationSettings\n */\n enabled: boolean;\n}\n/**\n * \n * @export\n * @interface VideoEventNotificationSettingsRequest\n */\nexport interface VideoEventNotificationSettingsRequest {\n /**\n * \n * @type {VideoAPNSRequest}\n * @memberof VideoEventNotificationSettingsRequest\n */\n apns?: VideoAPNSRequest;\n /**\n * \n * @type {boolean}\n * @memberof VideoEventNotificationSettingsRequest\n */\n enabled?: boolean;\n}\n/**\n * \n * @export\n * @interface VideoGeofenceSettings\n */\nexport interface VideoGeofenceSettings {\n /**\n * \n * @type {Array<string>}\n * @memberof VideoGeofenceSettings\n */\n names: Array<string>;\n}\n/**\n * \n * @export\n * @interface VideoGeofenceSettingsRequest\n */\nexport interface VideoGeofenceSettingsRequest {\n /**\n * \n * @type {Array<string>}\n * @memberof VideoGeofenceSettingsRequest\n */\n names?: Array<string>;\n}\n/**\n * \n * @export\n * @interface VideoGetCallResponse\n */\nexport interface VideoGetCallResponse {\n /**\n * \n * @type {VideoCallResponse}\n * @memberof VideoGetCallResponse\n */\n call: VideoCallResponse;\n /**\n * \n * @type {string}\n * @memberof VideoGetCallResponse\n */\n duration: string;\n /**\n * \n * @type {Array<VideoMemberResponse>}\n * @memberof VideoGetCallResponse\n */\n members: Array<VideoMemberResponse>;\n /**\n * \n * @type {VideoMemberResponse}\n * @memberof VideoGetCallResponse\n */\n membership?: VideoMemberResponse;\n /**\n * \n * @type {Array<VideoOwnCapability>}\n * @memberof VideoGetCallResponse\n */\n own_capabilities: Array<VideoOwnCapability>;\n}\n/**\n * \n * @export\n * @interface VideoGetCallTypeResponse\n */\nexport interface VideoGetCallTypeResponse {\n /**\n * \n * @type {string}\n * @memberof VideoGetCallTypeResponse\n */\n created_at: string;\n /**\n * \n * @type {string}\n * @memberof VideoGetCallTypeResponse\n */\n duration: string;\n /**\n * \n * @type {{ [key: string]: Array<string>; }}\n * @memberof VideoGetCallTypeResponse\n */\n grants: { [key: string]: Array<string>; };\n /**\n * \n * @type {string}\n * @memberof VideoGetCallTypeResponse\n */\n name: string;\n /**\n * \n * @type {VideoNotificationSettings}\n * @memberof VideoGetCallTypeResponse\n */\n notification_settings: VideoNotificationSettings;\n /**\n * \n * @type {VideoCallSettingsResponse}\n * @memberof VideoGetCallTypeResponse\n */\n settings: VideoCallSettingsResponse;\n /**\n * \n * @type {string}\n * @memberof VideoGetCallTypeResponse\n */\n updated_at: string;\n}\n/**\n * \n * @export\n * @interface VideoGetEdgesResponse\n */\nexport interface VideoGetEdgesResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof VideoGetEdgesResponse\n */\n duration: string;\n /**\n * \n * @type {Array<VideoEdgeResponse>}\n * @memberof VideoGetEdgesResponse\n */\n edges: Array<VideoEdgeResponse>;\n}\n/**\n * \n * @export\n * @interface VideoGetOrCreateCallRequest\n */\nexport interface VideoGetOrCreateCallRequest {\n /**\n * \n * @type {VideoCallRequest}\n * @memberof VideoGetOrCreateCallRequest\n */\n data?: VideoCallRequest;\n /**\n * \n * @type {number}\n * @memberof VideoGetOrCreateCallRequest\n */\n members_limit?: number;\n /**\n * if provided it sends a notification event to the members for this call\n * @type {boolean}\n * @memberof VideoGetOrCreateCallRequest\n */\n notify?: boolean;\n /**\n * if provided it sends a ring event to the members for this call\n * @type {boolean}\n * @memberof VideoGetOrCreateCallRequest\n */\n ring?: boolean;\n}\n/**\n * \n * @export\n * @interface VideoGetOrCreateCallResponse\n */\nexport interface VideoGetOrCreateCallResponse {\n /**\n * \n * @type {VideoCallResponse}\n * @memberof VideoGetOrCreateCallResponse\n */\n call: VideoCallResponse;\n /**\n * \n * @type {boolean}\n * @memberof VideoGetOrCreateCallResponse\n */\n created: boolean;\n /**\n * \n * @type {string}\n * @memberof VideoGetOrCreateCallResponse\n */\n duration: string;\n /**\n * \n * @type {Array<VideoMemberResponse>}\n * @memberof VideoGetOrCreateCallResponse\n */\n members: Array<VideoMemberResponse>;\n /**\n * \n * @type {VideoMemberResponse}\n * @memberof VideoGetOrCreateCallResponse\n */\n membership?: VideoMemberResponse;\n /**\n * \n * @type {Array<VideoOwnCapability>}\n * @memberof VideoGetOrCreateCallResponse\n */\n own_capabilities: Array<VideoOwnCapability>;\n}\n/**\n * \n * @export\n * @interface VideoGoLiveRequest\n */\nexport interface VideoGoLiveRequest {\n /**\n * \n * @type {boolean}\n * @memberof VideoGoLiveRequest\n */\n start_hls?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof VideoGoLiveRequest\n */\n start_recording?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof VideoGoLiveRequest\n */\n start_transcription?: boolean;\n}\n/**\n * \n * @export\n * @interface VideoGoLiveResponse\n */\nexport interface VideoGoLiveResponse {\n /**\n * \n * @type {VideoCallResponse}\n * @memberof VideoGoLiveResponse\n */\n call: VideoCallResponse;\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof VideoGoLiveResponse\n */\n duration: string;\n}\n/**\n * \n * @export\n * @interface VideoHLSSettingsRequest\n */\nexport interface VideoHLSSettingsRequest {\n /**\n * \n * @type {boolean}\n * @memberof VideoHLSSettingsRequest\n */\n auto_on?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof VideoHLSSettingsRequest\n */\n enabled?: boolean;\n /**\n * \n * @type {VideoLayoutSettingsRequest}\n * @memberof VideoHLSSettingsRequest\n */\n layout?: VideoLayoutSettingsRequest;\n /**\n * \n * @type {Array<string>}\n * @memberof VideoHLSSettingsRequest\n */\n quality_tracks?: Array<string>;\n}\n/**\n * \n * @export\n * @interface VideoHLSSettingsResponse\n */\nexport interface VideoHLSSettingsResponse {\n /**\n * \n * @type {boolean}\n * @memberof VideoHLSSettingsResponse\n */\n auto_on: boolean;\n /**\n * \n * @type {boolean}\n * @memberof VideoHLSSettingsResponse\n */\n enabled: boolean;\n /**\n * \n * @type {VideoLayoutSettings}\n * @memberof VideoHLSSettingsResponse\n */\n layout: VideoLayoutSettings;\n /**\n * \n * @type {Array<string>}\n * @memberof VideoHLSSettingsResponse\n */\n quality_tracks: Array<string>;\n}\n/**\n * \n * @export\n * @interface VideoHealthCheckEvent\n */\nexport interface VideoHealthCheckEvent {\n /**\n * The connection_id for this client\n * @type {string}\n * @memberof VideoHealthCheckEvent\n */\n connection_id: string;\n /**\n * \n * @type {string}\n * @memberof VideoHealthCheckEvent\n */\n created_at: string;\n /**\n * The type of event: \"health.check\" in this case\n * @type {string}\n * @memberof VideoHealthCheckEvent\n */\n type: string;\n}\n/**\n * \n * @export\n * @interface VideoICEServer\n */\nexport interface VideoICEServer {\n /**\n * \n * @type {string}\n * @memberof VideoICEServer\n */\n password: string;\n /**\n * \n * @type {Array<string>}\n * @memberof VideoICEServer\n */\n urls: Array<string>;\n /**\n * \n * @type {string}\n * @memberof VideoICEServer\n */\n username: string;\n}\n/**\n * \n * @export\n * @interface VideoJoinCallRequest\n */\nexport interface VideoJoinCallRequest {\n /**\n * if true the call will be created if it doesn't exist\n * @type {boolean}\n * @memberof VideoJoinCallRequest\n */\n create?: boolean;\n /**\n * \n * @type {VideoCallRequest}\n * @memberof VideoJoinCallRequest\n */\n data?: VideoCallRequest;\n /**\n * \n * @type {string}\n * @memberof VideoJoinCallRequest\n */\n location: string;\n /**\n * \n * @type {number}\n * @memberof VideoJoinCallRequest\n */\n members_limit?: number;\n /**\n * If the participant is migrating from another SFU, then this is the ID of the previous SFU\n * @type {string}\n * @memberof VideoJoinCallRequest\n */\n migrating_from?: string;\n /**\n * \n * @type {boolean}\n * @memberof VideoJoinCallRequest\n */\n notify?: boolean;\n /**\n * if true and the call is created, the notification will include ring=true\n * @type {boolean}\n * @memberof VideoJoinCallRequest\n */\n ring?: boolean;\n}\n/**\n * \n * @export\n * @interface VideoJoinCallResponse\n */\nexport interface VideoJoinCallResponse {\n /**\n * \n * @type {VideoCallResponse}\n * @memberof VideoJoinCallResponse\n */\n call: VideoCallResponse;\n /**\n * \n * @type {boolean}\n * @memberof VideoJoinCallResponse\n */\n created: boolean;\n /**\n * \n * @type {VideoCredentials}\n * @memberof VideoJoinCallResponse\n */\n credentials: VideoCredentials;\n /**\n * \n * @type {string}\n * @memberof VideoJoinCallResponse\n */\n duration: string;\n /**\n * \n * @type {Array<VideoMemberResponse>}\n * @memberof VideoJoinCallResponse\n */\n members: Array<VideoMemberResponse>;\n /**\n * \n * @type {VideoMemberResponse}\n * @memberof VideoJoinCallResponse\n */\n membership?: VideoMemberResponse;\n /**\n * \n * @type {Array<VideoOwnCapability>}\n * @memberof VideoJoinCallResponse\n */\n own_capabilities: Array<VideoOwnCapability>;\n}\n/**\n * \n * @export\n * @interface VideoLayoutSettings\n */\nexport interface VideoLayoutSettings {\n /**\n * \n * @type {string}\n * @memberof VideoLayoutSettings\n */\n external_app_url: string;\n /**\n * \n * @type {string}\n * @memberof VideoLayoutSettings\n */\n external_css_url: string;\n /**\n * \n * @type {string}\n * @memberof VideoLayoutSettings\n */\n name: VideoLayoutSettingsNameEnum;\n /**\n * \n * @type {{ [key: string]: any; }}\n * @memberof VideoLayoutSettings\n */\n options?: { [key: string]: any; };\n}\n\n\n/**\n * @export\n */\nexport const VideoLayoutSettingsNameEnum = {\n SPOTLIGHT: 'spotlight',\n GRID: 'grid',\n SINGLE_PARTICIPANT: 'single-participant',\n MOBILE: 'mobile',\n CUSTOM: 'custom'\n} as const;\nexport type VideoLayoutSettingsNameEnum = typeof VideoLayoutSettingsNameEnum[keyof typeof VideoLayoutSettingsNameEnum];\n\n/**\n * \n * @export\n * @interface VideoLayoutSettingsRequest\n */\nexport interface VideoLayoutSettingsRequest {\n /**\n * \n * @type {string}\n * @memberof VideoLayoutSettingsRequest\n */\n external_app_url?: string;\n /**\n * \n * @type {string}\n * @memberof VideoLayoutSettingsRequest\n */\n external_css_url?: string;\n /**\n * \n * @type {string}\n * @memberof VideoLayoutSettingsRequest\n */\n name: VideoLayoutSettingsRequestNameEnum;\n /**\n * \n * @type {{ [key: string]: any; }}\n * @memberof VideoLayoutSettingsRequest\n */\n options?: { [key: string]: any; };\n}\n\n\n/**\n * @export\n */\nexport const VideoLayoutSettingsRequestNameEnum = {\n SPOTLIGHT: 'spotlight',\n GRID: 'grid',\n SINGLE_PARTICIPANT: 'single-participant',\n MOBILE: 'mobile',\n CUSTOM: 'custom'\n} as const;\nexport type VideoLayoutSettingsRequestNameEnum = typeof VideoLayoutSettingsRequestNameEnum[keyof typeof VideoLayoutSettingsRequestNameEnum];\n\n/**\n * \n * @export\n * @interface VideoListCallTypeResponse\n */\nexport interface VideoListCallTypeResponse {\n /**\n * \n * @type {{ [key: string]: VideoCallTypeResponse; }}\n * @memberof VideoListCallTypeResponse\n */\n call_types: { [key: string]: VideoCallTypeResponse; };\n /**\n * \n * @type {string}\n * @memberof VideoListCallTypeResponse\n */\n duration: string;\n}\n/**\n * \n * @export\n * @interface VideoListDevicesResponse\n */\nexport interface VideoListDevicesResponse {\n /**\n * List of devices\n * @type {Array<VideoDevice>}\n * @memberof VideoListDevicesResponse\n */\n devices: Array<VideoDevice>;\n /**\n * \n * @type {string}\n * @memberof VideoListDevicesResponse\n */\n duration: string;\n}\n/**\n * \n * @export\n * @interface VideoListRecordingsResponse\n */\nexport interface VideoListRecordingsResponse {\n /**\n * \n * @type {string}\n * @memberof VideoListRecordingsResponse\n */\n duration: string;\n /**\n * \n * @type {Array<VideoCallRecording>}\n * @memberof VideoListRecordingsResponse\n */\n recordings: Array<VideoCallRecording>;\n}\n/**\n * \n * @export\n * @interface VideoMemberRequest\n */\nexport interface VideoMemberRequest {\n /**\n * Custom data for this object\n * @type {{ [key: string]: any; }}\n * @memberof VideoMemberRequest\n */\n custom?: { [key: string]: any; };\n /**\n * \n * @type {string}\n * @memberof VideoMemberRequest\n */\n role?: string;\n /**\n * \n * @type {string}\n * @memberof VideoMemberRequest\n */\n user_id: string;\n}\n/**\n * \n * @export\n * @interface VideoMemberResponse\n */\nexport interface VideoMemberResponse {\n /**\n * Date/time of creation\n * @type {string}\n * @memberof VideoMemberResponse\n */\n created_at: string;\n /**\n * Custom member response data\n * @type {{ [key: string]: any; }}\n * @memberof VideoMemberResponse\n */\n custom: { [key: string]: any; };\n /**\n * Date/time of deletion\n * @type {string}\n * @memberof VideoMemberResponse\n */\n deleted_at?: string;\n /**\n * \n * @type {string}\n * @memberof VideoMemberResponse\n */\n role?: string;\n /**\n * Date/time of the last update\n * @type {string}\n * @memberof VideoMemberResponse\n */\n updated_at: string;\n /**\n * \n * @type {VideoUserResponse}\n * @memberof VideoMemberResponse\n */\n user: VideoUserResponse;\n /**\n * \n * @type {string}\n * @memberof VideoMemberResponse\n */\n user_id: string;\n}\n/**\n * \n * @export\n * @interface VideoMuteUsersRequest\n */\nexport interface VideoMuteUsersRequest {\n /**\n * \n * @type {boolean}\n * @memberof VideoMuteUsersRequest\n */\n audio?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof VideoMuteUsersRequest\n */\n mute_all_users?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof VideoMuteUsersRequest\n */\n screenshare?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof VideoMuteUsersRequest\n */\n screenshare_audio?: boolean;\n /**\n * \n * @type {Array<string>}\n * @memberof VideoMuteUsersRequest\n */\n user_ids?: Array<string>;\n /**\n * \n * @type {boolean}\n * @memberof VideoMuteUsersRequest\n */\n video?: boolean;\n}\n/**\n * \n * @export\n * @interface VideoMuteUsersResponse\n */\nexport interface VideoMuteUsersResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof VideoMuteUsersResponse\n */\n duration: string;\n}\n/**\n * \n * @export\n * @interface VideoNotificationSettings\n */\nexport interface VideoNotificationSettings {\n /**\n * \n * @type {VideoEventNotificationSettings}\n * @memberof VideoNotificationSettings\n */\n call_live_started: VideoEventNotificationSettings;\n /**\n * \n * @type {VideoEventNotificationSettings}\n * @memberof VideoNotificationSettings\n */\n call_notification: VideoEventNotificationSettings;\n /**\n * \n * @type {VideoEventNotificationSettings}\n * @memberof VideoNotificationSettings\n */\n call_ring: VideoEventNotificationSettings;\n /**\n * \n * @type {boolean}\n * @memberof VideoNotificationSettings\n */\n enabled: boolean;\n /**\n * \n * @type {VideoEventNotificationSettings}\n * @memberof VideoNotificationSettings\n */\n session_started: VideoEventNotificationSettings;\n}\n/**\n * \n * @export\n * @interface VideoNotificationSettingsRequest\n */\nexport interface VideoNotificationSettingsRequest {\n /**\n * \n * @type {VideoEventNotificationSettingsRequest}\n * @memberof VideoNotificationSettingsRequest\n */\n call_live_started?: VideoEventNotificationSettingsRequest;\n /**\n * \n * @type {VideoEventNotificationSettingsRequest}\n * @memberof VideoNotificationSettingsRequest\n */\n call_notification?: VideoEventNotificationSettingsRequest;\n /**\n * \n * @type {VideoEventNotificationSettingsRequest}\n * @memberof VideoNotificationSettingsRequest\n */\n call_ring?: VideoEventNotificationSettingsRequest;\n /**\n * \n * @type {boolean}\n * @memberof VideoNotificationSettingsRequest\n */\n enabled?: boolean;\n /**\n * \n * @type {VideoEventNotificationSettingsRequest}\n * @memberof VideoNotificationSettingsRequest\n */\n session_started?: VideoEventNotificationSettingsRequest;\n}\n\n/**\n * All possibility of string to use\n * @export\n */\nexport const VideoOwnCapability = {\n BLOCK_USERS: 'block-users',\n CREATE_CALL: 'create-call',\n CREATE_REACTION: 'create-reaction',\n END_CALL: 'end-call',\n JOIN_BACKSTAGE: 'join-backstage',\n JOIN_CALL: 'join-call',\n JOIN_ENDED_CALL: 'join-ended-call',\n MUTE_USERS: 'mute-users',\n PIN_FOR_EVERYONE: 'pin-for-everyone',\n READ_CALL: 'read-call',\n REMOVE_CALL_MEMBER: 'remove-call-member',\n SCREENSHARE: 'screenshare',\n SEND_AUDIO: 'send-audio',\n SEND_VIDEO: 'send-video',\n START_BROADCAST_CALL: 'start-broadcast-call',\n START_RECORD_CALL: 'start-record-call',\n START_TRANSCRIPTION_CALL: 'start-transcription-call',\n STOP_BROADCAST_CALL: 'stop-broadcast-call',\n STOP_RECORD_CALL: 'stop-record-call',\n STOP_TRANSCRIPTION_CALL: 'stop-transcription-call',\n UPDATE_CALL: 'update-call',\n UPDATE_CALL_MEMBER: 'update-call-member',\n UPDATE_CALL_PERMISSIONS: 'update-call-permissions',\n UPDATE_CALL_SETTINGS: 'update-call-settings'\n} as const;\nexport type VideoOwnCapability = typeof VideoOwnCapability[keyof typeof VideoOwnCapability];\n\n/**\n * \n * @export\n * @interface VideoOwnUserResponse\n */\nexport interface VideoOwnUserResponse {\n /**\n * \n * @type {string}\n * @memberof VideoOwnUserResponse\n */\n created_at: string;\n /**\n * \n * @type {{ [key: string]: any; }}\n * @memberof VideoOwnUserResponse\n */\n custom: { [key: string]: any; };\n /**\n * \n * @type {string}\n * @memberof VideoOwnUserResponse\n */\n deleted_at?: string;\n /**\n * \n * @type {Array<VideoDevice>}\n * @memberof VideoOwnUserResponse\n */\n devices: Array<VideoDevice>;\n /**\n * \n * @type {string}\n * @memberof VideoOwnUserResponse\n */\n id: string;\n /**\n * \n * @type {string}\n * @memberof VideoOwnUserResponse\n */\n image?: string;\n /**\n * \n * @type {string}\n * @memberof VideoOwnUserResponse\n */\n name?: string;\n /**\n * \n * @type {string}\n * @memberof VideoOwnUserResponse\n */\n role: string;\n /**\n * \n * @type {Array<string>}\n * @memberof VideoOwnUserResponse\n */\n teams: Array<string>;\n /**\n * \n * @type {string}\n * @memberof VideoOwnUserResponse\n */\n updated_at: string;\n}\n/**\n * This event is sent when a user requests access to a feature on a call,\n * clients receiving this event should display a permission request to the user\n * @export\n * @interface VideoPermissionRequestEvent\n */\nexport interface VideoPermissionRequestEvent {\n /**\n * \n * @type {string}\n * @memberof VideoPermissionRequestEvent\n */\n call_cid: string;\n /**\n * \n * @type {string}\n * @memberof VideoPermissionRequestEvent\n */\n created_at: string;\n /**\n * The list of permissions requested by the user\n * @type {Array<string>}\n * @memberof VideoPermissionRequestEvent\n */\n permissions: Array<string>;\n /**\n * The type of event: \"call.permission_request\" in this case\n * @type {string}\n * @memberof VideoPermissionRequestEvent\n */\n type: string;\n /**\n * \n * @type {VideoUserResponse}\n * @memberof VideoPermissionRequestEvent\n */\n user: VideoUserResponse;\n}\n/**\n * \n * @export\n * @interface VideoPinRequest\n */\nexport interface VideoPinRequest {\n /**\n * \n * @type {string}\n * @memberof VideoPinRequest\n */\n session_id: string;\n /**\n * \n * @type {string}\n * @memberof VideoPinRequest\n */\n user_id: string;\n}\n/**\n * \n * @export\n * @interface VideoPinResponse\n */\nexport interface VideoPinResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof VideoPinResponse\n */\n duration: string;\n}\n/**\n * \n * @export\n * @interface VideoQueryCallsRequest\n */\nexport interface VideoQueryCallsRequest {\n /**\n * \n * @type {{ [key: string]: any; }}\n * @memberof VideoQueryCallsRequest\n */\n filter_conditions?: { [key: string]: any; };\n /**\n * \n * @type {number}\n * @memberof VideoQueryCallsRequest\n */\n limit?: number;\n /**\n * \n * @type {string}\n * @memberof VideoQueryCallsRequest\n */\n next?: string;\n /**\n * \n * @type {string}\n * @memberof VideoQueryCallsRequest\n */\n prev?: string;\n /**\n * \n * @type {Array<VideoSortParamRequest>}\n * @memberof VideoQueryCallsRequest\n */\n sort?: Array<VideoSortParamRequest>;\n /**\n * \n * @type {boolean}\n * @memberof VideoQueryCallsRequest\n */\n watch?: boolean;\n}\n/**\n * \n * @export\n * @interface VideoQueryCallsResponse\n */\nexport interface VideoQueryCallsResponse {\n /**\n * \n * @type {Array<VideoCallStateResponseFields>}\n * @memberof VideoQueryCallsResponse\n */\n calls: Array<VideoCallStateResponseFields>;\n /**\n * \n * @type {string}\n * @memberof VideoQueryCallsResponse\n */\n duration: string;\n /**\n * \n * @type {string}\n * @memberof VideoQueryCallsResponse\n */\n next?: string;\n /**\n * \n * @type {string}\n * @memberof VideoQueryCallsResponse\n */\n prev?: string;\n}\n/**\n * \n * @export\n * @interface VideoQueryMembersRequest\n */\nexport interface VideoQueryMembersRequest {\n /**\n * \n * @type {{ [key: string]: any; }}\n * @memberof VideoQueryMembersRequest\n */\n filter_conditions?: { [key: string]: any; };\n /**\n * \n * @type {string}\n * @memberof VideoQueryMembersRequest\n */\n id: string;\n /**\n * \n * @type {number}\n * @memberof VideoQueryMembersRequest\n */\n limit?: number;\n /**\n * \n * @type {string}\n * @memberof VideoQueryMembersRequest\n */\n next?: string;\n /**\n * \n * @type {string}\n * @memberof VideoQueryMembersRequest\n */\n prev?: string;\n /**\n * \n * @type {Array<VideoSortParamRequest>}\n * @memberof VideoQueryMembersRequest\n */\n sort?: Array<VideoSortParamRequest>;\n /**\n * \n * @type {string}\n * @memberof VideoQueryMembersRequest\n */\n type: string;\n}\n/**\n * \n * @export\n * @interface VideoQueryMembersResponse\n */\nexport interface VideoQueryMembersResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof VideoQueryMembersResponse\n */\n duration: string;\n /**\n * \n * @type {Array<VideoMemberResponse>}\n * @memberof VideoQueryMembersResponse\n */\n members: Array<VideoMemberResponse>;\n /**\n * \n * @type {string}\n * @memberof VideoQueryMembersResponse\n */\n next?: string;\n /**\n * \n * @type {string}\n * @memberof VideoQueryMembersResponse\n */\n prev?: string;\n}\n/**\n * RTMP input settings\n * @export\n * @interface VideoRTMPIngress\n */\nexport interface VideoRTMPIngress {\n /**\n * \n * @type {string}\n * @memberof VideoRTMPIngress\n */\n address: string;\n}\n/**\n * \n * @export\n * @interface VideoReactionResponse\n */\nexport interface VideoReactionResponse {\n /**\n * \n * @type {{ [key: string]: any; }}\n * @memberof VideoReactionResponse\n */\n custom?: { [key: string]: any; };\n /**\n * \n * @type {string}\n * @memberof VideoReactionResponse\n */\n emoji_code?: string;\n /**\n * \n * @type {string}\n * @memberof VideoReactionResponse\n */\n type: string;\n /**\n * \n * @type {VideoUserResponse}\n * @memberof VideoReactionResponse\n */\n user: VideoUserResponse;\n}\n/**\n * \n * @export\n * @interface VideoRecordSettingsRequest\n */\nexport interface VideoRecordSettingsRequest {\n /**\n * \n * @type {boolean}\n * @memberof VideoRecordSettingsRequest\n */\n audio_only?: boolean;\n /**\n * \n * @type {VideoLayoutSettingsRequest}\n * @memberof VideoRecordSettingsRequest\n */\n layout?: VideoLayoutSettingsRequest;\n /**\n * \n * @type {string}\n * @memberof VideoRecordSettingsRequest\n */\n mode: VideoRecordSettingsRequestModeEnum;\n /**\n * \n * @type {string}\n * @memberof VideoRecordSettingsRequest\n */\n quality?: VideoRecordSettingsRequestQualityEnum;\n}\n\n\n/**\n * @export\n */\nexport const VideoRecordSettingsRequestModeEnum = {\n AVAILABLE: 'available',\n DISABLED: 'disabled',\n AUTO_ON: 'auto-on'\n} as const;\nexport type VideoRecordSettingsRequestModeEnum = typeof VideoRecordSettingsRequestModeEnum[keyof typeof VideoRecordSettingsRequestModeEnum];\n\n/**\n * @export\n */\nexport const VideoRecordSettingsRequestQualityEnum = {\n _360P: '360p',\n _480P: '480p',\n _720P: '720p',\n _1080P: '1080p',\n _1440P: '1440p'\n} as const;\nexport type VideoRecordSettingsRequestQualityEnum = typeof VideoRecordSettingsRequestQualityEnum[keyof typeof VideoRecordSettingsRequestQualityEnum];\n\n/**\n * \n * @export\n * @interface VideoRecordSettingsResponse\n */\nexport interface VideoRecordSettingsResponse {\n /**\n * \n * @type {boolean}\n * @memberof VideoRecordSettingsResponse\n */\n audio_only: boolean;\n /**\n * \n * @type {VideoLayoutSettings}\n * @memberof VideoRecordSettingsResponse\n */\n layout: VideoLayoutSettings;\n /**\n * \n * @type {string}\n * @memberof VideoRecordSettingsResponse\n */\n mode: string;\n /**\n * \n * @type {string}\n * @memberof VideoRecordSettingsResponse\n */\n quality: string;\n}\n/**\n * \n * @export\n * @interface VideoRejectCallResponse\n */\nexport interface VideoRejectCallResponse {\n /**\n * \n * @type {string}\n * @memberof VideoRejectCallResponse\n */\n duration: string;\n}\n/**\n * \n * @export\n * @interface VideoRequestPermissionRequest\n */\nexport interface VideoRequestPermissionRequest {\n /**\n * \n * @type {Array<string>}\n * @memberof VideoRequestPermissionRequest\n */\n permissions: Array<string>;\n}\n/**\n * \n * @export\n * @interface VideoRequestPermissionResponse\n */\nexport interface VideoRequestPermissionResponse {\n /**\n * \n * @type {string}\n * @memberof VideoRequestPermissionResponse\n */\n duration: string;\n}\n/**\n * \n * @export\n * @interface VideoResponse\n */\nexport interface VideoResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof VideoResponse\n */\n duration: string;\n}\n/**\n * \n * @export\n * @interface VideoRingSettings\n */\nexport interface VideoRingSettings {\n /**\n * \n * @type {number}\n * @memberof VideoRingSettings\n */\n auto_cancel_timeout_ms: number;\n /**\n * \n * @type {number}\n * @memberof VideoRingSettings\n */\n incoming_call_timeout_ms: number;\n}\n/**\n * \n * @export\n * @interface VideoRingSettingsRequest\n */\nexport interface VideoRingSettingsRequest {\n /**\n * \n * @type {number}\n * @memberof VideoRingSettingsRequest\n */\n auto_cancel_timeout_ms?: number;\n /**\n * \n * @type {number}\n * @memberof VideoRingSettingsRequest\n */\n incoming_call_timeout_ms?: number;\n}\n/**\n * \n * @export\n * @interface VideoSFUResponse\n */\nexport interface VideoSFUResponse {\n /**\n * \n * @type {string}\n * @memberof VideoSFUResponse\n */\n edge_name: string;\n /**\n * \n * @type {string}\n * @memberof VideoSFUResponse\n */\n url: string;\n /**\n * \n * @type {string}\n * @memberof VideoSFUResponse\n */\n ws_endpoint: string;\n}\n/**\n * \n * @export\n * @interface VideoScreensharingSettings\n */\nexport interface VideoScreensharingSettings {\n /**\n * \n * @type {boolean}\n * @memberof VideoScreensharingSettings\n */\n access_request_enabled: boolean;\n /**\n * \n * @type {boolean}\n * @memberof VideoScreensharingSettings\n */\n enabled: boolean;\n}\n/**\n * \n * @export\n * @interface VideoScreensharingSettingsRequest\n */\nexport interface VideoScreensharingSettingsRequest {\n /**\n * \n * @type {boolean}\n * @memberof VideoScreensharingSettingsRequest\n */\n access_request_enabled?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof VideoScreensharingSettingsRequest\n */\n enabled?: boolean;\n}\n/**\n * \n * @export\n * @interface VideoSendEventRequest\n */\nexport interface VideoSendEventRequest {\n /**\n * \n * @type {{ [key: string]: any; }}\n * @memberof VideoSendEventRequest\n */\n custom?: { [key: string]: any; };\n}\n/**\n * \n * @export\n * @interface VideoSendEventResponse\n */\nexport interface VideoSendEventResponse {\n /**\n * \n * @type {string}\n * @memberof VideoSendEventResponse\n */\n duration: string;\n}\n/**\n * \n * @export\n * @interface VideoSendReactionRequest\n */\nexport interface VideoSendReactionRequest {\n /**\n * \n * @type {{ [key: string]: any; }}\n * @memberof VideoSendReactionRequest\n */\n custom?: { [key: string]: any; };\n /**\n * \n * @type {string}\n * @memberof VideoSendReactionRequest\n */\n emoji_code?: string;\n /**\n * \n * @type {string}\n * @memberof VideoSendReactionRequest\n */\n type: string;\n}\n/**\n * \n * @export\n * @interface VideoSendReactionResponse\n */\nexport interface VideoSendReactionResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof VideoSendReactionResponse\n */\n duration: string;\n /**\n * \n * @type {VideoReactionResponse}\n * @memberof VideoSendReactionResponse\n */\n reaction: VideoReactionResponse;\n}\n/**\n * \n * @export\n * @interface VideoSortParamRequest\n */\nexport interface VideoSortParamRequest {\n /**\n * Direction of sorting, -1 for descending, 1 for ascending\n * @type {number}\n * @memberof VideoSortParamRequest\n */\n direction?: number;\n /**\n * Name of field to sort by\n * @type {string}\n * @memberof VideoSortParamRequest\n */\n field?: string;\n}\n/**\n * \n * @export\n * @interface VideoStartHLSBroadcastingResponse\n */\nexport interface VideoStartHLSBroadcastingResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof VideoStartHLSBroadcastingResponse\n */\n duration: string;\n /**\n * \n * @type {string}\n * @memberof VideoStartHLSBroadcastingResponse\n */\n playlist_url: string;\n}\n/**\n * \n * @export\n * @interface VideoStartRecordingResponse\n */\nexport interface VideoStartRecordingResponse {\n /**\n * \n * @type {string}\n * @memberof VideoStartRecordingResponse\n */\n duration: string;\n}\n/**\n * \n * @export\n * @interface VideoStartTranscriptionResponse\n */\nexport interface VideoStartTranscriptionResponse {\n /**\n * \n * @type {string}\n * @memberof VideoStartTranscriptionResponse\n */\n duration: string;\n}\n/**\n * \n * @export\n * @interface VideoStopHLSBroadcastingResponse\n */\nexport interface VideoStopHLSBroadcastingResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof VideoStopHLSBroadcastingResponse\n */\n duration: string;\n}\n/**\n * \n * @export\n * @interface VideoStopLiveResponse\n */\nexport interface VideoStopLiveResponse {\n /**\n * \n * @type {VideoCallResponse}\n * @memberof VideoStopLiveResponse\n */\n call: VideoCallResponse;\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof VideoStopLiveResponse\n */\n duration: string;\n}\n/**\n * \n * @export\n * @interface VideoStopRecordingResponse\n */\nexport interface VideoStopRecordingResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof VideoStopRecordingResponse\n */\n duration: string;\n}\n/**\n * \n * @export\n * @interface VideoStopTranscriptionResponse\n */\nexport interface VideoStopTranscriptionResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof VideoStopTranscriptionResponse\n */\n duration: string;\n}\n/**\n * \n * @export\n * @interface VideoTargetResolution\n */\nexport interface VideoTargetResolution {\n /**\n * \n * @type {number}\n * @memberof VideoTargetResolution\n */\n bitrate: number;\n /**\n * \n * @type {number}\n * @memberof VideoTargetResolution\n */\n height: number;\n /**\n * \n * @type {number}\n * @memberof VideoTargetResolution\n */\n width: number;\n}\n/**\n * \n * @export\n * @interface VideoTargetResolutionRequest\n */\nexport interface VideoTargetResolutionRequest {\n /**\n * \n * @type {number}\n * @memberof VideoTargetResolutionRequest\n */\n bitrate?: number;\n /**\n * \n * @type {number}\n * @memberof VideoTargetResolutionRequest\n */\n height?: number;\n /**\n * \n * @type {number}\n * @memberof VideoTargetResolutionRequest\n */\n width?: number;\n}\n/**\n * \n * @export\n * @interface VideoThumbnailResponse\n */\nexport interface VideoThumbnailResponse {\n /**\n * \n * @type {string}\n * @memberof VideoThumbnailResponse\n */\n image_url: string;\n}\n/**\n * \n * @export\n * @interface VideoThumbnailsSettings\n */\nexport interface VideoThumbnailsSettings {\n /**\n * \n * @type {boolean}\n * @memberof VideoThumbnailsSettings\n */\n enabled: boolean;\n}\n/**\n * \n * @export\n * @interface VideoThumbnailsSettingsRequest\n */\nexport interface VideoThumbnailsSettingsRequest {\n /**\n * \n * @type {boolean}\n * @memberof VideoThumbnailsSettingsRequest\n */\n enabled?: boolean;\n}\n/**\n * \n * @export\n * @interface VideoTranscriptionSettings\n */\nexport interface VideoTranscriptionSettings {\n /**\n * \n * @type {string}\n * @memberof VideoTranscriptionSettings\n */\n closed_caption_mode: string;\n /**\n * \n * @type {string}\n * @memberof VideoTranscriptionSettings\n */\n mode: VideoTranscriptionSettingsModeEnum;\n}\n\n\n/**\n * @export\n */\nexport const VideoTranscriptionSettingsModeEnum = {\n AVAILABLE: 'available',\n DISABLED: 'disabled',\n AUTO_ON: 'auto-on'\n} as const;\nexport type VideoTranscriptionSettingsModeEnum = typeof VideoTranscriptionSettingsModeEnum[keyof typeof VideoTranscriptionSettingsModeEnum];\n\n/**\n * \n * @export\n * @interface VideoTranscriptionSettingsRequest\n */\nexport interface VideoTranscriptionSettingsRequest {\n /**\n * \n * @type {string}\n * @memberof VideoTranscriptionSettingsRequest\n */\n closed_caption_mode?: string;\n /**\n * \n * @type {string}\n * @memberof VideoTranscriptionSettingsRequest\n */\n mode?: VideoTranscriptionSettingsRequestModeEnum;\n}\n\n\n/**\n * @export\n */\nexport const VideoTranscriptionSettingsRequestModeEnum = {\n AVAILABLE: 'available',\n DISABLED: 'disabled',\n AUTO_ON: 'auto-on'\n} as const;\nexport type VideoTranscriptionSettingsRequestModeEnum = typeof VideoTranscriptionSettingsRequestModeEnum[keyof typeof VideoTranscriptionSettingsRequestModeEnum];\n\n/**\n * \n * @export\n * @interface VideoUnblockUserRequest\n */\nexport interface VideoUnblockUserRequest {\n /**\n * the user to unblock\n * @type {string}\n * @memberof VideoUnblockUserRequest\n */\n user_id: string;\n}\n/**\n * \n * @export\n * @interface VideoUnblockUserResponse\n */\nexport interface VideoUnblockUserResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof VideoUnblockUserResponse\n */\n duration: string;\n}\n/**\n * This event is sent when a user is unblocked on a call, \n * this can be useful to notify the user that they can now join the call again\n * @export\n * @interface VideoUnblockedUserEvent\n */\nexport interface VideoUnblockedUserEvent {\n /**\n * \n * @type {string}\n * @memberof VideoUnblockedUserEvent\n */\n call_cid: string;\n /**\n * \n * @type {string}\n * @memberof VideoUnblockedUserEvent\n */\n created_at: string;\n /**\n * The type of event: \"call.unblocked_user\" in this case\n * @type {string}\n * @memberof VideoUnblockedUserEvent\n */\n type: string;\n /**\n * \n * @type {VideoUserResponse}\n * @memberof VideoUnblockedUserEvent\n */\n user: VideoUserResponse;\n}\n/**\n * \n * @export\n * @interface VideoUnpinRequest\n */\nexport interface VideoUnpinRequest {\n /**\n * \n * @type {string}\n * @memberof VideoUnpinRequest\n */\n session_id: string;\n /**\n * \n * @type {string}\n * @memberof VideoUnpinRequest\n */\n user_id: string;\n}\n/**\n * \n * @export\n * @interface VideoUnpinResponse\n */\nexport interface VideoUnpinResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof VideoUnpinResponse\n */\n duration: string;\n}\n/**\n * \n * @export\n * @interface VideoUpdateCallMembersRequest\n */\nexport interface VideoUpdateCallMembersRequest {\n /**\n * List of userID to remove\n * @type {Array<string>}\n * @memberof VideoUpdateCallMembersRequest\n */\n remove_members?: Array<string>;\n /**\n * List of members to update or insert\n * @type {Array<VideoMemberRequest>}\n * @memberof VideoUpdateCallMembersRequest\n */\n update_members?: Array<VideoMemberRequest>;\n}\n/**\n * \n * @export\n * @interface VideoUpdateCallMembersResponse\n */\nexport interface VideoUpdateCallMembersResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof VideoUpdateCallMembersResponse\n */\n duration: string;\n /**\n * \n * @type {Array<VideoMemberResponse>}\n * @memberof VideoUpdateCallMembersResponse\n */\n members: Array<VideoMemberResponse>;\n}\n/**\n * \n * @export\n * @interface VideoUpdateCallRequest\n */\nexport interface VideoUpdateCallRequest {\n /**\n * Custom data for this object\n * @type {{ [key: string]: any; }}\n * @memberof VideoUpdateCallRequest\n */\n custom?: { [key: string]: any; };\n /**\n * \n * @type {VideoCallSettingsRequest}\n * @memberof VideoUpdateCallRequest\n */\n settings_override?: VideoCallSettingsRequest;\n /**\n * the time the call is scheduled to start\n * @type {string}\n * @memberof VideoUpdateCallRequest\n */\n starts_at?: string;\n}\n/**\n * Represents a call\n * @export\n * @interface VideoUpdateCallResponse\n */\nexport interface VideoUpdateCallResponse {\n /**\n * \n * @type {VideoCallResponse}\n * @memberof VideoUpdateCallResponse\n */\n call: VideoCallResponse;\n /**\n * \n * @type {string}\n * @memberof VideoUpdateCallResponse\n */\n duration: string;\n /**\n * \n * @type {Array<VideoMemberResponse>}\n * @memberof VideoUpdateCallResponse\n */\n members: Array<VideoMemberResponse>;\n /**\n * \n * @type {VideoMemberResponse}\n * @memberof VideoUpdateCallResponse\n */\n membership?: VideoMemberResponse;\n /**\n * \n * @type {Array<VideoOwnCapability>}\n * @memberof VideoUpdateCallResponse\n */\n own_capabilities: Array<VideoOwnCapability>;\n}\n/**\n * \n * @export\n * @interface VideoUpdateCallTypeRequest\n */\nexport interface VideoUpdateCallTypeRequest {\n /**\n * \n * @type {{ [key: string]: Array<string>; }}\n * @memberof VideoUpdateCallTypeRequest\n */\n grants?: { [key: string]: Array<string>; };\n /**\n * \n * @type {VideoNotificationSettingsRequest}\n * @memberof VideoUpdateCallTypeRequest\n */\n notification_settings?: VideoNotificationSettingsRequest;\n /**\n * \n * @type {VideoCallSettingsRequest}\n * @memberof VideoUpdateCallTypeRequest\n */\n settings?: VideoCallSettingsRequest;\n}\n/**\n * \n * @export\n * @interface VideoUpdateCallTypeResponse\n */\nexport interface VideoUpdateCallTypeResponse {\n /**\n * \n * @type {string}\n * @memberof VideoUpdateCallTypeResponse\n */\n created_at: string;\n /**\n * \n * @type {string}\n * @memberof VideoUpdateCallTypeResponse\n */\n duration: string;\n /**\n * \n * @type {{ [key: string]: Array<string>; }}\n * @memberof VideoUpdateCallTypeResponse\n */\n grants: { [key: string]: Array<string>; };\n /**\n * \n * @type {string}\n * @memberof VideoUpdateCallTypeResponse\n */\n name: string;\n /**\n * \n * @type {VideoNotificationSettings}\n * @memberof VideoUpdateCallTypeResponse\n */\n notification_settings: VideoNotificationSettings;\n /**\n * \n * @type {VideoCallSettingsResponse}\n * @memberof VideoUpdateCallTypeResponse\n */\n settings: VideoCallSettingsResponse;\n /**\n * \n * @type {string}\n * @memberof VideoUpdateCallTypeResponse\n */\n updated_at: string;\n}\n/**\n * \n * @export\n * @interface VideoUpdateUserPermissionsRequest\n */\nexport interface VideoUpdateUserPermissionsRequest {\n /**\n * \n * @type {Array<string>}\n * @memberof VideoUpdateUserPermissionsRequest\n */\n grant_permissions?: Array<string>;\n /**\n * \n * @type {Array<string>}\n * @memberof VideoUpdateUserPermissionsRequest\n */\n revoke_permissions?: Array<string>;\n /**\n * \n * @type {string}\n * @memberof VideoUpdateUserPermissionsRequest\n */\n user_id: string;\n}\n/**\n * \n * @export\n * @interface VideoUpdateUserPermissionsResponse\n */\nexport interface VideoUpdateUserPermissionsResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof VideoUpdateUserPermissionsResponse\n */\n duration: string;\n}\n/**\n * This event is sent to notify about permission changes for a user, clients receiving this event should update their UI accordingly\n * @export\n * @interface VideoUpdatedCallPermissionsEvent\n */\nexport interface VideoUpdatedCallPermissionsEvent {\n /**\n * \n * @type {string}\n * @memberof VideoUpdatedCallPermissionsEvent\n */\n call_cid: string;\n /**\n * \n * @type {string}\n * @memberof VideoUpdatedCallPermissionsEvent\n */\n created_at: string;\n /**\n * The capabilities of the current user\n * @type {Array<VideoOwnCapability>}\n * @memberof VideoUpdatedCallPermissionsEvent\n */\n own_capabilities: Array<VideoOwnCapability>;\n /**\n * The type of event: \"call.permissions_updated\" in this case\n * @type {string}\n * @memberof VideoUpdatedCallPermissionsEvent\n */\n type: string;\n /**\n * \n * @type {VideoUserResponse}\n * @memberof VideoUpdatedCallPermissionsEvent\n */\n user: VideoUserResponse;\n}\n/**\n * \n * @export\n * @interface VideoUserRequest\n */\nexport interface VideoUserRequest {\n /**\n * \n * @type {{ [key: string]: any; }}\n * @memberof VideoUserRequest\n */\n custom?: { [key: string]: any; };\n /**\n * User ID\n * @type {string}\n * @memberof VideoUserRequest\n */\n id: string;\n /**\n * \n * @type {string}\n * @memberof VideoUserRequest\n */\n image?: string;\n /**\n * Optional name of user\n * @type {string}\n * @memberof VideoUserRequest\n */\n name?: string;\n /**\n * \n * @type {string}\n * @memberof VideoUserRequest\n */\n role?: string;\n /**\n * \n * @type {Array<string>}\n * @memberof VideoUserRequest\n */\n teams?: Array<string>;\n}\n/**\n * \n * @export\n * @interface VideoUserResponse\n */\nexport interface VideoUserResponse {\n /**\n * Date/time of creation\n * @type {string}\n * @memberof VideoUserResponse\n */\n created_at: string;\n /**\n * \n * @type {{ [key: string]: any; }}\n * @memberof VideoUserResponse\n */\n custom: { [key: string]: any; };\n /**\n * Date/time of deletion\n * @type {string}\n * @memberof VideoUserResponse\n */\n deleted_at?: string;\n /**\n * \n * @type {string}\n * @memberof VideoUserResponse\n */\n id: string;\n /**\n * \n * @type {string}\n * @memberof VideoUserResponse\n */\n image?: string;\n /**\n * \n * @type {string}\n * @memberof VideoUserResponse\n */\n name?: string;\n /**\n * \n * @type {string}\n * @memberof VideoUserResponse\n */\n role: string;\n /**\n * \n * @type {Array<string>}\n * @memberof VideoUserResponse\n */\n teams: Array<string>;\n /**\n * Date/time of the last update\n * @type {string}\n * @memberof VideoUserResponse\n */\n updated_at: string;\n}\n/**\n * @type VideoVideoEvent\n * The discriminator object for all websocket events, you should use this to map event payloads to their own type\n * @export\n */\nexport type VideoVideoEvent = { type: 'call.accepted' } & VideoCallAcceptedEvent | { type: 'call.blocked_user' } & VideoBlockedUserEvent | { type: 'call.created' } & VideoCallCreatedEvent | { type: 'call.ended' } & VideoCallEndedEvent | { type: 'call.hls_broadcasting_failed' } & VideoCallHLSBroadcastingFailedEvent | { type: 'call.hls_broadcasting_started' } & VideoCallHLSBroadcastingStartedEvent | { type: 'call.hls_broadcasting_stopped' } & VideoCallHLSBroadcastingStoppedEvent | { type: 'call.live_started' } & VideoCallLiveStartedEvent | { type: 'call.member_added' } & VideoCallMemberAddedEvent | { type: 'call.member_removed' } & VideoCallMemberRemovedEvent | { type: 'call.member_updated' } & VideoCallMemberUpdatedEvent | { type: 'call.member_updated_permission' } & VideoCallMemberUpdatedPermissionEvent | { type: 'call.notification' } & VideoCallNotificationEvent | { type: 'call.permission_request' } & VideoPermissionRequestEvent | { type: 'call.permissions_updated' } & VideoUpdatedCallPermissionsEvent | { type: 'call.reaction_new' } & VideoCallReactionEvent | { type: 'call.recording_failed' } & VideoCallRecordingFailedEvent | { type: 'call.recording_ready' } & VideoCallRecordingReadyEvent | { type: 'call.recording_started' } & VideoCallRecordingStartedEvent | { type: 'call.recording_stopped' } & VideoCallRecordingStoppedEvent | { type: 'call.rejected' } & VideoCallRejectedEvent | { type: 'call.ring' } & VideoCallRingEvent | { type: 'call.session_ended' } & VideoCallSessionEndedEvent | { type: 'call.session_participant_joined' } & VideoCallSessionParticipantJoinedEvent | { type: 'call.session_participant_left' } & VideoCallSessionParticipantLeftEvent | { type: 'call.session_started' } & VideoCallSessionStartedEvent | { type: 'call.unblocked_user' } & VideoUnblockedUserEvent | { type: 'call.updated' } & VideoCallUpdatedEvent | { type: 'call.user_muted' } & VideoCallUserMuted | { type: 'connection.error' } & VideoConnectionErrorEvent | { type: 'connection.ok' } & VideoConnectedEvent | { type: 'custom' } & VideoCustomVideoEvent | { type: 'health.check' } & VideoHealthCheckEvent;\n/**\n * \n * @export\n * @interface VideoVideoSettings\n */\nexport interface VideoVideoSettings {\n /**\n * \n * @type {boolean}\n * @memberof VideoVideoSettings\n */\n access_request_enabled: boolean;\n /**\n * \n * @type {boolean}\n * @memberof VideoVideoSettings\n */\n camera_default_on: boolean;\n /**\n * \n * @type {string}\n * @memberof VideoVideoSettings\n */\n camera_facing: VideoVideoSettingsCameraFacingEnum;\n /**\n * \n * @type {boolean}\n * @memberof VideoVideoSettings\n */\n enabled: boolean;\n /**\n * \n * @type {VideoTargetResolution}\n * @memberof VideoVideoSettings\n */\n target_resolution: VideoTargetResolution;\n}\n\n\n/**\n * @export\n */\nexport const VideoVideoSettingsCameraFacingEnum = {\n FRONT: 'front',\n BACK: 'back',\n EXTERNAL: 'external'\n} as const;\nexport type VideoVideoSettingsCameraFacingEnum = typeof VideoVideoSettingsCameraFacingEnum[keyof typeof VideoVideoSettingsCameraFacingEnum];\n\n/**\n * \n * @export\n * @interface VideoVideoSettingsRequest\n */\nexport interface VideoVideoSettingsRequest {\n /**\n * \n * @type {boolean}\n * @memberof VideoVideoSettingsRequest\n */\n access_request_enabled?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof VideoVideoSettingsRequest\n */\n camera_default_on?: boolean;\n /**\n * \n * @type {string}\n * @memberof VideoVideoSettingsRequest\n */\n camera_facing?: VideoVideoSettingsRequestCameraFacingEnum;\n /**\n * \n * @type {boolean}\n * @memberof VideoVideoSettingsRequest\n */\n enabled?: boolean;\n /**\n * \n * @type {VideoTargetResolutionRequest}\n * @memberof VideoVideoSettingsRequest\n */\n target_resolution?: VideoTargetResolutionRequest;\n}\n\n\n/**\n * @export\n */\nexport const VideoVideoSettingsRequestCameraFacingEnum = {\n FRONT: 'front',\n BACK: 'back',\n EXTERNAL: 'external'\n} as const;\nexport type VideoVideoSettingsRequestCameraFacingEnum = typeof VideoVideoSettingsRequestCameraFacingEnum[keyof typeof VideoVideoSettingsRequestCameraFacingEnum];\n\n/**\n * \n * @export\n * @interface VideoWSAuthMessageRequest\n */\nexport interface VideoWSAuthMessageRequest {\n /**\n * \n * @type {string}\n * @memberof VideoWSAuthMessageRequest\n */\n token: string;\n /**\n * \n * @type {VideoConnectUserDetailsRequest}\n * @memberof VideoWSAuthMessageRequest\n */\n user_details: VideoConnectUserDetailsRequest;\n}\n/**\n * This is just a placeholder for all client events\n * @export\n * @interface VideoWSCallEvent\n */\nexport interface VideoWSCallEvent {\n /**\n * \n * @type {string}\n * @memberof VideoWSCallEvent\n */\n call_cid?: string;\n}\n/**\n * This is just a placeholder for all client events\n * @export\n * @interface VideoWSClientEvent\n */\nexport interface VideoWSClientEvent {\n /**\n * \n * @type {string}\n * @memberof VideoWSClientEvent\n */\n connection_id?: string;\n}\n","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.push(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.push(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stream Chat API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v89.9.2\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport const BASE_PATH = \"https://chat.stream-io-api.com\".replace(/\\/+$/, \"\");\n\nexport interface ConfigurationParameters {\n basePath?: string; // override base path\n fetchApi?: FetchAPI; // override for fetch implementation\n middleware?: Middleware[]; // middleware to apply before/after fetch requests\n queryParamsStringify?: (params: HTTPQuery) => string; // stringify function for query strings\n username?: string; // parameter for basic security\n password?: string; // parameter for basic security\n apiKey?: string | ((name: string) => string); // parameter for apiKey security\n accessToken?: string | Promise<string> | ((name?: string, scopes?: string[]) => string | Promise<string>); // parameter for oauth2 security\n headers?: HTTPHeaders; //header params we want to use on every request\n credentials?: RequestCredentials; //value for the credentials param we want to use on each request\n}\n\nexport class Configuration {\n constructor(private configuration: ConfigurationParameters = {}) {}\n\n set config(configuration: Configuration) {\n this.configuration = configuration;\n }\n\n get basePath(): string {\n return this.configuration.basePath != null ? this.configuration.basePath : BASE_PATH;\n }\n\n get fetchApi(): FetchAPI | undefined {\n return this.configuration.fetchApi;\n }\n\n get middleware(): Middleware[] {\n return this.configuration.middleware || [];\n }\n\n get queryParamsStringify(): (params: HTTPQuery) => string {\n return this.configuration.queryParamsStringify || querystring;\n }\n\n get username(): string | undefined {\n return this.configuration.username;\n }\n\n get password(): string | undefined {\n return this.configuration.password;\n }\n\n get apiKey(): ((name: string) => string) | undefined {\n const apiKey = this.configuration.apiKey;\n if (apiKey) {\n return typeof apiKey === 'function' ? apiKey : () => apiKey;\n }\n return undefined;\n }\n\n get accessToken(): ((name?: string, scopes?: string[]) => string | Promise<string>) | undefined {\n const accessToken = this.configuration.accessToken;\n if (accessToken) {\n return typeof accessToken === 'function' ? accessToken : async () => accessToken;\n }\n return undefined;\n }\n\n get headers(): HTTPHeaders | undefined {\n return this.configuration.headers;\n }\n\n get credentials(): RequestCredentials | undefined {\n return this.configuration.credentials;\n }\n}\n\nexport const DefaultConfig = new Configuration();\n\n/**\n * This is the base class for all generated API classes.\n */\nexport class BaseAPI {\n\n\t private static readonly jsonRegex = new RegExp('^(:?application\\/json|[^;/ \\t]+\\/[^;/ \\t]+[+]json)[ \\t]*(:?;.*)?$', 'i');\n private middleware: Middleware[];\n\n constructor(protected configuration = DefaultConfig) {\n this.middleware = configuration.middleware;\n }\n\n withMiddleware<T extends BaseAPI>(this: T, ...middlewares: Middleware[]) {\n const next = this.clone<T>();\n next.middleware = next.middleware.concat(...middlewares);\n return next;\n }\n\n withPreMiddleware<T extends BaseAPI>(this: T, ...preMiddlewares: Array<Middleware['pre']>) {\n const middlewares = preMiddlewares.map((pre) => ({ pre }));\n return this.withMiddleware<T>(...middlewares);\n }\n\n withPostMiddleware<T extends BaseAPI>(this: T, ...postMiddlewares: Array<Middleware['post']>) {\n const middlewares = postMiddlewares.map((post) => ({ post }));\n return this.withMiddleware<T>(...middlewares);\n }\n\n /**\n * Check if the given MIME is a JSON MIME.\n * JSON MIME examples:\n * application/json\n * application/json; charset=UTF8\n * APPLICATION/JSON\n * application/vnd.company+json\n * @param mime - MIME (Multipurpose Internet Mail Extensions)\n * @return True if the given MIME is JSON, false otherwise.\n */\n protected isJsonMime(mime: string | null | undefined): boolean {\n if (!mime) {\n return false;\n }\n return BaseAPI.jsonRegex.test(mime);\n }\n\n protected async request(context: RequestOpts, initOverrides?: RequestInit | InitOverrideFunction): Promise<Response> {\n const { url, init } = await this.createFetchParams(context, initOverrides);\n const response = await this.fetchApi(url, init);\n if (response && (response.status >= 200 && response.status < 300)) {\n return response;\n }\n throw new ResponseError(response, 'Response returned an error code');\n }\n\n private async createFetchParams(context: RequestOpts, initOverrides?: RequestInit | InitOverrideFunction) {\n let url = this.configuration.basePath + context.path;\n if (context.query !== undefined && Object.keys(context.query).length !== 0) {\n // only add the querystring to the URL if there are query parameters.\n // this is done to avoid urls ending with a \"?\" character which buggy webservers\n // do not handle correctly sometimes.\n url += '?' + this.configuration.queryParamsStringify(context.query);\n }\n\n const headers = Object.assign({}, this.configuration.headers, context.headers);\n Object.keys(headers).forEach(key => headers[key] === undefined ? delete headers[key] : {});\n\n const initOverrideFn =\n typeof initOverrides === \"function\"\n ? initOverrides\n : async () => initOverrides;\n\n const initParams = {\n method: context.method,\n headers,\n body: context.body,\n credentials: this.configuration.credentials,\n };\n\n const overriddenInit: RequestInit = {\n ...initParams,\n ...(await initOverrideFn({\n init: initParams,\n context,\n }))\n };\n\n const init: RequestInit = {\n ...overriddenInit,\n body:\n isFormData(overriddenInit.body) ||\n overriddenInit.body instanceof URLSearchParams ||\n isBlob(overriddenInit.body)\n ? overriddenInit.body\n : JSON.stringify(overriddenInit.body),\n };\n\n return { url, init };\n }\n\n private fetchApi = async (url: string, init: RequestInit) => {\n let fetchParams = { url, init };\n for (const middleware of this.middleware) {\n if (middleware.pre) {\n fetchParams = await middleware.pre({\n fetch: this.fetchApi,\n ...fetchParams,\n }) || fetchParams;\n }\n }\n let response: Response | undefined = undefined;\n try {\n response = await (this.configuration.fetchApi || fetch)(fetchParams.url, fetchParams.init);\n } catch (e) {\n for (const middleware of this.middleware) {\n if (middleware.onError) {\n response = await middleware.onError({\n fetch: this.fetchApi,\n url: fetchParams.url,\n init: fetchParams.init,\n error: e,\n response: response ? response.clone() : undefined,\n }) || response;\n }\n }\n if (response === undefined) {\n if (e instanceof Error) {\n throw new FetchError(e, 'The request failed and the interceptors did not return an alternative response');\n } else {\n throw e;\n }\n }\n }\n for (const middleware of this.middleware) {\n if (middleware.post) {\n response = await middleware.post({\n fetch: this.fetchApi,\n url: fetchParams.url,\n init: fetchParams.init,\n response: response.clone(),\n }) || response;\n }\n }\n return response;\n }\n\n /**\n * Create a shallow clone of `this` by constructing a new instance\n * and then shallow cloning data members.\n */\n private clone<T extends BaseAPI>(this: T): T {\n const constructor = this.constructor as any;\n const next = new constructor(this.configuration);\n next.middleware = this.middleware.slice();\n return next;\n }\n};\n\nfunction isBlob(value: any): value is Blob {\n return typeof Blob !== 'undefined' && value instanceof Blob;\n}\n\nfunction isFormData(value: any): value is FormData {\n return typeof FormData !== \"undefined\" && value instanceof FormData;\n}\n\nexport class ResponseError extends Error {\n override name: \"ResponseError\" = \"ResponseError\";\n constructor(public response: Response, msg?: string) {\n super(msg);\n }\n}\n\nexport class FetchError extends Error {\n override name: \"FetchError\" = \"FetchError\";\n constructor(public cause: Error, msg?: string) {\n super(msg);\n }\n}\n\nexport class RequiredError extends Error {\n override name: \"RequiredError\" = \"RequiredError\";\n constructor(public field: string, msg?: string) {\n super(msg);\n }\n}\n\nexport const COLLECTION_FORMATS = {\n csv: \",\",\n ssv: \" \",\n tsv: \"\\t\",\n pipes: \"|\",\n};\n\nexport type FetchAPI = WindowOrWorkerGlobalScope['fetch'];\n\nexport type Json = any;\nexport type HTTPMethod = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE' | 'OPTIONS' | 'HEAD';\nexport type HTTPHeaders = { [key: string]: string };\nexport type HTTPQuery = { [key: string]: string | number | null | boolean | Array<string | number | null | boolean> | Set<string | number | null | boolean> | HTTPQuery };\nexport type HTTPBody = Json | FormData | URLSearchParams;\nexport type HTTPRequestInit = { headers?: HTTPHeaders; method: HTTPMethod; credentials?: RequestCredentials; body?: HTTPBody };\nexport type ModelPropertyNaming = 'camelCase' | 'snake_case' | 'PascalCase' | 'original';\n\nexport type InitOverrideFunction = (requestContext: { init: HTTPRequestInit, context: RequestOpts }) => Promise<RequestInit>\n\nexport interface FetchParams {\n url: string;\n init: RequestInit;\n}\n\nexport interface RequestOpts {\n path: string;\n method: HTTPMethod;\n headers: HTTPHeaders;\n query?: HTTPQuery;\n body?: HTTPBody;\n}\n\n\nexport function querystring(params: HTTPQuery, prefix: string = ''): string {\n return Object.keys(params)\n .map(key => querystringSingleKey(key, params[key], prefix))\n .filter(part => part.length > 0)\n .join('&');\n}\n\nfunction querystringSingleKey(key: string, value: string | number | null | undefined | boolean | Array<string | number | null | boolean> | Set<string | number | null | boolean> | HTTPQuery, keyPrefix: string = ''): string {\n const fullKey = keyPrefix + (keyPrefix.length ? `[${key}]` : key);\n if (value instanceof Array) {\n const multiValue = value.map(singleValue => encodeURIComponent(String(singleValue)))\n .join(`&${encodeURIComponent(fullKey)}=`);\n return `${encodeURIComponent(fullKey)}=${multiValue}`;\n }\n if (value instanceof Set) {\n const valueAsArray = Array.from(value);\n return querystringSingleKey(key, valueAsArray, keyPrefix);\n }\n if (value instanceof Date) {\n return `${encodeURIComponent(fullKey)}=${encodeURIComponent(value.toISOString())}`;\n }\n if (value instanceof Object) {\n return querystring(value as HTTPQuery, fullKey);\n }\n return `${encodeURIComponent(fullKey)}=${encodeURIComponent(String(value))}`;\n}\n\n\nexport function canConsumeForm(consumes: Consume[]): boolean {\n for (const consume of consumes) {\n if ('multipart/form-data' === consume.contentType) {\n return true;\n }\n }\n return false;\n}\n\nexport interface Consume {\n contentType: string;\n}\n\nexport interface RequestContext {\n fetch: FetchAPI;\n url: string;\n init: RequestInit;\n}\n\nexport interface ResponseContext {\n fetch: FetchAPI;\n url: string;\n init: RequestInit;\n response: Response;\n}\n\nexport interface ErrorContext {\n fetch: FetchAPI;\n url: string;\n init: RequestInit;\n error: unknown;\n response?: Response;\n}\n\nexport interface Middleware {\n pre?(context: RequestContext): Promise<FetchParams | void>;\n post?(context: ResponseContext): Promise<Response | void>;\n onError?(context: ErrorContext): Promise<Response | void>;\n}\n\nexport interface ApiResponse<T> {\n raw: Response;\n value(): Promise<T>;\n}\n\nexport interface ResponseTransformer<T> {\n (json: any): T;\n}\n\nexport class JSONApiResponse<T> {\n constructor(public raw: Response, private transformer: ResponseTransformer<T> = (jsonValue: any) => jsonValue) {}\n\n async value(): Promise<T> {\n return this.transformer(await this.raw.json());\n }\n}\n\nexport class VoidApiResponse {\n constructor(public raw: Response) {}\n\n async value(): Promise<void> {\n return undefined;\n }\n}\n\nexport class BlobApiResponse {\n constructor(public raw: Response) {}\n\n async value(): Promise<Blob> {\n return await this.raw.blob();\n };\n}\n\nexport class TextApiResponse {\n constructor(public raw: Response) {}\n\n async value(): Promise<string> {\n return await this.raw.text();\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stream Chat API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v89.9.2\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport * as runtime from '../runtime';\nimport type {\n APIError,\n CreateChannelTypeRequest,\n CreateChannelTypeResponse,\n ListChannelTypesResponse,\n Response,\n UpdateChannelTypeRequest,\n UpdateChannelTypeResponse,\n} from '../models';\n\nexport interface CreateChannelTypeOperationRequest {\n createChannelTypeRequest: CreateChannelTypeRequest | null;\n}\n\nexport interface DeleteChannelTypeRequest {\n name: string;\n}\n\nexport interface GetChannelTypeRequest {\n name: string;\n}\n\nexport interface UpdateChannelTypeOperationRequest {\n name: string;\n updateChannelTypeRequest: UpdateChannelTypeRequest | null;\n}\n\n/**\n * \n */\nexport class ChannelTypesApi extends runtime.BaseAPI {\n\n /**\n * Creates new channel type \n * Create channel type\n */\n async createChannelTypeRaw(requestParameters: CreateChannelTypeOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<CreateChannelTypeResponse>> {\n if (requestParameters.createChannelTypeRequest === null || requestParameters.createChannelTypeRequest === undefined) {\n throw new runtime.RequiredError('createChannelTypeRequest','Required parameter requestParameters.createChannelTypeRequest was null or undefined when calling createChannelType.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/channeltypes`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.createChannelTypeRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Creates new channel type \n * Create channel type\n */\n async createChannelType(requestParameters: CreateChannelTypeOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<CreateChannelTypeResponse> {\n const response = await this.createChannelTypeRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Deletes channel type \n * Delete channel type\n */\n async deleteChannelTypeRaw(requestParameters: DeleteChannelTypeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Response>> {\n if (requestParameters.name === null || requestParameters.name === undefined) {\n throw new runtime.RequiredError('name','Required parameter requestParameters.name was null or undefined when calling deleteChannelType.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/channeltypes/{name}`.replace(`{${\"name\"}}`, encodeURIComponent(String(requestParameters.name))),\n method: 'DELETE',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Deletes channel type \n * Delete channel type\n */\n async deleteChannelType(requestParameters: DeleteChannelTypeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Response> {\n const response = await this.deleteChannelTypeRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Gets channel type \n * Get channel type\n */\n async getChannelTypeRaw(requestParameters: GetChannelTypeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Response>> {\n if (requestParameters.name === null || requestParameters.name === undefined) {\n throw new runtime.RequiredError('name','Required parameter requestParameters.name was null or undefined when calling getChannelType.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/channeltypes/{name}`.replace(`{${\"name\"}}`, encodeURIComponent(String(requestParameters.name))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Gets channel type \n * Get channel type\n */\n async getChannelType(requestParameters: GetChannelTypeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Response> {\n const response = await this.getChannelTypeRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Lists all available channel types \n * List channel types\n */\n async listChannelTypesRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ListChannelTypesResponse>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/channeltypes`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Lists all available channel types \n * List channel types\n */\n async listChannelTypes(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ListChannelTypesResponse> {\n const response = await this.listChannelTypesRaw(initOverrides);\n return await response.value();\n }\n\n /**\n * Updates channel type \n * Update channel type\n */\n async updateChannelTypeRaw(requestParameters: UpdateChannelTypeOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<UpdateChannelTypeResponse>> {\n if (requestParameters.name === null || requestParameters.name === undefined) {\n throw new runtime.RequiredError('name','Required parameter requestParameters.name was null or undefined when calling updateChannelType.');\n }\n\n if (requestParameters.updateChannelTypeRequest === null || requestParameters.updateChannelTypeRequest === undefined) {\n throw new runtime.RequiredError('updateChannelTypeRequest','Required parameter requestParameters.updateChannelTypeRequest was null or undefined when calling updateChannelType.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/channeltypes/{name}`.replace(`{${\"name\"}}`, encodeURIComponent(String(requestParameters.name))),\n method: 'PUT',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.updateChannelTypeRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Updates channel type \n * Update channel type\n */\n async updateChannelType(requestParameters: UpdateChannelTypeOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<UpdateChannelTypeResponse> {\n const response = await this.updateChannelTypeRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stream Chat API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v89.9.2\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport * as runtime from '../runtime';\nimport type {\n APIError,\n ChannelGetOrCreateRequest,\n ChannelStateResponse,\n ChannelStopWatchingRequest,\n ChannelsResponse,\n DeleteChannelResponse,\n DeleteChannelsRequest,\n DeleteChannelsResponse,\n ExportChannelsRequest,\n ExportChannelsResponse,\n GetExportChannelsStatusResponse,\n HideChannelRequest,\n HideChannelResponse,\n MarkChannelsReadRequest,\n MarkReadRequest,\n MarkReadResponse,\n MarkUnreadRequest,\n MembersResponse,\n MuteChannelRequest,\n MuteChannelResponse,\n QueryChannelsRequest,\n QueryMembersRequest,\n Response,\n SearchRequest,\n SearchResponse,\n ShowChannelRequest,\n ShowChannelResponse,\n StopWatchingResponse,\n SyncRequest,\n SyncResponse,\n TruncateChannelRequest,\n TruncateChannelResponse,\n UnmuteChannelRequest,\n UnmuteResponse,\n UpdateChannelPartialRequest,\n UpdateChannelPartialResponse,\n UpdateChannelRequest,\n UpdateChannelResponse,\n} from '../models';\n\nexport interface DeleteChannelRequest {\n type: string;\n id: string;\n hardDelete?: boolean;\n}\n\nexport interface DeleteChannelsOperationRequest {\n deleteChannelsRequest: DeleteChannelsRequest | null;\n}\n\nexport interface ExportChannelsOperationRequest {\n exportChannelsRequest: ExportChannelsRequest | null;\n}\n\nexport interface GetExportChannelsStatusRequest {\n id: string;\n}\n\nexport interface GetOrCreateChannelRequest {\n type: string;\n id: string;\n channelGetOrCreateRequest: ChannelGetOrCreateRequest | null;\n clientId?: string;\n connectionId?: string;\n}\n\nexport interface HideChannelOperationRequest {\n type: string;\n id: string;\n hideChannelRequest: HideChannelRequest | null;\n}\n\nexport interface MarkChannelsReadOperationRequest {\n markChannelsReadRequest: MarkChannelsReadRequest | null;\n}\n\nexport interface MarkReadOperationRequest {\n type: string;\n id: string;\n markReadRequest: MarkReadRequest | null;\n}\n\nexport interface MarkUnreadOperationRequest {\n type: string;\n id: string;\n markUnreadRequest: MarkUnreadRequest | null;\n}\n\nexport interface MuteChannelOperationRequest {\n muteChannelRequest: MuteChannelRequest | null;\n}\n\nexport interface QueryChannelsOperationRequest {\n queryChannelsRequest: QueryChannelsRequest | null;\n clientId?: string;\n connectionId?: string;\n}\n\nexport interface QueryMembersOperationRequest {\n payload?: QueryMembersRequest;\n}\n\nexport interface SearchOperationRequest {\n payload?: SearchRequest;\n}\n\nexport interface ShowChannelOperationRequest {\n type: string;\n id: string;\n showChannelRequest: ShowChannelRequest | null;\n}\n\nexport interface StopWatchingChannelRequest {\n type: string;\n id: string;\n channelStopWatchingRequest: ChannelStopWatchingRequest | null;\n clientId?: string;\n connectionId?: string;\n}\n\nexport interface SyncOperationRequest {\n syncRequest: SyncRequest | null;\n withInaccessibleCids?: boolean;\n watch?: boolean;\n clientId?: string;\n connectionId?: string;\n}\n\nexport interface TruncateChannelOperationRequest {\n type: string;\n id: string;\n truncateChannelRequest: TruncateChannelRequest | null;\n}\n\nexport interface UnmuteChannelOperationRequest {\n unmuteChannelRequest: UnmuteChannelRequest | null;\n}\n\nexport interface UpdateChannelOperationRequest {\n type: string;\n id: string;\n updateChannelRequest: UpdateChannelRequest | null;\n}\n\nexport interface UpdateChannelPartialOperationRequest {\n type: string;\n id: string;\n updateChannelPartialRequest: UpdateChannelPartialRequest | null;\n}\n\n/**\n * \n */\nexport class ChannelsApi extends runtime.BaseAPI {\n\n /**\n * Deletes channel Sends events: - channel.deleted Required permissions: - DeleteChannel \n * Delete channel\n */\n async deleteChannelRaw(requestParameters: DeleteChannelRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<DeleteChannelResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling deleteChannel.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling deleteChannel.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.hardDelete !== undefined) {\n queryParameters['hard_delete'] = requestParameters.hardDelete;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/channels/{type}/{id}`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'DELETE',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Deletes channel Sends events: - channel.deleted Required permissions: - DeleteChannel \n * Delete channel\n */\n async deleteChannel(requestParameters: DeleteChannelRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<DeleteChannelResponse> {\n const response = await this.deleteChannelRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Allows to delete several channels at once asynchronously Sends events: - channel.deleted Required permissions: - DeleteChannel \n * Deletes channels asynchronously\n */\n async deleteChannelsRaw(requestParameters: DeleteChannelsOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<DeleteChannelsResponse>> {\n if (requestParameters.deleteChannelsRequest === null || requestParameters.deleteChannelsRequest === undefined) {\n throw new runtime.RequiredError('deleteChannelsRequest','Required parameter requestParameters.deleteChannelsRequest was null or undefined when calling deleteChannels.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/channels/delete`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.deleteChannelsRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Allows to delete several channels at once asynchronously Sends events: - channel.deleted Required permissions: - DeleteChannel \n * Deletes channels asynchronously\n */\n async deleteChannels(requestParameters: DeleteChannelsOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<DeleteChannelsResponse> {\n const response = await this.deleteChannelsRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Exports channel data to JSON file \n * Export channels\n */\n async exportChannelsRaw(requestParameters: ExportChannelsOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ExportChannelsResponse>> {\n if (requestParameters.exportChannelsRequest === null || requestParameters.exportChannelsRequest === undefined) {\n throw new runtime.RequiredError('exportChannelsRequest','Required parameter requestParameters.exportChannelsRequest was null or undefined when calling exportChannels.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/export_channels`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.exportChannelsRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Exports channel data to JSON file \n * Export channels\n */\n async exportChannels(requestParameters: ExportChannelsOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ExportChannelsResponse> {\n const response = await this.exportChannelsRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * \n * Export channels status\n */\n async getExportChannelsStatusRaw(requestParameters: GetExportChannelsStatusRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetExportChannelsStatusResponse>> {\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling getExportChannelsStatus.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/export_channels/{id}`.replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * \n * Export channels status\n */\n async getExportChannelsStatus(requestParameters: GetExportChannelsStatusRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetExportChannelsStatusResponse> {\n const response = await this.getExportChannelsStatusRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * This method creates a channel or returns an existing one with matching attributes Sends events: - channel.created - member.added - member.removed - member.updated - user.watching.start \n * Get or create channel\n */\n async getOrCreateChannelRaw(requestParameters: GetOrCreateChannelRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ChannelStateResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling getOrCreateChannel.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling getOrCreateChannel.');\n }\n\n if (requestParameters.channelGetOrCreateRequest === null || requestParameters.channelGetOrCreateRequest === undefined) {\n throw new runtime.RequiredError('channelGetOrCreateRequest','Required parameter requestParameters.channelGetOrCreateRequest was null or undefined when calling getOrCreateChannel.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.clientId !== undefined) {\n queryParameters['client_id'] = requestParameters.clientId;\n }\n\n if (requestParameters.connectionId !== undefined) {\n queryParameters['connection_id'] = requestParameters.connectionId;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/channels/{type}/{id}/query`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.channelGetOrCreateRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * This method creates a channel or returns an existing one with matching attributes Sends events: - channel.created - member.added - member.removed - member.updated - user.watching.start \n * Get or create channel\n */\n async getOrCreateChannel(requestParameters: GetOrCreateChannelRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ChannelStateResponse> {\n const response = await this.getOrCreateChannelRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Marks channel as hidden for current user Sends events: - channel.hidden Required permissions: - ReadChannel \n * Hide channel\n */\n async hideChannelRaw(requestParameters: HideChannelOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<HideChannelResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling hideChannel.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling hideChannel.');\n }\n\n if (requestParameters.hideChannelRequest === null || requestParameters.hideChannelRequest === undefined) {\n throw new runtime.RequiredError('hideChannelRequest','Required parameter requestParameters.hideChannelRequest was null or undefined when calling hideChannel.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/channels/{type}/{id}/hide`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.hideChannelRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Marks channel as hidden for current user Sends events: - channel.hidden Required permissions: - ReadChannel \n * Hide channel\n */\n async hideChannel(requestParameters: HideChannelOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<HideChannelResponse> {\n const response = await this.hideChannelRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Marks channels as read up to the specific message. If no channels is given, mark all channel as read Sends events: - message.read Required permissions: - ReadChannel \n * Mark channels as read\n */\n async markChannelsReadRaw(requestParameters: MarkChannelsReadOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<MarkReadResponse>> {\n if (requestParameters.markChannelsReadRequest === null || requestParameters.markChannelsReadRequest === undefined) {\n throw new runtime.RequiredError('markChannelsReadRequest','Required parameter requestParameters.markChannelsReadRequest was null or undefined when calling markChannelsRead.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/channels/read`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.markChannelsReadRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Marks channels as read up to the specific message. If no channels is given, mark all channel as read Sends events: - message.read Required permissions: - ReadChannel \n * Mark channels as read\n */\n async markChannelsRead(requestParameters: MarkChannelsReadOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<MarkReadResponse> {\n const response = await this.markChannelsReadRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Marks channel as read up to the specific message Sends events: - message.read Required permissions: - ReadChannel \n * Mark read\n */\n async markReadRaw(requestParameters: MarkReadOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<MarkReadResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling markRead.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling markRead.');\n }\n\n if (requestParameters.markReadRequest === null || requestParameters.markReadRequest === undefined) {\n throw new runtime.RequiredError('markReadRequest','Required parameter requestParameters.markReadRequest was null or undefined when calling markRead.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/channels/{type}/{id}/read`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.markReadRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Marks channel as read up to the specific message Sends events: - message.read Required permissions: - ReadChannel \n * Mark read\n */\n async markRead(requestParameters: MarkReadOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<MarkReadResponse> {\n const response = await this.markReadRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Marks channel as unread from a specific message Required permissions: - ReadChannel \n * Mark unread\n */\n async markUnreadRaw(requestParameters: MarkUnreadOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Response>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling markUnread.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling markUnread.');\n }\n\n if (requestParameters.markUnreadRequest === null || requestParameters.markUnreadRequest === undefined) {\n throw new runtime.RequiredError('markUnreadRequest','Required parameter requestParameters.markUnreadRequest was null or undefined when calling markUnread.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/channels/{type}/{id}/unread`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.markUnreadRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Marks channel as unread from a specific message Required permissions: - ReadChannel \n * Mark unread\n */\n async markUnread(requestParameters: MarkUnreadOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Response> {\n const response = await this.markUnreadRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Mutes channel for user Sends events: - channel.muted Required permissions: - MuteChannel \n * Mute channel\n */\n async muteChannelRaw(requestParameters: MuteChannelOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<MuteChannelResponse>> {\n if (requestParameters.muteChannelRequest === null || requestParameters.muteChannelRequest === undefined) {\n throw new runtime.RequiredError('muteChannelRequest','Required parameter requestParameters.muteChannelRequest was null or undefined when calling muteChannel.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/moderation/mute/channel`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.muteChannelRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Mutes channel for user Sends events: - channel.muted Required permissions: - MuteChannel \n * Mute channel\n */\n async muteChannel(requestParameters: MuteChannelOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<MuteChannelResponse> {\n const response = await this.muteChannelRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Query channels with filter query Required permissions: - ReadChannel \n * Query channels\n */\n async queryChannelsRaw(requestParameters: QueryChannelsOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ChannelsResponse>> {\n if (requestParameters.queryChannelsRequest === null || requestParameters.queryChannelsRequest === undefined) {\n throw new runtime.RequiredError('queryChannelsRequest','Required parameter requestParameters.queryChannelsRequest was null or undefined when calling queryChannels.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.clientId !== undefined) {\n queryParameters['client_id'] = requestParameters.clientId;\n }\n\n if (requestParameters.connectionId !== undefined) {\n queryParameters['connection_id'] = requestParameters.connectionId;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/channels`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.queryChannelsRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Query channels with filter query Required permissions: - ReadChannel \n * Query channels\n */\n async queryChannels(requestParameters: QueryChannelsOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ChannelsResponse> {\n const response = await this.queryChannelsRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Find and filter channel members Required permissions: - ReadChannel \n * Query members\n */\n async queryMembersRaw(requestParameters: QueryMembersOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<MembersResponse>> {\n const queryParameters: any = {};\n\n if (requestParameters.payload !== undefined) {\n queryParameters['payload'] = requestParameters.payload;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/members`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Find and filter channel members Required permissions: - ReadChannel \n * Query members\n */\n async queryMembers(requestParameters: QueryMembersOperationRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<MembersResponse> {\n const response = await this.queryMembersRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Search messages across channels Required permissions: - ReadChannel \n * Search messages\n */\n async searchRaw(requestParameters: SearchOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SearchResponse>> {\n const queryParameters: any = {};\n\n if (requestParameters.payload !== undefined) {\n queryParameters['payload'] = requestParameters.payload;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/search`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Search messages across channels Required permissions: - ReadChannel \n * Search messages\n */\n async search(requestParameters: SearchOperationRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SearchResponse> {\n const response = await this.searchRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Shows previously hidden channel Sends events: - channel.visible \n * Show channel\n */\n async showChannelRaw(requestParameters: ShowChannelOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ShowChannelResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling showChannel.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling showChannel.');\n }\n\n if (requestParameters.showChannelRequest === null || requestParameters.showChannelRequest === undefined) {\n throw new runtime.RequiredError('showChannelRequest','Required parameter requestParameters.showChannelRequest was null or undefined when calling showChannel.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/channels/{type}/{id}/show`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.showChannelRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Shows previously hidden channel Sends events: - channel.visible \n * Show channel\n */\n async showChannel(requestParameters: ShowChannelOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ShowChannelResponse> {\n const response = await this.showChannelRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Call this method to stop receiving channel events Sends events: - user.watching.stop \n * Stop watching channel\n */\n async stopWatchingChannelRaw(requestParameters: StopWatchingChannelRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<StopWatchingResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling stopWatchingChannel.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling stopWatchingChannel.');\n }\n\n if (requestParameters.channelStopWatchingRequest === null || requestParameters.channelStopWatchingRequest === undefined) {\n throw new runtime.RequiredError('channelStopWatchingRequest','Required parameter requestParameters.channelStopWatchingRequest was null or undefined when calling stopWatchingChannel.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.clientId !== undefined) {\n queryParameters['client_id'] = requestParameters.clientId;\n }\n\n if (requestParameters.connectionId !== undefined) {\n queryParameters['connection_id'] = requestParameters.connectionId;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/channels/{type}/{id}/stop-watching`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.channelStopWatchingRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Call this method to stop receiving channel events Sends events: - user.watching.stop \n * Stop watching channel\n */\n async stopWatchingChannel(requestParameters: StopWatchingChannelRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<StopWatchingResponse> {\n const response = await this.stopWatchingChannelRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Returns all events happened since client disconnect in specified channels Required permissions: - ReadChannel \n * Sync\n */\n async syncRaw(requestParameters: SyncOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SyncResponse>> {\n if (requestParameters.syncRequest === null || requestParameters.syncRequest === undefined) {\n throw new runtime.RequiredError('syncRequest','Required parameter requestParameters.syncRequest was null or undefined when calling sync.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.withInaccessibleCids !== undefined) {\n queryParameters['with_inaccessible_cids'] = requestParameters.withInaccessibleCids;\n }\n\n if (requestParameters.watch !== undefined) {\n queryParameters['watch'] = requestParameters.watch;\n }\n\n if (requestParameters.clientId !== undefined) {\n queryParameters['client_id'] = requestParameters.clientId;\n }\n\n if (requestParameters.connectionId !== undefined) {\n queryParameters['connection_id'] = requestParameters.connectionId;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/sync`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.syncRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Returns all events happened since client disconnect in specified channels Required permissions: - ReadChannel \n * Sync\n */\n async sync(requestParameters: SyncOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SyncResponse> {\n const response = await this.syncRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Truncates channel Sends events: - channel.truncated Required permissions: - DeleteChannel - TruncateChannel \n * Truncate channel\n */\n async truncateChannelRaw(requestParameters: TruncateChannelOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<TruncateChannelResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling truncateChannel.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling truncateChannel.');\n }\n\n if (requestParameters.truncateChannelRequest === null || requestParameters.truncateChannelRequest === undefined) {\n throw new runtime.RequiredError('truncateChannelRequest','Required parameter requestParameters.truncateChannelRequest was null or undefined when calling truncateChannel.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/channels/{type}/{id}/truncate`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.truncateChannelRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Truncates channel Sends events: - channel.truncated Required permissions: - DeleteChannel - TruncateChannel \n * Truncate channel\n */\n async truncateChannel(requestParameters: TruncateChannelOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<TruncateChannelResponse> {\n const response = await this.truncateChannelRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Unmutes channel for user Sends events: - channel.unmuted Required permissions: - MuteChannel \n * Unmute channel\n */\n async unmuteChannelRaw(requestParameters: UnmuteChannelOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<UnmuteResponse>> {\n if (requestParameters.unmuteChannelRequest === null || requestParameters.unmuteChannelRequest === undefined) {\n throw new runtime.RequiredError('unmuteChannelRequest','Required parameter requestParameters.unmuteChannelRequest was null or undefined when calling unmuteChannel.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/moderation/unmute/channel`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.unmuteChannelRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Unmutes channel for user Sends events: - channel.unmuted Required permissions: - MuteChannel \n * Unmute channel\n */\n async unmuteChannel(requestParameters: UnmuteChannelOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<UnmuteResponse> {\n const response = await this.unmuteChannelRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Change channel data Sends events: - channel.updated - member.added - member.removed - member.updated - message.new Required permissions: - AddOwnChannelMembership - RemoveOwnChannelMembership - UpdateChannel - UpdateChannelCooldown - UpdateChannelFrozen - UpdateChannelMembers \n * Update channel\n */\n async updateChannelRaw(requestParameters: UpdateChannelOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<UpdateChannelResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling updateChannel.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling updateChannel.');\n }\n\n if (requestParameters.updateChannelRequest === null || requestParameters.updateChannelRequest === undefined) {\n throw new runtime.RequiredError('updateChannelRequest','Required parameter requestParameters.updateChannelRequest was null or undefined when calling updateChannel.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/channels/{type}/{id}`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.updateChannelRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Change channel data Sends events: - channel.updated - member.added - member.removed - member.updated - message.new Required permissions: - AddOwnChannelMembership - RemoveOwnChannelMembership - UpdateChannel - UpdateChannelCooldown - UpdateChannelFrozen - UpdateChannelMembers \n * Update channel\n */\n async updateChannel(requestParameters: UpdateChannelOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<UpdateChannelResponse> {\n const response = await this.updateChannelRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Updates certain fields of the channel Sends events: - channel.updated Required permissions: - UpdateChannel - UpdateChannelCooldown - UpdateChannelFrozen \n * Partially update channel\n */\n async updateChannelPartialRaw(requestParameters: UpdateChannelPartialOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<UpdateChannelPartialResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling updateChannelPartial.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling updateChannelPartial.');\n }\n\n if (requestParameters.updateChannelPartialRequest === null || requestParameters.updateChannelPartialRequest === undefined) {\n throw new runtime.RequiredError('updateChannelPartialRequest','Required parameter requestParameters.updateChannelPartialRequest was null or undefined when calling updateChannelPartial.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/channels/{type}/{id}`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'PATCH',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.updateChannelPartialRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Updates certain fields of the channel Sends events: - channel.updated Required permissions: - UpdateChannel - UpdateChannelCooldown - UpdateChannelFrozen \n * Partially update channel\n */\n async updateChannelPartial(requestParameters: UpdateChannelPartialOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<UpdateChannelPartialResponse> {\n const response = await this.updateChannelPartialRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stream Chat API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v89.9.2\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport * as runtime from '../runtime';\nimport type {\n APIError,\n CreateCommandRequest,\n CreateCommandResponse,\n DeleteCommandResponse,\n GetCommandResponse,\n ListCommandsResponse,\n UpdateCommandRequest,\n UpdateCommandResponse,\n} from '../models';\n\nexport interface CreateCommandOperationRequest {\n createCommandRequest: CreateCommandRequest | null;\n}\n\nexport interface DeleteCommandRequest {\n name: string;\n}\n\nexport interface GetCommandRequest {\n name: string;\n}\n\nexport interface UpdateCommandOperationRequest {\n name: string;\n updateCommandRequest: UpdateCommandRequest | null;\n}\n\n/**\n * \n */\nexport class CustomCommandsApi extends runtime.BaseAPI {\n\n /**\n * Creates custom chat command \n * Create command\n */\n async createCommandRaw(requestParameters: CreateCommandOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<CreateCommandResponse>> {\n if (requestParameters.createCommandRequest === null || requestParameters.createCommandRequest === undefined) {\n throw new runtime.RequiredError('createCommandRequest','Required parameter requestParameters.createCommandRequest was null or undefined when calling createCommand.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/commands`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.createCommandRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Creates custom chat command \n * Create command\n */\n async createCommand(requestParameters: CreateCommandOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<CreateCommandResponse> {\n const response = await this.createCommandRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Deletes custom chat command \n * Delete command\n */\n async deleteCommandRaw(requestParameters: DeleteCommandRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<DeleteCommandResponse>> {\n if (requestParameters.name === null || requestParameters.name === undefined) {\n throw new runtime.RequiredError('name','Required parameter requestParameters.name was null or undefined when calling deleteCommand.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/commands/{name}`.replace(`{${\"name\"}}`, encodeURIComponent(String(requestParameters.name))),\n method: 'DELETE',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Deletes custom chat command \n * Delete command\n */\n async deleteCommand(requestParameters: DeleteCommandRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<DeleteCommandResponse> {\n const response = await this.deleteCommandRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Returns custom command by its name \n * Get command\n */\n async getCommandRaw(requestParameters: GetCommandRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetCommandResponse>> {\n if (requestParameters.name === null || requestParameters.name === undefined) {\n throw new runtime.RequiredError('name','Required parameter requestParameters.name was null or undefined when calling getCommand.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/commands/{name}`.replace(`{${\"name\"}}`, encodeURIComponent(String(requestParameters.name))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Returns custom command by its name \n * Get command\n */\n async getCommand(requestParameters: GetCommandRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetCommandResponse> {\n const response = await this.getCommandRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Returns all custom commands \n * List commands\n */\n async listCommandsRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ListCommandsResponse>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/commands`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Returns all custom commands \n * List commands\n */\n async listCommands(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ListCommandsResponse> {\n const response = await this.listCommandsRaw(initOverrides);\n return await response.value();\n }\n\n /**\n * Updates custom chat command \n * Update command\n */\n async updateCommandRaw(requestParameters: UpdateCommandOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<UpdateCommandResponse>> {\n if (requestParameters.name === null || requestParameters.name === undefined) {\n throw new runtime.RequiredError('name','Required parameter requestParameters.name was null or undefined when calling updateCommand.');\n }\n\n if (requestParameters.updateCommandRequest === null || requestParameters.updateCommandRequest === undefined) {\n throw new runtime.RequiredError('updateCommandRequest','Required parameter requestParameters.updateCommandRequest was null or undefined when calling updateCommand.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/commands/{name}`.replace(`{${\"name\"}}`, encodeURIComponent(String(requestParameters.name))),\n method: 'PUT',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.updateCommandRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Updates custom chat command \n * Update command\n */\n async updateCommand(requestParameters: UpdateCommandOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<UpdateCommandResponse> {\n const response = await this.updateCommandRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stream Chat API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v89.9.2\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport * as runtime from '../runtime';\nimport type {\n APIError,\n CreateDeviceRequest,\n ListDevicesResponse,\n Response,\n} from '../models';\n\nexport interface CreateDeviceOperationRequest {\n createDeviceRequest: CreateDeviceRequest | null;\n}\n\nexport interface DeleteDeviceRequest {\n id?: string;\n userId?: string;\n}\n\nexport interface ListDevicesRequest {\n userId?: string;\n}\n\n/**\n * \n */\nexport class DevicesApi extends runtime.BaseAPI {\n\n /**\n * Adds a new device to a user, if the same device already exists the call will have no effect \n * Create device\n */\n async createDeviceRaw(requestParameters: CreateDeviceOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {\n if (requestParameters.createDeviceRequest === null || requestParameters.createDeviceRequest === undefined) {\n throw new runtime.RequiredError('createDeviceRequest','Required parameter requestParameters.createDeviceRequest was null or undefined when calling createDevice.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/devices`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.createDeviceRequest,\n }, initOverrides);\n\n return new runtime.VoidApiResponse(response);\n }\n\n /**\n * Adds a new device to a user, if the same device already exists the call will have no effect \n * Create device\n */\n async createDevice(requestParameters: CreateDeviceOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void> {\n await this.createDeviceRaw(requestParameters, initOverrides);\n }\n\n /**\n * Deletes one device \n * Delete device\n */\n async deleteDeviceRaw(requestParameters: DeleteDeviceRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Response>> {\n const queryParameters: any = {};\n\n if (requestParameters.id !== undefined) {\n queryParameters['id'] = requestParameters.id;\n }\n\n if (requestParameters.userId !== undefined) {\n queryParameters['user_id'] = requestParameters.userId;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/devices`,\n method: 'DELETE',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Deletes one device \n * Delete device\n */\n async deleteDevice(requestParameters: DeleteDeviceRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Response> {\n const response = await this.deleteDeviceRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Returns all available devices \n * List devices\n */\n async listDevicesRaw(requestParameters: ListDevicesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ListDevicesResponse>> {\n const queryParameters: any = {};\n\n if (requestParameters.userId !== undefined) {\n queryParameters['user_id'] = requestParameters.userId;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/devices`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Returns all available devices \n * List devices\n */\n async listDevices(requestParameters: ListDevicesRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ListDevicesResponse> {\n const response = await this.listDevicesRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stream Chat API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v89.9.2\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport * as runtime from '../runtime';\nimport type {\n APIError,\n EventResponse,\n Response,\n SendEventRequest,\n SendUserCustomEventRequest,\n SyncRequest,\n SyncResponse,\n} from '../models';\n\nexport interface SendEventOperationRequest {\n type: string;\n id: string;\n sendEventRequest: SendEventRequest | null;\n}\n\nexport interface SendUserCustomEventOperationRequest {\n userId: string;\n sendUserCustomEventRequest: SendUserCustomEventRequest | null;\n}\n\nexport interface SyncOperationRequest {\n syncRequest: SyncRequest | null;\n withInaccessibleCids?: boolean;\n watch?: boolean;\n clientId?: string;\n connectionId?: string;\n}\n\n/**\n * \n */\nexport class EventsApi extends runtime.BaseAPI {\n\n /**\n * Sends event to the channel Sends events: - any Required permissions: - SendCustomEvent \n * Send event\n */\n async sendEventRaw(requestParameters: SendEventOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<EventResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling sendEvent.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling sendEvent.');\n }\n\n if (requestParameters.sendEventRequest === null || requestParameters.sendEventRequest === undefined) {\n throw new runtime.RequiredError('sendEventRequest','Required parameter requestParameters.sendEventRequest was null or undefined when calling sendEvent.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/channels/{type}/{id}/event`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.sendEventRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Sends event to the channel Sends events: - any Required permissions: - SendCustomEvent \n * Send event\n */\n async sendEvent(requestParameters: SendEventOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<EventResponse> {\n const response = await this.sendEventRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Sends a custom event to a user Sends events: - custom \n * Send user event\n */\n async sendUserCustomEventRaw(requestParameters: SendUserCustomEventOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Response>> {\n if (requestParameters.userId === null || requestParameters.userId === undefined) {\n throw new runtime.RequiredError('userId','Required parameter requestParameters.userId was null or undefined when calling sendUserCustomEvent.');\n }\n\n if (requestParameters.sendUserCustomEventRequest === null || requestParameters.sendUserCustomEventRequest === undefined) {\n throw new runtime.RequiredError('sendUserCustomEventRequest','Required parameter requestParameters.sendUserCustomEventRequest was null or undefined when calling sendUserCustomEvent.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/users/{user_id}/event`.replace(`{${\"user_id\"}}`, encodeURIComponent(String(requestParameters.userId))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.sendUserCustomEventRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Sends a custom event to a user Sends events: - custom \n * Send user event\n */\n async sendUserCustomEvent(requestParameters: SendUserCustomEventOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Response> {\n const response = await this.sendUserCustomEventRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Returns all events happened since client disconnect in specified channels Required permissions: - ReadChannel \n * Sync\n */\n async syncRaw(requestParameters: SyncOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SyncResponse>> {\n if (requestParameters.syncRequest === null || requestParameters.syncRequest === undefined) {\n throw new runtime.RequiredError('syncRequest','Required parameter requestParameters.syncRequest was null or undefined when calling sync.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.withInaccessibleCids !== undefined) {\n queryParameters['with_inaccessible_cids'] = requestParameters.withInaccessibleCids;\n }\n\n if (requestParameters.watch !== undefined) {\n queryParameters['watch'] = requestParameters.watch;\n }\n\n if (requestParameters.clientId !== undefined) {\n queryParameters['client_id'] = requestParameters.clientId;\n }\n\n if (requestParameters.connectionId !== undefined) {\n queryParameters['connection_id'] = requestParameters.connectionId;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/sync`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.syncRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Returns all events happened since client disconnect in specified channels Required permissions: - ReadChannel \n * Sync\n */\n async sync(requestParameters: SyncOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SyncResponse> {\n const response = await this.syncRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stream Chat API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v89.9.2\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport * as runtime from '../runtime';\nimport type {\n APIError,\n FileDeleteResponse,\n FileUploadResponse,\n FlagRequest,\n FlagResponse,\n GetManyMessagesResponse,\n GetOGResponse,\n GetReactionsResponse,\n GetRepliesResponse,\n //@ts-expect-error\n ImageSizeRequest,\n ImageUploadResponse,\n MarkChannelsReadRequest,\n MarkReadRequest,\n MarkReadResponse,\n MarkUnreadRequest,\n MessageActionRequest,\n MessageResponse,\n MessageWithPendingMetadataResponse,\n //@ts-expect-error\n OnlyUserIDRequest,\n QueryMessageFlagsRequest,\n QueryMessageFlagsResponse,\n ReactionRemovalResponse,\n ReactionResponse,\n Response,\n SearchRequest,\n SearchResponse,\n SendMessageRequest,\n SendReactionRequest,\n TranslateMessageRequest,\n UpdateMessagePartialRequest,\n UpdateMessageRequest,\n} from '../models';\n\nexport interface DeleteFileRequest {\n type: string;\n id: string;\n url?: string;\n}\n\nexport interface DeleteImageRequest {\n type: string;\n id: string;\n url?: string;\n}\n\nexport interface DeleteMessageRequest {\n id: string;\n hard?: boolean;\n createdBy?: string;\n}\n\nexport interface DeleteReactionRequest {\n id: string;\n type: string;\n userId?: string;\n}\n\nexport interface FlagOperationRequest {\n flagRequest: FlagRequest | null;\n}\n\nexport interface GetManyMessagesRequest {\n type: string;\n id: string;\n ids?: Array<string>;\n}\n\nexport interface GetMessageRequest {\n id: string;\n}\n\nexport interface GetOGRequest {\n url?: string;\n}\n\nexport interface GetReactionsRequest {\n id: string;\n limit?: number;\n offset?: number;\n}\n\nexport interface GetRepliesRequest {\n parentId: string;\n idGte?: string;\n idGt?: string;\n idLte?: string;\n idLt?: string;\n createdAtAfterOrEqual?: string;\n createdAtAfter?: string;\n createdAtBeforeOrEqual?: string;\n createdAtBefore?: string;\n idAround?: string;\n createdAtAround?: string;\n}\n\nexport interface MarkChannelsReadOperationRequest {\n markChannelsReadRequest: MarkChannelsReadRequest | null;\n}\n\nexport interface MarkReadOperationRequest {\n type: string;\n id: string;\n markReadRequest: MarkReadRequest | null;\n}\n\nexport interface MarkUnreadOperationRequest {\n type: string;\n id: string;\n markUnreadRequest: MarkUnreadRequest | null;\n}\n\nexport interface QueryMessageFlagsOperationRequest {\n payload?: QueryMessageFlagsRequest;\n}\n\nexport interface RunMessageActionRequest {\n id: string;\n messageActionRequest: MessageActionRequest | null;\n}\n\nexport interface SearchOperationRequest {\n payload?: SearchRequest;\n}\n\nexport interface SendMessageOperationRequest {\n type: string;\n id: string;\n sendMessageRequest: SendMessageRequest | null;\n}\n\nexport interface SendReactionOperationRequest {\n id: string;\n sendReactionRequest: SendReactionRequest | null;\n}\n\nexport interface TranslateMessageOperationRequest {\n id: string;\n translateMessageRequest: TranslateMessageRequest | null;\n}\n\nexport interface UnflagRequest {\n flagRequest: FlagRequest | null;\n}\n\nexport interface UpdateMessageOperationRequest {\n id: string;\n updateMessageRequest: UpdateMessageRequest | null;\n}\n\nexport interface UpdateMessagePartialOperationRequest {\n id: string;\n updateMessagePartialRequest: UpdateMessagePartialRequest | null;\n}\n\nexport interface UploadFileRequest {\n type: string;\n id: string;\n file?: string;\n user?: OnlyUserIDRequest;\n}\n\nexport interface UploadImageRequest {\n type: string;\n id: string;\n file?: string;\n uploadSizes?: Array<ImageSizeRequest>;\n user?: OnlyUserIDRequest;\n}\n\n/**\n * \n */\nexport class MessagesApi extends runtime.BaseAPI {\n\n /**\n * Deletes previously uploaded file Required permissions: - DeleteAttachment \n * Delete file\n */\n async deleteFileRaw(requestParameters: DeleteFileRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<FileDeleteResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling deleteFile.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling deleteFile.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.url !== undefined) {\n queryParameters['url'] = requestParameters.url;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/channels/{type}/{id}/file`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'DELETE',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Deletes previously uploaded file Required permissions: - DeleteAttachment \n * Delete file\n */\n async deleteFile(requestParameters: DeleteFileRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<FileDeleteResponse> {\n const response = await this.deleteFileRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Deletes previously uploaded image Required permissions: - DeleteAttachment \n * Delete image\n */\n async deleteImageRaw(requestParameters: DeleteImageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<FileDeleteResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling deleteImage.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling deleteImage.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.url !== undefined) {\n queryParameters['url'] = requestParameters.url;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/channels/{type}/{id}/image`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'DELETE',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Deletes previously uploaded image Required permissions: - DeleteAttachment \n * Delete image\n */\n async deleteImage(requestParameters: DeleteImageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<FileDeleteResponse> {\n const response = await this.deleteImageRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Deletes message Sends events: - message.deleted Required permissions: - DeleteMessage \n * Delete message\n */\n async deleteMessageRaw(requestParameters: DeleteMessageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<MessageResponse>> {\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling deleteMessage.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.hard !== undefined) {\n queryParameters['hard'] = requestParameters.hard;\n }\n\n if (requestParameters.createdBy !== undefined) {\n queryParameters['created_by'] = requestParameters.createdBy;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/messages/{id}`.replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'DELETE',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Deletes message Sends events: - message.deleted Required permissions: - DeleteMessage \n * Delete message\n */\n async deleteMessage(requestParameters: DeleteMessageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<MessageResponse> {\n const response = await this.deleteMessageRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Removes user reaction from the message Sends events: - reaction.deleted Required permissions: - DeleteReaction \n * Delete reaction\n */\n async deleteReactionRaw(requestParameters: DeleteReactionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ReactionRemovalResponse>> {\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling deleteReaction.');\n }\n\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling deleteReaction.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.userId !== undefined) {\n queryParameters['user_id'] = requestParameters.userId;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/messages/{id}/reaction/{type}`.replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))).replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))),\n method: 'DELETE',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Removes user reaction from the message Sends events: - reaction.deleted Required permissions: - DeleteReaction \n * Delete reaction\n */\n async deleteReaction(requestParameters: DeleteReactionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ReactionRemovalResponse> {\n const response = await this.deleteReactionRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Reports message or user for review by moderators Sends events: - message.flagged - user.flagged Required permissions: - FlagMessage - FlagUser \n * Flag\n */\n async flagRaw(requestParameters: FlagOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<FlagResponse>> {\n if (requestParameters.flagRequest === null || requestParameters.flagRequest === undefined) {\n throw new runtime.RequiredError('flagRequest','Required parameter requestParameters.flagRequest was null or undefined when calling flag.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/moderation/flag`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.flagRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Reports message or user for review by moderators Sends events: - message.flagged - user.flagged Required permissions: - FlagMessage - FlagUser \n * Flag\n */\n async flag(requestParameters: FlagOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<FlagResponse> {\n const response = await this.flagRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Returns list messages found by IDs Required permissions: - ReadChannel \n * Get many messages\n */\n async getManyMessagesRaw(requestParameters: GetManyMessagesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetManyMessagesResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling getManyMessages.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling getManyMessages.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.ids) {\n queryParameters['ids'] = requestParameters.ids.join(',');\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/channels/{type}/{id}/messages`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Returns list messages found by IDs Required permissions: - ReadChannel \n * Get many messages\n */\n async getManyMessages(requestParameters: GetManyMessagesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetManyMessagesResponse> {\n const response = await this.getManyMessagesRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Returns message by ID Required permissions: - ReadChannel \n * Get message\n */\n async getMessageRaw(requestParameters: GetMessageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<MessageWithPendingMetadataResponse>> {\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling getMessage.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/messages/{id}`.replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Returns message by ID Required permissions: - ReadChannel \n * Get message\n */\n async getMessage(requestParameters: GetMessageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<MessageWithPendingMetadataResponse> {\n const response = await this.getMessageRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Get an OpenGraph attachment for a link \n * Get OG\n */\n async getOGRaw(requestParameters: GetOGRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetOGResponse>> {\n const queryParameters: any = {};\n\n if (requestParameters.url !== undefined) {\n queryParameters['url'] = requestParameters.url;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/og`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Get an OpenGraph attachment for a link \n * Get OG\n */\n async getOG(requestParameters: GetOGRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetOGResponse> {\n const response = await this.getOGRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Returns list of reactions of specific message Required permissions: - ReadChannel \n * Get reactions\n */\n async getReactionsRaw(requestParameters: GetReactionsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetReactionsResponse>> {\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling getReactions.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.limit !== undefined) {\n queryParameters['limit'] = requestParameters.limit;\n }\n\n if (requestParameters.offset !== undefined) {\n queryParameters['offset'] = requestParameters.offset;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/messages/{id}/reactions`.replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Returns list of reactions of specific message Required permissions: - ReadChannel \n * Get reactions\n */\n async getReactions(requestParameters: GetReactionsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetReactionsResponse> {\n const response = await this.getReactionsRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Returns replies (thread) of the message Required permissions: - ReadChannel \n * Get replies\n */\n async getRepliesRaw(requestParameters: GetRepliesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetRepliesResponse>> {\n if (requestParameters.parentId === null || requestParameters.parentId === undefined) {\n throw new runtime.RequiredError('parentId','Required parameter requestParameters.parentId was null or undefined when calling getReplies.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.idGte !== undefined) {\n queryParameters['id_gte'] = requestParameters.idGte;\n }\n\n if (requestParameters.idGt !== undefined) {\n queryParameters['id_gt'] = requestParameters.idGt;\n }\n\n if (requestParameters.idLte !== undefined) {\n queryParameters['id_lte'] = requestParameters.idLte;\n }\n\n if (requestParameters.idLt !== undefined) {\n queryParameters['id_lt'] = requestParameters.idLt;\n }\n\n if (requestParameters.createdAtAfterOrEqual !== undefined) {\n queryParameters['created_at_after_or_equal'] = requestParameters.createdAtAfterOrEqual;\n }\n\n if (requestParameters.createdAtAfter !== undefined) {\n queryParameters['created_at_after'] = requestParameters.createdAtAfter;\n }\n\n if (requestParameters.createdAtBeforeOrEqual !== undefined) {\n queryParameters['created_at_before_or_equal'] = requestParameters.createdAtBeforeOrEqual;\n }\n\n if (requestParameters.createdAtBefore !== undefined) {\n queryParameters['created_at_before'] = requestParameters.createdAtBefore;\n }\n\n if (requestParameters.idAround !== undefined) {\n queryParameters['id_around'] = requestParameters.idAround;\n }\n\n if (requestParameters.createdAtAround !== undefined) {\n queryParameters['created_at_around'] = requestParameters.createdAtAround;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/messages/{parent_id}/replies`.replace(`{${\"parent_id\"}}`, encodeURIComponent(String(requestParameters.parentId))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Returns replies (thread) of the message Required permissions: - ReadChannel \n * Get replies\n */\n async getReplies(requestParameters: GetRepliesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetRepliesResponse> {\n const response = await this.getRepliesRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Marks channels as read up to the specific message. If no channels is given, mark all channel as read Sends events: - message.read Required permissions: - ReadChannel \n * Mark channels as read\n */\n async markChannelsReadRaw(requestParameters: MarkChannelsReadOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<MarkReadResponse>> {\n if (requestParameters.markChannelsReadRequest === null || requestParameters.markChannelsReadRequest === undefined) {\n throw new runtime.RequiredError('markChannelsReadRequest','Required parameter requestParameters.markChannelsReadRequest was null or undefined when calling markChannelsRead.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/channels/read`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.markChannelsReadRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Marks channels as read up to the specific message. If no channels is given, mark all channel as read Sends events: - message.read Required permissions: - ReadChannel \n * Mark channels as read\n */\n async markChannelsRead(requestParameters: MarkChannelsReadOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<MarkReadResponse> {\n const response = await this.markChannelsReadRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Marks channel as read up to the specific message Sends events: - message.read Required permissions: - ReadChannel \n * Mark read\n */\n async markReadRaw(requestParameters: MarkReadOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<MarkReadResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling markRead.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling markRead.');\n }\n\n if (requestParameters.markReadRequest === null || requestParameters.markReadRequest === undefined) {\n throw new runtime.RequiredError('markReadRequest','Required parameter requestParameters.markReadRequest was null or undefined when calling markRead.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/channels/{type}/{id}/read`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.markReadRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Marks channel as read up to the specific message Sends events: - message.read Required permissions: - ReadChannel \n * Mark read\n */\n async markRead(requestParameters: MarkReadOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<MarkReadResponse> {\n const response = await this.markReadRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Marks channel as unread from a specific message Required permissions: - ReadChannel \n * Mark unread\n */\n async markUnreadRaw(requestParameters: MarkUnreadOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Response>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling markUnread.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling markUnread.');\n }\n\n if (requestParameters.markUnreadRequest === null || requestParameters.markUnreadRequest === undefined) {\n throw new runtime.RequiredError('markUnreadRequest','Required parameter requestParameters.markUnreadRequest was null or undefined when calling markUnread.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/channels/{type}/{id}/unread`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.markUnreadRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Marks channel as unread from a specific message Required permissions: - ReadChannel \n * Mark unread\n */\n async markUnread(requestParameters: MarkUnreadOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Response> {\n const response = await this.markUnreadRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Find and filter message flags Required permissions: - ReadMessageFlags \n * Query Message Flags\n */\n async queryMessageFlagsRaw(requestParameters: QueryMessageFlagsOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<QueryMessageFlagsResponse>> {\n const queryParameters: any = {};\n\n if (requestParameters.payload !== undefined) {\n queryParameters['payload'] = requestParameters.payload;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/moderation/flags/message`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Find and filter message flags Required permissions: - ReadMessageFlags \n * Query Message Flags\n */\n async queryMessageFlags(requestParameters: QueryMessageFlagsOperationRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<QueryMessageFlagsResponse> {\n const response = await this.queryMessageFlagsRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Executes message command action with given parameters Sends events: - message.new Required permissions: - RunMessageAction \n * Run message command action\n */\n async runMessageActionRaw(requestParameters: RunMessageActionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<MessageResponse>> {\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling runMessageAction.');\n }\n\n if (requestParameters.messageActionRequest === null || requestParameters.messageActionRequest === undefined) {\n throw new runtime.RequiredError('messageActionRequest','Required parameter requestParameters.messageActionRequest was null or undefined when calling runMessageAction.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/messages/{id}/action`.replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.messageActionRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Executes message command action with given parameters Sends events: - message.new Required permissions: - RunMessageAction \n * Run message command action\n */\n async runMessageAction(requestParameters: RunMessageActionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<MessageResponse> {\n const response = await this.runMessageActionRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Search messages across channels Required permissions: - ReadChannel \n * Search messages\n */\n async searchRaw(requestParameters: SearchOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SearchResponse>> {\n const queryParameters: any = {};\n\n if (requestParameters.payload !== undefined) {\n queryParameters['payload'] = requestParameters.payload;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/search`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Search messages across channels Required permissions: - ReadChannel \n * Search messages\n */\n async search(requestParameters: SearchOperationRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SearchResponse> {\n const response = await this.searchRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Sends new message to the specified channel Sends events: - message.new - message.updated Required permissions: - AddLinks - CreateMessage - PinMessage - SkipChannelCooldown - SkipMessageModeration - UseFrozenChannel \n * Send new message\n */\n async sendMessageRaw(requestParameters: SendMessageOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<MessageWithPendingMetadataResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling sendMessage.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling sendMessage.');\n }\n\n if (requestParameters.sendMessageRequest === null || requestParameters.sendMessageRequest === undefined) {\n throw new runtime.RequiredError('sendMessageRequest','Required parameter requestParameters.sendMessageRequest was null or undefined when calling sendMessage.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/channels/{type}/{id}/message`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.sendMessageRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Sends new message to the specified channel Sends events: - message.new - message.updated Required permissions: - AddLinks - CreateMessage - PinMessage - SkipChannelCooldown - SkipMessageModeration - UseFrozenChannel \n * Send new message\n */\n async sendMessage(requestParameters: SendMessageOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<MessageWithPendingMetadataResponse> {\n const response = await this.sendMessageRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Sends reaction to specified message Sends events: - reaction.new - reaction.updated Required permissions: - CreateReaction - UseFrozenChannel \n * Send reaction\n */\n async sendReactionRaw(requestParameters: SendReactionOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ReactionResponse>> {\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling sendReaction.');\n }\n\n if (requestParameters.sendReactionRequest === null || requestParameters.sendReactionRequest === undefined) {\n throw new runtime.RequiredError('sendReactionRequest','Required parameter requestParameters.sendReactionRequest was null or undefined when calling sendReaction.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/messages/{id}/reaction`.replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.sendReactionRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Sends reaction to specified message Sends events: - reaction.new - reaction.updated Required permissions: - CreateReaction - UseFrozenChannel \n * Send reaction\n */\n async sendReaction(requestParameters: SendReactionOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ReactionResponse> {\n const response = await this.sendReactionRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Translates message to a given language using automated translation software Sends events: - message.updated Required permissions: - ReadChannel \n * Translate message\n */\n async translateMessageRaw(requestParameters: TranslateMessageOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<MessageResponse>> {\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling translateMessage.');\n }\n\n if (requestParameters.translateMessageRequest === null || requestParameters.translateMessageRequest === undefined) {\n throw new runtime.RequiredError('translateMessageRequest','Required parameter requestParameters.translateMessageRequest was null or undefined when calling translateMessage.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/messages/{id}/translate`.replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.translateMessageRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Translates message to a given language using automated translation software Sends events: - message.updated Required permissions: - ReadChannel \n * Translate message\n */\n async translateMessage(requestParameters: TranslateMessageOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<MessageResponse> {\n const response = await this.translateMessageRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Removes previously created user or message flag Required permissions: - FlagMessage - FlagUser \n * Unflag\n */\n async unflagRaw(requestParameters: UnflagRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<FlagResponse>> {\n if (requestParameters.flagRequest === null || requestParameters.flagRequest === undefined) {\n throw new runtime.RequiredError('flagRequest','Required parameter requestParameters.flagRequest was null or undefined when calling unflag.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/moderation/unflag`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.flagRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Removes previously created user or message flag Required permissions: - FlagMessage - FlagUser \n * Unflag\n */\n async unflag(requestParameters: UnflagRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<FlagResponse> {\n const response = await this.unflagRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Updates message with new data Sends events: - message.updated Required permissions: - AddLinks - PinMessage - SkipMessageModeration - UpdateMessage \n * Update message\n */\n async updateMessageRaw(requestParameters: UpdateMessageOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<MessageResponse>> {\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling updateMessage.');\n }\n\n if (requestParameters.updateMessageRequest === null || requestParameters.updateMessageRequest === undefined) {\n throw new runtime.RequiredError('updateMessageRequest','Required parameter requestParameters.updateMessageRequest was null or undefined when calling updateMessage.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/messages/{id}`.replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.updateMessageRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Updates message with new data Sends events: - message.updated Required permissions: - AddLinks - PinMessage - SkipMessageModeration - UpdateMessage \n * Update message\n */\n async updateMessage(requestParameters: UpdateMessageOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<MessageResponse> {\n const response = await this.updateMessageRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Updates certain fields of the message Sends events: - message.updated Required permissions: - AddLinks - PinMessage - SkipMessageModeration - UpdateMessage \n * Partially message update\n */\n async updateMessagePartialRaw(requestParameters: UpdateMessagePartialOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<MessageResponse>> {\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling updateMessagePartial.');\n }\n\n if (requestParameters.updateMessagePartialRequest === null || requestParameters.updateMessagePartialRequest === undefined) {\n throw new runtime.RequiredError('updateMessagePartialRequest','Required parameter requestParameters.updateMessagePartialRequest was null or undefined when calling updateMessagePartial.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/messages/{id}`.replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'PUT',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.updateMessagePartialRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Updates certain fields of the message Sends events: - message.updated Required permissions: - AddLinks - PinMessage - SkipMessageModeration - UpdateMessage \n * Partially message update\n */\n async updateMessagePartial(requestParameters: UpdateMessagePartialOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<MessageResponse> {\n const response = await this.updateMessagePartialRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Uploads file Required permissions: - UploadAttachment \n * Upload file\n */\n async uploadFileRaw(requestParameters: UploadFileRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<FileUploadResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling uploadFile.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling uploadFile.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const consumes: runtime.Consume[] = [\n { contentType: 'multipart/form-data' },\n ];\n // @ts-ignore: canConsumeForm may be unused\n const canConsumeForm = runtime.canConsumeForm(consumes);\n\n let formParams: { append(param: string, value: any): any };\n let useForm = false;\n if (useForm) {\n formParams = new FormData();\n } else {\n formParams = new URLSearchParams();\n }\n\n if (requestParameters.file !== undefined) {\n formParams.append('file', requestParameters.file as any);\n }\n\n if (requestParameters.user !== undefined) {\n\n formParams.append('user', new Blob([JSON.stringify(requestParameters.user)], { type: \"application/json\", }));\n }\n\n const response = await this.request({\n path: `/channels/{type}/{id}/file`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: formParams,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Uploads file Required permissions: - UploadAttachment \n * Upload file\n */\n async uploadFile(requestParameters: UploadFileRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<FileUploadResponse> {\n const response = await this.uploadFileRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Uploads image Required permissions: - UploadAttachment \n * Upload image\n */\n async uploadImageRaw(requestParameters: UploadImageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ImageUploadResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling uploadImage.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling uploadImage.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const consumes: runtime.Consume[] = [\n { contentType: 'multipart/form-data' },\n ];\n // @ts-ignore: canConsumeForm may be unused\n const canConsumeForm = runtime.canConsumeForm(consumes);\n\n let formParams: { append(param: string, value: any): any };\n let useForm = false;\n if (useForm) {\n formParams = new FormData();\n } else {\n formParams = new URLSearchParams();\n }\n\n if (requestParameters.file !== undefined) {\n formParams.append('file', requestParameters.file as any);\n }\n\n if (requestParameters.uploadSizes) {\n formParams.append('upload_sizes', requestParameters.uploadSizes.join(runtime.COLLECTION_FORMATS[\"csv\"]));\n }\n\n if (requestParameters.user !== undefined) {\n\n formParams.append('user', new Blob([JSON.stringify(requestParameters.user)], { type: \"application/json\", }));\n }\n\n const response = await this.request({\n path: `/channels/{type}/{id}/image`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: formParams,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Uploads image Required permissions: - UploadAttachment \n * Upload image\n */\n async uploadImage(requestParameters: UploadImageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ImageUploadResponse> {\n const response = await this.uploadImageRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stream Chat API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v89.9.2\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport * as runtime from '../runtime';\nimport type {\n APIError,\n CreateRoleRequest,\n CreateRoleResponse,\n GetCustomPermissionResponse,\n ListPermissionsResponse,\n ListRolesResponse,\n Response,\n} from '../models';\n\nexport interface CreateRoleOperationRequest {\n createRoleRequest: CreateRoleRequest | null;\n}\n\nexport interface DeleteRoleRequest {\n name: string;\n}\n\nexport interface GetPermissionRequest {\n id: string;\n}\n\n/**\n * \n */\nexport class PermissionsV2Api extends runtime.BaseAPI {\n\n /**\n * Creates custom role \n * Create role\n */\n async createRoleRaw(requestParameters: CreateRoleOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<CreateRoleResponse>> {\n if (requestParameters.createRoleRequest === null || requestParameters.createRoleRequest === undefined) {\n throw new runtime.RequiredError('createRoleRequest','Required parameter requestParameters.createRoleRequest was null or undefined when calling createRole.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/roles`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.createRoleRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Creates custom role \n * Create role\n */\n async createRole(requestParameters: CreateRoleOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<CreateRoleResponse> {\n const response = await this.createRoleRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Deletes custom role \n * Delete role\n */\n async deleteRoleRaw(requestParameters: DeleteRoleRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Response>> {\n if (requestParameters.name === null || requestParameters.name === undefined) {\n throw new runtime.RequiredError('name','Required parameter requestParameters.name was null or undefined when calling deleteRole.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/roles/{name}`.replace(`{${\"name\"}}`, encodeURIComponent(String(requestParameters.name))),\n method: 'DELETE',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Deletes custom role \n * Delete role\n */\n async deleteRole(requestParameters: DeleteRoleRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Response> {\n const response = await this.deleteRoleRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Gets custom permission \n * Get permission\n */\n async getPermissionRaw(requestParameters: GetPermissionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetCustomPermissionResponse>> {\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling getPermission.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/permissions/{id}`.replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Gets custom permission \n * Get permission\n */\n async getPermission(requestParameters: GetPermissionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetCustomPermissionResponse> {\n const response = await this.getPermissionRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Lists all available permissions \n * List permissions\n */\n async listPermissionsRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ListPermissionsResponse>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/permissions`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Lists all available permissions \n * List permissions\n */\n async listPermissions(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ListPermissionsResponse> {\n const response = await this.listPermissionsRaw(initOverrides);\n return await response.value();\n }\n\n /**\n * Lists all available roles \n * List roles\n */\n async listRolesRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ListRolesResponse>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/roles`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Lists all available roles \n * List roles\n */\n async listRoles(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ListRolesResponse> {\n const response = await this.listRolesRaw(initOverrides);\n return await response.value();\n }\n\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stream Chat API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v89.9.2\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport * as runtime from '../runtime';\nimport type {\n APIError,\n CreateDeviceRequest,\n ListPushProvidersResponse,\n Response,\n} from '../models';\n\nexport interface CreateDeviceOperationRequest {\n createDeviceRequest: CreateDeviceRequest | null;\n}\n\nexport interface DeletePushProviderRequest {\n type: DeletePushProviderTypeEnum;\n name: string;\n}\n\n/**\n * \n */\nexport class PushApi extends runtime.BaseAPI {\n\n /**\n * Adds a new device to a user, if the same device already exists the call will have no effect \n * Create device\n */\n async createDeviceRaw(requestParameters: CreateDeviceOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {\n if (requestParameters.createDeviceRequest === null || requestParameters.createDeviceRequest === undefined) {\n throw new runtime.RequiredError('createDeviceRequest','Required parameter requestParameters.createDeviceRequest was null or undefined when calling createDevice.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/devices`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.createDeviceRequest,\n }, initOverrides);\n\n return new runtime.VoidApiResponse(response);\n }\n\n /**\n * Adds a new device to a user, if the same device already exists the call will have no effect \n * Create device\n */\n async createDevice(requestParameters: CreateDeviceOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void> {\n await this.createDeviceRaw(requestParameters, initOverrides);\n }\n\n /**\n * Delete a push provider from v2 with multi bundle/package support. v1 isn\\'t supported in this endpoint \n * Delete a push provider\n */\n async deletePushProviderRaw(requestParameters: DeletePushProviderRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Response>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling deletePushProvider.');\n }\n\n if (requestParameters.name === null || requestParameters.name === undefined) {\n throw new runtime.RequiredError('name','Required parameter requestParameters.name was null or undefined when calling deletePushProvider.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/push_providers/{type}/{name}`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"name\"}}`, encodeURIComponent(String(requestParameters.name))),\n method: 'DELETE',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Delete a push provider from v2 with multi bundle/package support. v1 isn\\'t supported in this endpoint \n * Delete a push provider\n */\n async deletePushProvider(requestParameters: DeletePushProviderRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Response> {\n const response = await this.deletePushProviderRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * List details of all push providers. \n * List push providers\n */\n async listPushProvidersRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ListPushProvidersResponse>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/push_providers`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * List details of all push providers. \n * List push providers\n */\n async listPushProviders(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ListPushProvidersResponse> {\n const response = await this.listPushProvidersRaw(initOverrides);\n return await response.value();\n }\n\n}\n\n/**\n * @export\n */\nexport const DeletePushProviderTypeEnum = {\n APN: 'apn',\n FIREBASE: 'firebase',\n HUAWEI: 'huawei',\n XIAOMI: 'xiaomi'\n} as const;\nexport type DeletePushProviderTypeEnum = typeof DeletePushProviderTypeEnum[keyof typeof DeletePushProviderTypeEnum];\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stream Chat API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v89.9.2\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport * as runtime from '../runtime';\nimport type {\n APIError,\n UpsertPushProviderRequest,\n UpsertPushProviderResponse,\n} from '../models';\n\nexport interface UpsertPushProviderOperationRequest {\n upsertPushProviderRequest: UpsertPushProviderRequest | null;\n}\n\n/**\n * \n */\nexport class ServerSideApi extends runtime.BaseAPI {\n\n /**\n * Upsert a push provider for v2 with multi bundle/package support \n * Upsert a push provider\n */\n async upsertPushProviderRaw(requestParameters: UpsertPushProviderOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<UpsertPushProviderResponse>> {\n if (requestParameters.upsertPushProviderRequest === null || requestParameters.upsertPushProviderRequest === undefined) {\n throw new runtime.RequiredError('upsertPushProviderRequest','Required parameter requestParameters.upsertPushProviderRequest was null or undefined when calling upsertPushProvider.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/push_providers`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.upsertPushProviderRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Upsert a push provider for v2 with multi bundle/package support \n * Upsert a push provider\n */\n async upsertPushProvider(requestParameters: UpsertPushProviderOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<UpsertPushProviderResponse> {\n const response = await this.upsertPushProviderRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stream Chat API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v89.9.2\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport * as runtime from '../runtime';\nimport type {\n APIError,\n CheckPushRequest,\n CheckPushResponse,\n CheckSNSRequest,\n CheckSNSResponse,\n CheckSQSRequest,\n CheckSQSResponse,\n CreateBlockListRequest,\n CreateChannelTypeRequest,\n CreateChannelTypeResponse,\n GetApplicationResponse,\n GetBlockListResponse,\n GetRateLimitsResponse,\n ListBlockListResponse,\n ListChannelTypesResponse,\n ListPushProvidersResponse,\n Response,\n UpdateAppRequest,\n UpdateBlockListRequest,\n UpdateChannelTypeRequest,\n UpdateChannelTypeResponse,\n} from '../models';\n\nexport interface CheckPushOperationRequest {\n checkPushRequest: CheckPushRequest | null;\n}\n\nexport interface CheckSNSOperationRequest {\n checkSNSRequest: CheckSNSRequest | null;\n}\n\nexport interface CheckSQSOperationRequest {\n checkSQSRequest: CheckSQSRequest | null;\n}\n\nexport interface CreateBlockListOperationRequest {\n createBlockListRequest: CreateBlockListRequest | null;\n}\n\nexport interface CreateChannelTypeOperationRequest {\n createChannelTypeRequest: CreateChannelTypeRequest | null;\n}\n\nexport interface DeleteBlockListRequest {\n name: string;\n}\n\nexport interface DeleteChannelTypeRequest {\n name: string;\n}\n\nexport interface DeletePushProviderRequest {\n type: DeletePushProviderTypeEnum;\n name: string;\n}\n\nexport interface GetBlockListRequest {\n name: string;\n}\n\nexport interface GetChannelTypeRequest {\n name: string;\n}\n\nexport interface GetRateLimitsRequest {\n serverSide?: boolean;\n android?: boolean;\n ios?: boolean;\n web?: boolean;\n endpoints?: string;\n}\n\nexport interface UpdateAppOperationRequest {\n updateAppRequest: UpdateAppRequest | null;\n}\n\nexport interface UpdateBlockListOperationRequest {\n name: string;\n updateBlockListRequest: UpdateBlockListRequest | null;\n}\n\nexport interface UpdateChannelTypeOperationRequest {\n name: string;\n updateChannelTypeRequest: UpdateChannelTypeRequest | null;\n}\n\n/**\n * \n */\nexport class SettingsApi extends runtime.BaseAPI {\n\n /**\n * Sends a test message via push, this is a test endpoint to verify your push settings \n * Check push\n */\n async checkPushRaw(requestParameters: CheckPushOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<CheckPushResponse>> {\n if (requestParameters.checkPushRequest === null || requestParameters.checkPushRequest === undefined) {\n throw new runtime.RequiredError('checkPushRequest','Required parameter requestParameters.checkPushRequest was null or undefined when calling checkPush.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/check_push`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.checkPushRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Sends a test message via push, this is a test endpoint to verify your push settings \n * Check push\n */\n async checkPush(requestParameters: CheckPushOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<CheckPushResponse> {\n const response = await this.checkPushRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Validates Amazon SNS configuration \n * Check SNS\n */\n async checkSNSRaw(requestParameters: CheckSNSOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<CheckSNSResponse>> {\n if (requestParameters.checkSNSRequest === null || requestParameters.checkSNSRequest === undefined) {\n throw new runtime.RequiredError('checkSNSRequest','Required parameter requestParameters.checkSNSRequest was null or undefined when calling checkSNS.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/check_sns`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.checkSNSRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Validates Amazon SNS configuration \n * Check SNS\n */\n async checkSNS(requestParameters: CheckSNSOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<CheckSNSResponse> {\n const response = await this.checkSNSRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Validates Amazon SQS credentials \n * Check SQS\n */\n async checkSQSRaw(requestParameters: CheckSQSOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<CheckSQSResponse>> {\n if (requestParameters.checkSQSRequest === null || requestParameters.checkSQSRequest === undefined) {\n throw new runtime.RequiredError('checkSQSRequest','Required parameter requestParameters.checkSQSRequest was null or undefined when calling checkSQS.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/check_sqs`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.checkSQSRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Validates Amazon SQS credentials \n * Check SQS\n */\n async checkSQS(requestParameters: CheckSQSOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<CheckSQSResponse> {\n const response = await this.checkSQSRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Creates a new application blocklist, once created the blocklist can be used by any channel type \n * Create block list\n */\n async createBlockListRaw(requestParameters: CreateBlockListOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Response>> {\n if (requestParameters.createBlockListRequest === null || requestParameters.createBlockListRequest === undefined) {\n throw new runtime.RequiredError('createBlockListRequest','Required parameter requestParameters.createBlockListRequest was null or undefined when calling createBlockList.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/blocklists`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.createBlockListRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Creates a new application blocklist, once created the blocklist can be used by any channel type \n * Create block list\n */\n async createBlockList(requestParameters: CreateBlockListOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Response> {\n const response = await this.createBlockListRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Creates new channel type \n * Create channel type\n */\n async createChannelTypeRaw(requestParameters: CreateChannelTypeOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<CreateChannelTypeResponse>> {\n if (requestParameters.createChannelTypeRequest === null || requestParameters.createChannelTypeRequest === undefined) {\n throw new runtime.RequiredError('createChannelTypeRequest','Required parameter requestParameters.createChannelTypeRequest was null or undefined when calling createChannelType.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/channeltypes`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.createChannelTypeRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Creates new channel type \n * Create channel type\n */\n async createChannelType(requestParameters: CreateChannelTypeOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<CreateChannelTypeResponse> {\n const response = await this.createChannelTypeRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Deletes previously created application blocklist \n * Delete block list\n */\n async deleteBlockListRaw(requestParameters: DeleteBlockListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Response>> {\n if (requestParameters.name === null || requestParameters.name === undefined) {\n throw new runtime.RequiredError('name','Required parameter requestParameters.name was null or undefined when calling deleteBlockList.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/blocklists/{name}`.replace(`{${\"name\"}}`, encodeURIComponent(String(requestParameters.name))),\n method: 'DELETE',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Deletes previously created application blocklist \n * Delete block list\n */\n async deleteBlockList(requestParameters: DeleteBlockListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Response> {\n const response = await this.deleteBlockListRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Deletes channel type \n * Delete channel type\n */\n async deleteChannelTypeRaw(requestParameters: DeleteChannelTypeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Response>> {\n if (requestParameters.name === null || requestParameters.name === undefined) {\n throw new runtime.RequiredError('name','Required parameter requestParameters.name was null or undefined when calling deleteChannelType.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/channeltypes/{name}`.replace(`{${\"name\"}}`, encodeURIComponent(String(requestParameters.name))),\n method: 'DELETE',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Deletes channel type \n * Delete channel type\n */\n async deleteChannelType(requestParameters: DeleteChannelTypeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Response> {\n const response = await this.deleteChannelTypeRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Delete a push provider from v2 with multi bundle/package support. v1 isn\\'t supported in this endpoint \n * Delete a push provider\n */\n async deletePushProviderRaw(requestParameters: DeletePushProviderRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Response>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling deletePushProvider.');\n }\n\n if (requestParameters.name === null || requestParameters.name === undefined) {\n throw new runtime.RequiredError('name','Required parameter requestParameters.name was null or undefined when calling deletePushProvider.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/push_providers/{type}/{name}`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"name\"}}`, encodeURIComponent(String(requestParameters.name))),\n method: 'DELETE',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Delete a push provider from v2 with multi bundle/package support. v1 isn\\'t supported in this endpoint \n * Delete a push provider\n */\n async deletePushProvider(requestParameters: DeletePushProviderRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Response> {\n const response = await this.deletePushProviderRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * This method returns the application settings \n * Get App Settings\n */\n async getAppRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetApplicationResponse>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/app`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * This method returns the application settings \n * Get App Settings\n */\n async getApp(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetApplicationResponse> {\n const response = await this.getAppRaw(initOverrides);\n return await response.value();\n }\n\n /**\n * Returns block list by given name \n * Get block list\n */\n async getBlockListRaw(requestParameters: GetBlockListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetBlockListResponse>> {\n if (requestParameters.name === null || requestParameters.name === undefined) {\n throw new runtime.RequiredError('name','Required parameter requestParameters.name was null or undefined when calling getBlockList.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/blocklists/{name}`.replace(`{${\"name\"}}`, encodeURIComponent(String(requestParameters.name))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Returns block list by given name \n * Get block list\n */\n async getBlockList(requestParameters: GetBlockListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetBlockListResponse> {\n const response = await this.getBlockListRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Gets channel type \n * Get channel type\n */\n async getChannelTypeRaw(requestParameters: GetChannelTypeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Response>> {\n if (requestParameters.name === null || requestParameters.name === undefined) {\n throw new runtime.RequiredError('name','Required parameter requestParameters.name was null or undefined when calling getChannelType.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/channeltypes/{name}`.replace(`{${\"name\"}}`, encodeURIComponent(String(requestParameters.name))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Gets channel type \n * Get channel type\n */\n async getChannelType(requestParameters: GetChannelTypeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Response> {\n const response = await this.getChannelTypeRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Get rate limits usage and quotas \n * Get rate limits\n */\n async getRateLimitsRaw(requestParameters: GetRateLimitsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetRateLimitsResponse>> {\n const queryParameters: any = {};\n\n if (requestParameters.serverSide !== undefined) {\n queryParameters['server_side'] = requestParameters.serverSide;\n }\n\n if (requestParameters.android !== undefined) {\n queryParameters['android'] = requestParameters.android;\n }\n\n if (requestParameters.ios !== undefined) {\n queryParameters['ios'] = requestParameters.ios;\n }\n\n if (requestParameters.web !== undefined) {\n queryParameters['web'] = requestParameters.web;\n }\n\n if (requestParameters.endpoints !== undefined) {\n queryParameters['endpoints'] = requestParameters.endpoints;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/rate_limits`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Get rate limits usage and quotas \n * Get rate limits\n */\n async getRateLimits(requestParameters: GetRateLimitsRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetRateLimitsResponse> {\n const response = await this.getRateLimitsRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Returns all available block lists \n * List block lists\n */\n async listBlockListsRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ListBlockListResponse>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/blocklists`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Returns all available block lists \n * List block lists\n */\n async listBlockLists(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ListBlockListResponse> {\n const response = await this.listBlockListsRaw(initOverrides);\n return await response.value();\n }\n\n /**\n * Lists all available channel types \n * List channel types\n */\n async listChannelTypesRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ListChannelTypesResponse>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/channeltypes`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Lists all available channel types \n * List channel types\n */\n async listChannelTypes(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ListChannelTypesResponse> {\n const response = await this.listChannelTypesRaw(initOverrides);\n return await response.value();\n }\n\n /**\n * List details of all push providers. \n * List push providers\n */\n async listPushProvidersRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ListPushProvidersResponse>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/push_providers`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * List details of all push providers. \n * List push providers\n */\n async listPushProviders(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ListPushProvidersResponse> {\n const response = await this.listPushProvidersRaw(initOverrides);\n return await response.value();\n }\n\n /**\n * This method updates one or more application settings \n * Update App Settings\n */\n async updateAppRaw(requestParameters: UpdateAppOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Response>> {\n if (requestParameters.updateAppRequest === null || requestParameters.updateAppRequest === undefined) {\n throw new runtime.RequiredError('updateAppRequest','Required parameter requestParameters.updateAppRequest was null or undefined when calling updateApp.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/app`,\n method: 'PATCH',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.updateAppRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * This method updates one or more application settings \n * Update App Settings\n */\n async updateApp(requestParameters: UpdateAppOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Response> {\n const response = await this.updateAppRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Updates contents of the block list \n * Update block list\n */\n async updateBlockListRaw(requestParameters: UpdateBlockListOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Response>> {\n if (requestParameters.name === null || requestParameters.name === undefined) {\n throw new runtime.RequiredError('name','Required parameter requestParameters.name was null or undefined when calling updateBlockList.');\n }\n\n if (requestParameters.updateBlockListRequest === null || requestParameters.updateBlockListRequest === undefined) {\n throw new runtime.RequiredError('updateBlockListRequest','Required parameter requestParameters.updateBlockListRequest was null or undefined when calling updateBlockList.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/blocklists/{name}`.replace(`{${\"name\"}}`, encodeURIComponent(String(requestParameters.name))),\n method: 'PUT',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.updateBlockListRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Updates contents of the block list \n * Update block list\n */\n async updateBlockList(requestParameters: UpdateBlockListOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Response> {\n const response = await this.updateBlockListRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Updates channel type \n * Update channel type\n */\n async updateChannelTypeRaw(requestParameters: UpdateChannelTypeOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<UpdateChannelTypeResponse>> {\n if (requestParameters.name === null || requestParameters.name === undefined) {\n throw new runtime.RequiredError('name','Required parameter requestParameters.name was null or undefined when calling updateChannelType.');\n }\n\n if (requestParameters.updateChannelTypeRequest === null || requestParameters.updateChannelTypeRequest === undefined) {\n throw new runtime.RequiredError('updateChannelTypeRequest','Required parameter requestParameters.updateChannelTypeRequest was null or undefined when calling updateChannelType.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/channeltypes/{name}`.replace(`{${\"name\"}}`, encodeURIComponent(String(requestParameters.name))),\n method: 'PUT',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.updateChannelTypeRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Updates channel type \n * Update channel type\n */\n async updateChannelType(requestParameters: UpdateChannelTypeOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<UpdateChannelTypeResponse> {\n const response = await this.updateChannelTypeRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n}\n\n/**\n * @export\n */\nexport const DeletePushProviderTypeEnum = {\n APN: 'apn',\n FIREBASE: 'firebase',\n HUAWEI: 'huawei',\n XIAOMI: 'xiaomi'\n} as const;\nexport type DeletePushProviderTypeEnum = typeof DeletePushProviderTypeEnum[keyof typeof DeletePushProviderTypeEnum];\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stream Chat API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v89.9.2\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport * as runtime from '../runtime';\nimport type {\n APIError,\n GetTaskResponse,\n} from '../models';\n\nexport interface GetTaskRequest {\n id: string;\n}\n\n/**\n * \n */\nexport class TasksApi extends runtime.BaseAPI {\n\n /**\n * Gets status of a task \n * Get status of a task\n */\n async getTaskRaw(requestParameters: GetTaskRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetTaskResponse>> {\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling getTask.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/tasks/{id}`.replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Gets status of a task \n * Get status of a task\n */\n async getTask(requestParameters: GetTaskRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetTaskResponse> {\n const response = await this.getTaskRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stream Chat API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v89.9.2\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport * as runtime from '../runtime';\nimport type {\n APIError,\n CheckPushRequest,\n CheckPushResponse,\n CheckSNSRequest,\n CheckSNSResponse,\n CheckSQSRequest,\n CheckSQSResponse,\n} from '../models';\n\nexport interface CheckPushOperationRequest {\n checkPushRequest: CheckPushRequest | null;\n}\n\nexport interface CheckSNSOperationRequest {\n checkSNSRequest: CheckSNSRequest | null;\n}\n\nexport interface CheckSQSOperationRequest {\n checkSQSRequest: CheckSQSRequest | null;\n}\n\n/**\n * \n */\nexport class TestingApi extends runtime.BaseAPI {\n\n /**\n * Sends a test message via push, this is a test endpoint to verify your push settings \n * Check push\n */\n async checkPushRaw(requestParameters: CheckPushOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<CheckPushResponse>> {\n if (requestParameters.checkPushRequest === null || requestParameters.checkPushRequest === undefined) {\n throw new runtime.RequiredError('checkPushRequest','Required parameter requestParameters.checkPushRequest was null or undefined when calling checkPush.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/check_push`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.checkPushRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Sends a test message via push, this is a test endpoint to verify your push settings \n * Check push\n */\n async checkPush(requestParameters: CheckPushOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<CheckPushResponse> {\n const response = await this.checkPushRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Validates Amazon SNS configuration \n * Check SNS\n */\n async checkSNSRaw(requestParameters: CheckSNSOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<CheckSNSResponse>> {\n if (requestParameters.checkSNSRequest === null || requestParameters.checkSNSRequest === undefined) {\n throw new runtime.RequiredError('checkSNSRequest','Required parameter requestParameters.checkSNSRequest was null or undefined when calling checkSNS.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/check_sns`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.checkSNSRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Validates Amazon SNS configuration \n * Check SNS\n */\n async checkSNS(requestParameters: CheckSNSOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<CheckSNSResponse> {\n const response = await this.checkSNSRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Validates Amazon SQS credentials \n * Check SQS\n */\n async checkSQSRaw(requestParameters: CheckSQSOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<CheckSQSResponse>> {\n if (requestParameters.checkSQSRequest === null || requestParameters.checkSQSRequest === undefined) {\n throw new runtime.RequiredError('checkSQSRequest','Required parameter requestParameters.checkSQSRequest was null or undefined when calling checkSQS.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/check_sqs`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.checkSQSRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Validates Amazon SQS credentials \n * Check SQS\n */\n async checkSQS(requestParameters: CheckSQSOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<CheckSQSResponse> {\n const response = await this.checkSQSRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stream Chat API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v89.9.2\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport * as runtime from '../runtime';\nimport type {\n APIError,\n BanRequest,\n ConnectRequest,\n DeactivateUserRequest,\n DeactivateUserResponse,\n DeactivateUsersRequest,\n DeactivateUsersResponse,\n DeleteUserResponse,\n DeleteUsersRequest,\n DeleteUsersResponse,\n ExportUserResponse,\n ExportUsersRequest,\n ExportUsersResponse,\n FlagRequest,\n FlagResponse,\n GuestRequest,\n GuestResponse,\n MuteUserRequest,\n MuteUserResponse,\n QueryBannedUsersRequest,\n QueryBannedUsersResponse,\n QueryUsersRequest,\n ReactivateUserRequest,\n ReactivateUserResponse,\n ReactivateUsersRequest,\n ReactivateUsersResponse,\n Response,\n RestoreUsersRequest,\n UnmuteResponse,\n UnmuteUserRequest,\n UpdateUserPartialRequest,\n UpdateUsersRequest,\n UpdateUsersResponse,\n UsersResponse,\n} from '../models';\n\nexport interface BanOperationRequest {\n banRequest: BanRequest | null;\n}\n\nexport interface ConnectOperationRequest {\n json?: ConnectRequest;\n}\n\nexport interface CreateGuestRequest {\n guestRequest: GuestRequest | null;\n}\n\nexport interface DeactivateUserOperationRequest {\n userId: string;\n deactivateUserRequest: DeactivateUserRequest | null;\n}\n\nexport interface DeactivateUsersOperationRequest {\n deactivateUsersRequest: DeactivateUsersRequest | null;\n}\n\nexport interface DeleteUserRequest {\n userId: string;\n markMessagesDeleted?: boolean;\n hardDelete?: boolean;\n deleteConversationChannels?: boolean;\n}\n\nexport interface DeleteUsersOperationRequest {\n deleteUsersRequest: DeleteUsersRequest | null;\n}\n\nexport interface ExportUserRequest {\n userId: string;\n}\n\nexport interface ExportUsersOperationRequest {\n exportUsersRequest: ExportUsersRequest | null;\n}\n\nexport interface FlagOperationRequest {\n flagRequest: FlagRequest | null;\n}\n\nexport interface LongPollRequest {\n json?: ConnectRequest;\n connectionId?: string;\n}\n\nexport interface MuteUserOperationRequest {\n muteUserRequest: MuteUserRequest | null;\n}\n\nexport interface QueryBannedUsersOperationRequest {\n payload?: QueryBannedUsersRequest;\n}\n\nexport interface QueryUsersOperationRequest {\n payload?: QueryUsersRequest;\n}\n\nexport interface ReactivateUserOperationRequest {\n userId: string;\n reactivateUserRequest: ReactivateUserRequest | null;\n}\n\nexport interface ReactivateUsersOperationRequest {\n reactivateUsersRequest: ReactivateUsersRequest | null;\n}\n\nexport interface RestoreUsersOperationRequest {\n restoreUsersRequest: RestoreUsersRequest | null;\n}\n\nexport interface UnbanRequest {\n targetUserId?: string;\n type?: string;\n id?: string;\n createdBy?: string;\n}\n\nexport interface UnflagRequest {\n flagRequest: FlagRequest | null;\n}\n\nexport interface UnmuteUserOperationRequest {\n unmuteUserRequest: UnmuteUserRequest | null;\n}\n\nexport interface UpdateUsersOperationRequest {\n updateUsersRequest: UpdateUsersRequest | null;\n}\n\nexport interface UpdateUsersPartialRequest {\n updateUserPartialRequest: UpdateUserPartialRequest | null;\n}\n\n/**\n * \n */\nexport class UsersApi extends runtime.BaseAPI {\n\n /**\n * Restricts user activity either in specific channel or globally Sends events: - user.banned Required permissions: - BanChannelMember - BanUser \n * Ban user\n */\n async banRaw(requestParameters: BanOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Response>> {\n if (requestParameters.banRequest === null || requestParameters.banRequest === undefined) {\n throw new runtime.RequiredError('banRequest','Required parameter requestParameters.banRequest was null or undefined when calling ban.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/moderation/ban`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.banRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Restricts user activity either in specific channel or globally Sends events: - user.banned Required permissions: - BanChannelMember - BanUser \n * Ban user\n */\n async ban(requestParameters: BanOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Response> {\n const response = await this.banRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Establishes WebSocket connection for user Sends events: - user.updated \n * Connect (WebSocket)\n */\n async connectRaw(requestParameters: ConnectOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {\n const queryParameters: any = {};\n\n if (requestParameters.json !== undefined) {\n queryParameters['json'] = requestParameters.json;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/connect`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.VoidApiResponse(response);\n }\n\n /**\n * Establishes WebSocket connection for user Sends events: - user.updated \n * Connect (WebSocket)\n */\n async connect(requestParameters: ConnectOperationRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void> {\n await this.connectRaw(requestParameters, initOverrides);\n }\n\n /**\n * Creates guest user \n * Create guest\n */\n async createGuestRaw(requestParameters: CreateGuestRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GuestResponse>> {\n if (requestParameters.guestRequest === null || requestParameters.guestRequest === undefined) {\n throw new runtime.RequiredError('guestRequest','Required parameter requestParameters.guestRequest was null or undefined when calling createGuest.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/guest`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.guestRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Creates guest user \n * Create guest\n */\n async createGuest(requestParameters: CreateGuestRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GuestResponse> {\n const response = await this.createGuestRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Deactivates user with possibility to activate it back Sends events: - user.deactivated \n * Deactivate user\n */\n async deactivateUserRaw(requestParameters: DeactivateUserOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<DeactivateUserResponse>> {\n if (requestParameters.userId === null || requestParameters.userId === undefined) {\n throw new runtime.RequiredError('userId','Required parameter requestParameters.userId was null or undefined when calling deactivateUser.');\n }\n\n if (requestParameters.deactivateUserRequest === null || requestParameters.deactivateUserRequest === undefined) {\n throw new runtime.RequiredError('deactivateUserRequest','Required parameter requestParameters.deactivateUserRequest was null or undefined when calling deactivateUser.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/users/{user_id}/deactivate`.replace(`{${\"user_id\"}}`, encodeURIComponent(String(requestParameters.userId))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.deactivateUserRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Deactivates user with possibility to activate it back Sends events: - user.deactivated \n * Deactivate user\n */\n async deactivateUser(requestParameters: DeactivateUserOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<DeactivateUserResponse> {\n const response = await this.deactivateUserRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Deactivate users in batches Sends events: - user.deactivated \n * Deactivate users\n */\n async deactivateUsersRaw(requestParameters: DeactivateUsersOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<DeactivateUsersResponse>> {\n if (requestParameters.deactivateUsersRequest === null || requestParameters.deactivateUsersRequest === undefined) {\n throw new runtime.RequiredError('deactivateUsersRequest','Required parameter requestParameters.deactivateUsersRequest was null or undefined when calling deactivateUsers.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/users/deactivate`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.deactivateUsersRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Deactivate users in batches Sends events: - user.deactivated \n * Deactivate users\n */\n async deactivateUsers(requestParameters: DeactivateUsersOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<DeactivateUsersResponse> {\n const response = await this.deactivateUsersRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Deletes user and optionally all their belongings. The Endpoint is deprecated, please use \\'Delete Users\\' endpoint instead Sends events: - channel.deleted - message.deleted - user.deleted \n * Delete user\n */\n async deleteUserRaw(requestParameters: DeleteUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<DeleteUserResponse>> {\n if (requestParameters.userId === null || requestParameters.userId === undefined) {\n throw new runtime.RequiredError('userId','Required parameter requestParameters.userId was null or undefined when calling deleteUser.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.markMessagesDeleted !== undefined) {\n queryParameters['mark_messages_deleted'] = requestParameters.markMessagesDeleted;\n }\n\n if (requestParameters.hardDelete !== undefined) {\n queryParameters['hard_delete'] = requestParameters.hardDelete;\n }\n\n if (requestParameters.deleteConversationChannels !== undefined) {\n queryParameters['delete_conversation_channels'] = requestParameters.deleteConversationChannels;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/users/{user_id}`.replace(`{${\"user_id\"}}`, encodeURIComponent(String(requestParameters.userId))),\n method: 'DELETE',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Deletes user and optionally all their belongings. The Endpoint is deprecated, please use \\'Delete Users\\' endpoint instead Sends events: - channel.deleted - message.deleted - user.deleted \n * Delete user\n */\n async deleteUser(requestParameters: DeleteUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<DeleteUserResponse> {\n const response = await this.deleteUserRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Deletes users and optionally all their belongings asynchronously. Sends events: - channel.deleted - user.deleted \n * Delete Users\n */\n async deleteUsersRaw(requestParameters: DeleteUsersOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<DeleteUsersResponse>> {\n if (requestParameters.deleteUsersRequest === null || requestParameters.deleteUsersRequest === undefined) {\n throw new runtime.RequiredError('deleteUsersRequest','Required parameter requestParameters.deleteUsersRequest was null or undefined when calling deleteUsers.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/users/delete`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.deleteUsersRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Deletes users and optionally all their belongings asynchronously. Sends events: - channel.deleted - user.deleted \n * Delete Users\n */\n async deleteUsers(requestParameters: DeleteUsersOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<DeleteUsersResponse> {\n const response = await this.deleteUsersRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Exports the user\\'s profile, reactions and messages. Raises an error if a user has more than 10k messages or reactions \n * Export user\n */\n async exportUserRaw(requestParameters: ExportUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ExportUserResponse>> {\n if (requestParameters.userId === null || requestParameters.userId === undefined) {\n throw new runtime.RequiredError('userId','Required parameter requestParameters.userId was null or undefined when calling exportUser.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/users/{user_id}/export`.replace(`{${\"user_id\"}}`, encodeURIComponent(String(requestParameters.userId))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Exports the user\\'s profile, reactions and messages. Raises an error if a user has more than 10k messages or reactions \n * Export user\n */\n async exportUser(requestParameters: ExportUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ExportUserResponse> {\n const response = await this.exportUserRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Exports user profile, reactions and messages for list of given users \n * Export users\n */\n async exportUsersRaw(requestParameters: ExportUsersOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ExportUsersResponse>> {\n if (requestParameters.exportUsersRequest === null || requestParameters.exportUsersRequest === undefined) {\n throw new runtime.RequiredError('exportUsersRequest','Required parameter requestParameters.exportUsersRequest was null or undefined when calling exportUsers.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/export/users`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.exportUsersRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Exports user profile, reactions and messages for list of given users \n * Export users\n */\n async exportUsers(requestParameters: ExportUsersOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ExportUsersResponse> {\n const response = await this.exportUsersRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Reports message or user for review by moderators Sends events: - message.flagged - user.flagged Required permissions: - FlagMessage - FlagUser \n * Flag\n */\n async flagRaw(requestParameters: FlagOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<FlagResponse>> {\n if (requestParameters.flagRequest === null || requestParameters.flagRequest === undefined) {\n throw new runtime.RequiredError('flagRequest','Required parameter requestParameters.flagRequest was null or undefined when calling flag.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/moderation/flag`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.flagRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Reports message or user for review by moderators Sends events: - message.flagged - user.flagged Required permissions: - FlagMessage - FlagUser \n * Flag\n */\n async flag(requestParameters: FlagOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<FlagResponse> {\n const response = await this.flagRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * WebSocket fallback transport endpoint Sends events: - user.updated \n * Long Poll (Transport)\n */\n async longPollRaw(requestParameters: LongPollRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {\n const queryParameters: any = {};\n\n if (requestParameters.json !== undefined) {\n queryParameters['json'] = requestParameters.json;\n }\n\n if (requestParameters.connectionId !== undefined) {\n queryParameters['connection_id'] = requestParameters.connectionId;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/longpoll`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.VoidApiResponse(response);\n }\n\n /**\n * WebSocket fallback transport endpoint Sends events: - user.updated \n * Long Poll (Transport)\n */\n async longPoll(requestParameters: LongPollRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void> {\n await this.longPollRaw(requestParameters, initOverrides);\n }\n\n /**\n * Mutes one or several users Sends events: - user.muted Required permissions: - MuteUser \n * Mute user\n */\n async muteUserRaw(requestParameters: MuteUserOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<MuteUserResponse>> {\n if (requestParameters.muteUserRequest === null || requestParameters.muteUserRequest === undefined) {\n throw new runtime.RequiredError('muteUserRequest','Required parameter requestParameters.muteUserRequest was null or undefined when calling muteUser.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/moderation/mute`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.muteUserRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Mutes one or several users Sends events: - user.muted Required permissions: - MuteUser \n * Mute user\n */\n async muteUser(requestParameters: MuteUserOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<MuteUserResponse> {\n const response = await this.muteUserRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Find and filter channel scoped or global user bans Required permissions: - ReadChannel \n * Query Banned Users\n */\n async queryBannedUsersRaw(requestParameters: QueryBannedUsersOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<QueryBannedUsersResponse>> {\n const queryParameters: any = {};\n\n if (requestParameters.payload !== undefined) {\n queryParameters['payload'] = requestParameters.payload;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/query_banned_users`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Find and filter channel scoped or global user bans Required permissions: - ReadChannel \n * Query Banned Users\n */\n async queryBannedUsers(requestParameters: QueryBannedUsersOperationRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<QueryBannedUsersResponse> {\n const response = await this.queryBannedUsersRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Find and filter users Required permissions: - SearchUser \n * Query users\n */\n async queryUsersRaw(requestParameters: QueryUsersOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<UsersResponse>> {\n const queryParameters: any = {};\n\n if (requestParameters.payload !== undefined) {\n queryParameters['payload'] = requestParameters.payload;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/users`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Find and filter users Required permissions: - SearchUser \n * Query users\n */\n async queryUsers(requestParameters: QueryUsersOperationRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<UsersResponse> {\n const response = await this.queryUsersRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Activates user who\\'s been deactivated previously Sends events: - user.reactivated \n * Reactivate user\n */\n async reactivateUserRaw(requestParameters: ReactivateUserOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ReactivateUserResponse>> {\n if (requestParameters.userId === null || requestParameters.userId === undefined) {\n throw new runtime.RequiredError('userId','Required parameter requestParameters.userId was null or undefined when calling reactivateUser.');\n }\n\n if (requestParameters.reactivateUserRequest === null || requestParameters.reactivateUserRequest === undefined) {\n throw new runtime.RequiredError('reactivateUserRequest','Required parameter requestParameters.reactivateUserRequest was null or undefined when calling reactivateUser.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/users/{user_id}/reactivate`.replace(`{${\"user_id\"}}`, encodeURIComponent(String(requestParameters.userId))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.reactivateUserRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Activates user who\\'s been deactivated previously Sends events: - user.reactivated \n * Reactivate user\n */\n async reactivateUser(requestParameters: ReactivateUserOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ReactivateUserResponse> {\n const response = await this.reactivateUserRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Reactivate users in batches Sends events: - user.reactivated \n * Reactivate users\n */\n async reactivateUsersRaw(requestParameters: ReactivateUsersOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ReactivateUsersResponse>> {\n if (requestParameters.reactivateUsersRequest === null || requestParameters.reactivateUsersRequest === undefined) {\n throw new runtime.RequiredError('reactivateUsersRequest','Required parameter requestParameters.reactivateUsersRequest was null or undefined when calling reactivateUsers.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/users/reactivate`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.reactivateUsersRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Reactivate users in batches Sends events: - user.reactivated \n * Reactivate users\n */\n async reactivateUsers(requestParameters: ReactivateUsersOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ReactivateUsersResponse> {\n const response = await this.reactivateUsersRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Restore soft deleted users \n * Restore users\n */\n async restoreUsersRaw(requestParameters: RestoreUsersOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Response>> {\n if (requestParameters.restoreUsersRequest === null || requestParameters.restoreUsersRequest === undefined) {\n throw new runtime.RequiredError('restoreUsersRequest','Required parameter requestParameters.restoreUsersRequest was null or undefined when calling restoreUsers.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/users/restore`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.restoreUsersRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Restore soft deleted users \n * Restore users\n */\n async restoreUsers(requestParameters: RestoreUsersOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Response> {\n const response = await this.restoreUsersRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Removes previously applied ban Sends events: - user.unbanned Required permissions: - BanChannelMember - BanUser \n * Unban user\n */\n async unbanRaw(requestParameters: UnbanRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Response>> {\n const queryParameters: any = {};\n\n if (requestParameters.targetUserId !== undefined) {\n queryParameters['target_user_id'] = requestParameters.targetUserId;\n }\n\n if (requestParameters.type !== undefined) {\n queryParameters['type'] = requestParameters.type;\n }\n\n if (requestParameters.id !== undefined) {\n queryParameters['id'] = requestParameters.id;\n }\n\n if (requestParameters.createdBy !== undefined) {\n queryParameters['created_by'] = requestParameters.createdBy;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/moderation/ban`,\n method: 'DELETE',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Removes previously applied ban Sends events: - user.unbanned Required permissions: - BanChannelMember - BanUser \n * Unban user\n */\n async unban(requestParameters: UnbanRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Response> {\n const response = await this.unbanRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Removes previously created user or message flag Required permissions: - FlagMessage - FlagUser \n * Unflag\n */\n async unflagRaw(requestParameters: UnflagRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<FlagResponse>> {\n if (requestParameters.flagRequest === null || requestParameters.flagRequest === undefined) {\n throw new runtime.RequiredError('flagRequest','Required parameter requestParameters.flagRequest was null or undefined when calling unflag.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/moderation/unflag`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.flagRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Removes previously created user or message flag Required permissions: - FlagMessage - FlagUser \n * Unflag\n */\n async unflag(requestParameters: UnflagRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<FlagResponse> {\n const response = await this.unflagRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Unmutes previously muted user Sends events: - user.unmuted Required permissions: - MuteUser \n * Unmute user\n */\n async unmuteUserRaw(requestParameters: UnmuteUserOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<UnmuteResponse>> {\n if (requestParameters.unmuteUserRequest === null || requestParameters.unmuteUserRequest === undefined) {\n throw new runtime.RequiredError('unmuteUserRequest','Required parameter requestParameters.unmuteUserRequest was null or undefined when calling unmuteUser.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/moderation/unmute`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.unmuteUserRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Unmutes previously muted user Sends events: - user.unmuted Required permissions: - MuteUser \n * Unmute user\n */\n async unmuteUser(requestParameters: UnmuteUserOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<UnmuteResponse> {\n const response = await this.unmuteUserRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Update or create users in bulk Sends events: - user.updated \n * Upsert users\n */\n async updateUsersRaw(requestParameters: UpdateUsersOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<UpdateUsersResponse>> {\n if (requestParameters.updateUsersRequest === null || requestParameters.updateUsersRequest === undefined) {\n throw new runtime.RequiredError('updateUsersRequest','Required parameter requestParameters.updateUsersRequest was null or undefined when calling updateUsers.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/users`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.updateUsersRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Update or create users in bulk Sends events: - user.updated \n * Upsert users\n */\n async updateUsers(requestParameters: UpdateUsersOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<UpdateUsersResponse> {\n const response = await this.updateUsersRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Updates certain fields of the user Sends events: - user.presence.changed - user.updated \n * Partially update user\n */\n async updateUsersPartialRaw(requestParameters: UpdateUsersPartialRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<UpdateUsersResponse>> {\n if (requestParameters.updateUserPartialRequest === null || requestParameters.updateUserPartialRequest === undefined) {\n throw new runtime.RequiredError('updateUserPartialRequest','Required parameter requestParameters.updateUserPartialRequest was null or undefined when calling updateUsersPartial.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/users`,\n method: 'PATCH',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.updateUserPartialRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Updates certain fields of the user Sends events: - user.presence.changed - user.updated \n * Partially update user\n */\n async updateUsersPartial(requestParameters: UpdateUsersPartialRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<UpdateUsersResponse> {\n const response = await this.updateUsersPartialRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n}\n","import { StreamClient } from \"./StreamClient\";\nimport { ChannelGetOrCreateRequest, ChannelsApi, DeleteChannelRequest, DeleteFileRequest, DeleteImageRequest, DeleteMessageRequest, DeleteReactionRequest, EventRequest, EventsApi, GetManyMessagesRequest, GetMessageRequest, GetOGRequest, GetReactionsRequest, GetRepliesRequest, HideChannelRequest, MarkReadRequest, MarkUnreadRequest, MessagesApi, MuteChannelRequest, QueryMembersRequest, SendMessageRequest, SendReactionRequest, ShowChannelRequest, TranslateMessageRequest, TruncateChannelRequest, UnmuteChannelRequest, UpdateChannelPartialRequest, UpdateChannelRequest, UpdateMessagePartialRequest, UpdateMessageRequest, UploadFileRequest, UploadImageRequest } from \"./gen/chat\";\nimport { OmitTypeId } from \"./types\";\n\nexport class StreamChannel {\n private readonly channelsApi: ChannelsApi;\n private readonly messagesApi: MessagesApi;\n private readonly eventsApi: EventsApi;\n\n constructor(\n private streamClient: StreamClient,\n public readonly type: string,\n public id?: string\n ) {\n const configuration = this.streamClient.getConfiguration();\n //@ts-expect-error typing problem\n this.channelsApi = new ChannelsApi(configuration);\n //@ts-expect-error typing problem\n this.messagesApi = new MessagesApi(configuration);\n //@ts-expect-error typing problem\n this.eventsApi = new EventsApi(configuration);\n }\n\n get cid() {\n return `${this.baseRequest.type}:${this.baseRequest.id}`\n }\n\n delete = (request?: OmitTypeId<DeleteChannelRequest>) => {\n return this.channelsApi.deleteChannel({...this.baseRequest, ...(request || {})});\n }\n\n update = (updateChannelRequest: OmitTypeId<UpdateChannelRequest>) => {\n return this.channelsApi.updateChannel({...this.baseRequest, updateChannelRequest});\n }\n\n updatePartial = (updateChannelPartialRequest: OmitTypeId<UpdateChannelPartialRequest>) => {\n return this.channelsApi.updateChannelPartial({...this.baseRequest, updateChannelPartialRequest});\n }\n\n getOrCreate = async (channelGetOrCreateRequest?: ChannelGetOrCreateRequest) => {\n if (this.id) {\n return this.channelsApi.getOrCreateChannel({...this.baseRequest, channelGetOrCreateRequest: channelGetOrCreateRequest || {}});\n } else {\n throw new Error(`This operation isn't yet implemented`);\n // if (!channelGetOrCreateRequest?.data?.members) {\n // throw new Error('You need to provide members to create a channel without ID');\n // }\n // const response = await this.channelsApi.getOrCreateChannelType1({type: this.type, channelGetOrCreateRequest});\n // this.id = response.channel?.id;\n // return response;\n }\n }\n\n markRead = (markReadRequest: MarkReadRequest) => {\n return this.channelsApi.markRead({...this.baseRequest, markReadRequest});\n }\n\n markUnread = (markUnreadRequest: MarkUnreadRequest) => {\n return this.channelsApi.markUnread({...this.baseRequest, markUnreadRequest});\n }\n\n show = (showChannelRequest: ShowChannelRequest) => {\n return this.channelsApi.showChannel({...this.baseRequest, showChannelRequest});\n }\n\n hide = (hideChannelRequest: HideChannelRequest) => {\n return this.channelsApi.hideChannel({...this.baseRequest, hideChannelRequest});\n }\n\n truncate = (truncateChannelRequest: TruncateChannelRequest ) => {\n return this.channelsApi.truncateChannel({...this.baseRequest, truncateChannelRequest});\n }\n\n queryMembers = (request: OmitTypeId<QueryMembersRequest>) => {\n return this.channelsApi.queryMembers({payload: {...this.baseRequest, ...request}});\n }\n\n mute = (muteChannelRequest: Omit<MuteChannelRequest, 'channel_cids'>) => {\n return this.channelsApi.muteChannel({muteChannelRequest: {...muteChannelRequest, channel_cids: [this.cid]}});\n }\n\n unmute = (unmuteChannelRequest: Omit<UnmuteChannelRequest, 'channel_cids' | 'channel_cid'>) => {\n return this.channelsApi.unmuteChannel({unmuteChannelRequest: {...unmuteChannelRequest, channel_cid: this.cid, channel_cids: []}});\n }\n\n // TODO: there is probably an issue with the generated code here\n // uploadFile = (options: Omit<OmitTypeId<UploadFileRequest>, 'file'>, file: Buffer) => {\n // return this.messagesApi.uploadFile({...options, ...this.baseRequest, file: file as any as string});\n // }\n\n // deleteFile = (request: OmitTypeId<DeleteFileRequest>) => {\n // return this.messagesApi.deleteFile({...request, ...this.baseRequest});\n // }\n\n // uploadImage = (request: OmitTypeId<UploadImageRequest>) => {\n // return this.messagesApi.uploadImage({...request, ...this.baseRequest});\n // }\n\n // deleteImage = (request: OmitTypeId<DeleteImageRequest>) => {\n // return this.messagesApi.deleteImage({...request, ...this.baseRequest});\n // }\n\n sendMessage = (sendMessageRequest: SendMessageRequest) => {\n return this.messagesApi.sendMessage({...this.baseRequest, sendMessageRequest});\n }\n\n deleteMessage = (request: DeleteMessageRequest) => {\n return this.messagesApi.deleteMessage(request);\n }\n\n updateMessage = (id: string, updateMessageRequest: UpdateMessageRequest) => {\n return this.messagesApi.updateMessage({id, updateMessageRequest});\n }\n\n updateMessagePartial = (id: string, updateMessagePartialRequest: UpdateMessagePartialRequest) => {\n return this.messagesApi.updateMessagePartial({id, updateMessagePartialRequest});\n }\n\n getMessage = (request: GetMessageRequest) => {\n return this.messagesApi.getMessage(request);\n }\n\n getManyMessages = (request: OmitTypeId<GetManyMessagesRequest>) => {\n return this.messagesApi.getManyMessages({...request, ...this.baseRequest});\n }\n\n translateMessage = (id: string, translateMessageRequest: TranslateMessageRequest) => {\n return this.messagesApi.translateMessage({id, translateMessageRequest});\n }\n\n getMessagesAround = (request: GetRepliesRequest) => {\n return this.messagesApi.getReplies(request);\n }\n\n getOpenGraphData = (request: GetOGRequest) => {\n return this.messagesApi.getOG(request);\n }\n\n sendMessageReaction = (messageId: string, sendReactionRequest: SendReactionRequest) => {\n return this.messagesApi.sendReaction({id: messageId, sendReactionRequest});\n }\n\n deleteMessageReaction = (messageId: string, request: Omit<DeleteReactionRequest, 'id'>) => {\n return this.messagesApi.deleteReaction({...request, id: messageId});\n }\n\n getMessageReactions = (messageId: string, request?: Omit<GetReactionsRequest, 'id'>) => {\n return this.messagesApi.getReactions({...(request || {}), id: messageId});\n }\n\n sendCustomEvent = (event: EventRequest) => {\n return this.eventsApi.sendEvent({...this.baseRequest, sendEventRequest: {event}});\n }\n\n private get baseRequest() {\n if (!this.id) {\n throw new Error('You need to initialize the channel with `getOrCreate`');\n }\n\n return {\n id: this.id,\n type: this.type\n }\n }\n}\n","import { StreamChannel } from \"./StreamChannel\";\nimport { StreamClient } from \"./StreamClient\";\nimport { ChannelTypesApi, ChannelsApi, CreateBlockListRequest, CreateChannelTypeRequest, CreateCommandRequest, CustomCommandsApi, DeleteBlockListRequest, DeleteChannelTypeRequest, DeleteCommandRequest, ExportChannelsRequest, GetBlockListRequest, GetChannelTypeRequest, GetCommandRequest, GetExportChannelsStatusRequest, QueryChannelsRequest, SearchRequest, SettingsApi, UpdateBlockListRequest, UpdateChannelTypeRequest, UpdateCommandRequest } from \"./gen/chat\";\n\nexport class StreamChatClient {\n private settingsApi: SettingsApi;\n private channelTypesApi: ChannelTypesApi;\n private channelsApi: ChannelsApi;\n private commandsApi: CustomCommandsApi;\n\n constructor(private streamClient: StreamClient) {\n const configuration = this.streamClient.getConfiguration();\n //@ts-expect-error typing problem\n this.settingsApi = new SettingsApi(configuration);\n //@ts-expect-error typing problem\n this.channelTypesApi = new ChannelTypesApi(configuration);\n //@ts-expect-error typing problem\n this.channelsApi = new ChannelsApi(configuration);\n //@ts-expect-error typing problem\n this.commandsApi = new CustomCommandsApi(configuration);\n }\n\n channel = (type: string, id?: string) => {\n return new StreamChannel(this.streamClient, type, id);\n }\n\n createBlockList = (createBlockListRequest: CreateBlockListRequest) => {\n return this.settingsApi.createBlockList({createBlockListRequest});\n } \n\n listBlockLists = () => {\n return this.settingsApi.listBlockLists();\n }\n\n getBlockList = (request: GetBlockListRequest) => {\n return this.settingsApi.getBlockList(request);\n }\n\n updateBlockList = (name: string, updateBlockListRequest: UpdateBlockListRequest) => {\n return this.settingsApi.updateBlockList({name, updateBlockListRequest});\n }\n\n deleteBlockList = (request: DeleteBlockListRequest) => {\n return this.settingsApi.deleteBlockList(request);\n }\n\n createChannelType = (createChannelTypeRequest: CreateChannelTypeRequest) => {\n return this.channelTypesApi.createChannelType({createChannelTypeRequest});\n }\n\n deleteChannelType = (request: DeleteChannelTypeRequest) => {\n return this.channelTypesApi.deleteChannelType(request);\n }\n\n getChannelType = (request: GetChannelTypeRequest) => {\n return this.channelTypesApi.getChannelType(request);\n }\n\n listChannelTypes = () => {\n return this.channelTypesApi.listChannelTypes();\n }\n\n updateChannelType = (name: string, updateChannelTypeRequest: UpdateChannelTypeRequest) => {\n return this.channelTypesApi.updateChannelType({name, updateChannelTypeRequest});\n }\n\n queryChannels = (queryChannelsRequest?: QueryChannelsRequest) => {\n return this.channelsApi.queryChannels({queryChannelsRequest: queryChannelsRequest || null});\n }\n\n searchMessages = (payload?: SearchRequest) => {\n return this.channelsApi.search({payload: payload});\n }\n\n exportChannels = (exportChannelsRequest?: ExportChannelsRequest) => {\n return this.channelsApi.exportChannels({exportChannelsRequest: exportChannelsRequest || null});\n }\n\n getExportStatus = (request: GetExportChannelsStatusRequest) => {\n return this.channelsApi.getExportChannelsStatus(request);\n }\n\n listCommands = () => {\n return this.commandsApi.listCommands();\n }\n\n createCommand = (createCommandRequest: CreateCommandRequest) => {\n return this.commandsApi.createCommand({createCommandRequest});\n }\n\n getCommand = (getCommandRequest: GetCommandRequest) => {\n return this.commandsApi.getCommand(getCommandRequest);\n }\n\n updateCommand = (name: string, updateCommandRequest: UpdateCommandRequest) => {\n return this.commandsApi.updateCommand({name, updateCommandRequest})\n }\n\n deleteCommand = (request: DeleteCommandRequest) => {\n return this.commandsApi.deleteCommand(request);\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stream Video API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v89.9.2\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport const BASE_PATH = \"https://video.stream-io-api.com\".replace(/\\/+$/, \"\");\n\nexport interface ConfigurationParameters {\n basePath?: string; // override base path\n fetchApi?: FetchAPI; // override for fetch implementation\n middleware?: Middleware[]; // middleware to apply before/after fetch requests\n queryParamsStringify?: (params: HTTPQuery) => string; // stringify function for query strings\n username?: string; // parameter for basic security\n password?: string; // parameter for basic security\n apiKey?: string | ((name: string) => string); // parameter for apiKey security\n accessToken?: string | Promise<string> | ((name?: string, scopes?: string[]) => string | Promise<string>); // parameter for oauth2 security\n headers?: HTTPHeaders; //header params we want to use on every request\n credentials?: RequestCredentials; //value for the credentials param we want to use on each request\n}\n\nexport class Configuration {\n constructor(private configuration: ConfigurationParameters = {}) {}\n\n set config(configuration: Configuration) {\n this.configuration = configuration;\n }\n\n get basePath(): string {\n return this.configuration.basePath != null ? this.configuration.basePath : BASE_PATH;\n }\n\n get fetchApi(): FetchAPI | undefined {\n return this.configuration.fetchApi;\n }\n\n get middleware(): Middleware[] {\n return this.configuration.middleware || [];\n }\n\n get queryParamsStringify(): (params: HTTPQuery) => string {\n return this.configuration.queryParamsStringify || querystring;\n }\n\n get username(): string | undefined {\n return this.configuration.username;\n }\n\n get password(): string | undefined {\n return this.configuration.password;\n }\n\n get apiKey(): ((name: string) => string) | undefined {\n const apiKey = this.configuration.apiKey;\n if (apiKey) {\n return typeof apiKey === 'function' ? apiKey : () => apiKey;\n }\n return undefined;\n }\n\n get accessToken(): ((name?: string, scopes?: string[]) => string | Promise<string>) | undefined {\n const accessToken = this.configuration.accessToken;\n if (accessToken) {\n return typeof accessToken === 'function' ? accessToken : async () => accessToken;\n }\n return undefined;\n }\n\n get headers(): HTTPHeaders | undefined {\n return this.configuration.headers;\n }\n\n get credentials(): RequestCredentials | undefined {\n return this.configuration.credentials;\n }\n}\n\nexport const DefaultConfig = new Configuration();\n\n/**\n * This is the base class for all generated API classes.\n */\nexport class BaseAPI {\n\n\t private static readonly jsonRegex = new RegExp('^(:?application\\/json|[^;/ \\t]+\\/[^;/ \\t]+[+]json)[ \\t]*(:?;.*)?$', 'i');\n private middleware: Middleware[];\n\n constructor(protected configuration = DefaultConfig) {\n this.middleware = configuration.middleware;\n }\n\n withMiddleware<T extends BaseAPI>(this: T, ...middlewares: Middleware[]) {\n const next = this.clone<T>();\n next.middleware = next.middleware.concat(...middlewares);\n return next;\n }\n\n withPreMiddleware<T extends BaseAPI>(this: T, ...preMiddlewares: Array<Middleware['pre']>) {\n const middlewares = preMiddlewares.map((pre) => ({ pre }));\n return this.withMiddleware<T>(...middlewares);\n }\n\n withPostMiddleware<T extends BaseAPI>(this: T, ...postMiddlewares: Array<Middleware['post']>) {\n const middlewares = postMiddlewares.map((post) => ({ post }));\n return this.withMiddleware<T>(...middlewares);\n }\n\n /**\n * Check if the given MIME is a JSON MIME.\n * JSON MIME examples:\n * application/json\n * application/json; charset=UTF8\n * APPLICATION/JSON\n * application/vnd.company+json\n * @param mime - MIME (Multipurpose Internet Mail Extensions)\n * @return True if the given MIME is JSON, false otherwise.\n */\n protected isJsonMime(mime: string | null | undefined): boolean {\n if (!mime) {\n return false;\n }\n return BaseAPI.jsonRegex.test(mime);\n }\n\n protected async request(context: RequestOpts, initOverrides?: RequestInit | InitOverrideFunction): Promise<Response> {\n const { url, init } = await this.createFetchParams(context, initOverrides);\n const response = await this.fetchApi(url, init);\n if (response && (response.status >= 200 && response.status < 300)) {\n return response;\n }\n throw new ResponseError(response, 'Response returned an error code');\n }\n\n private async createFetchParams(context: RequestOpts, initOverrides?: RequestInit | InitOverrideFunction) {\n let url = this.configuration.basePath + context.path;\n if (context.query !== undefined && Object.keys(context.query).length !== 0) {\n // only add the querystring to the URL if there are query parameters.\n // this is done to avoid urls ending with a \"?\" character which buggy webservers\n // do not handle correctly sometimes.\n url += '?' + this.configuration.queryParamsStringify(context.query);\n }\n\n const headers = Object.assign({}, this.configuration.headers, context.headers);\n Object.keys(headers).forEach(key => headers[key] === undefined ? delete headers[key] : {});\n\n const initOverrideFn =\n typeof initOverrides === \"function\"\n ? initOverrides\n : async () => initOverrides;\n\n const initParams = {\n method: context.method,\n headers,\n body: context.body,\n credentials: this.configuration.credentials,\n };\n\n const overriddenInit: RequestInit = {\n ...initParams,\n ...(await initOverrideFn({\n init: initParams,\n context,\n }))\n };\n\n const init: RequestInit = {\n ...overriddenInit,\n body:\n isFormData(overriddenInit.body) ||\n overriddenInit.body instanceof URLSearchParams ||\n isBlob(overriddenInit.body)\n ? overriddenInit.body\n : JSON.stringify(overriddenInit.body),\n };\n\n return { url, init };\n }\n\n private fetchApi = async (url: string, init: RequestInit) => {\n let fetchParams = { url, init };\n for (const middleware of this.middleware) {\n if (middleware.pre) {\n fetchParams = await middleware.pre({\n fetch: this.fetchApi,\n ...fetchParams,\n }) || fetchParams;\n }\n }\n let response: Response | undefined = undefined;\n try {\n response = await (this.configuration.fetchApi || fetch)(fetchParams.url, fetchParams.init);\n } catch (e) {\n for (const middleware of this.middleware) {\n if (middleware.onError) {\n response = await middleware.onError({\n fetch: this.fetchApi,\n url: fetchParams.url,\n init: fetchParams.init,\n error: e,\n response: response ? response.clone() : undefined,\n }) || response;\n }\n }\n if (response === undefined) {\n if (e instanceof Error) {\n throw new FetchError(e, 'The request failed and the interceptors did not return an alternative response');\n } else {\n throw e;\n }\n }\n }\n for (const middleware of this.middleware) {\n if (middleware.post) {\n response = await middleware.post({\n fetch: this.fetchApi,\n url: fetchParams.url,\n init: fetchParams.init,\n response: response.clone(),\n }) || response;\n }\n }\n return response;\n }\n\n /**\n * Create a shallow clone of `this` by constructing a new instance\n * and then shallow cloning data members.\n */\n private clone<T extends BaseAPI>(this: T): T {\n const constructor = this.constructor as any;\n const next = new constructor(this.configuration);\n next.middleware = this.middleware.slice();\n return next;\n }\n};\n\nfunction isBlob(value: any): value is Blob {\n return typeof Blob !== 'undefined' && value instanceof Blob;\n}\n\nfunction isFormData(value: any): value is FormData {\n return typeof FormData !== \"undefined\" && value instanceof FormData;\n}\n\nexport class ResponseError extends Error {\n override name: \"ResponseError\" = \"ResponseError\";\n constructor(public response: Response, msg?: string) {\n super(msg);\n }\n}\n\nexport class FetchError extends Error {\n override name: \"FetchError\" = \"FetchError\";\n constructor(public cause: Error, msg?: string) {\n super(msg);\n }\n}\n\nexport class RequiredError extends Error {\n override name: \"RequiredError\" = \"RequiredError\";\n constructor(public field: string, msg?: string) {\n super(msg);\n }\n}\n\nexport const COLLECTION_FORMATS = {\n csv: \",\",\n ssv: \" \",\n tsv: \"\\t\",\n pipes: \"|\",\n};\n\nexport type FetchAPI = WindowOrWorkerGlobalScope['fetch'];\n\nexport type Json = any;\nexport type HTTPMethod = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE' | 'OPTIONS' | 'HEAD';\nexport type HTTPHeaders = { [key: string]: string };\nexport type HTTPQuery = { [key: string]: string | number | null | boolean | Array<string | number | null | boolean> | Set<string | number | null | boolean> | HTTPQuery };\nexport type HTTPBody = Json | FormData | URLSearchParams;\nexport type HTTPRequestInit = { headers?: HTTPHeaders; method: HTTPMethod; credentials?: RequestCredentials; body?: HTTPBody };\nexport type ModelPropertyNaming = 'camelCase' | 'snake_case' | 'PascalCase' | 'original';\n\nexport type InitOverrideFunction = (requestContext: { init: HTTPRequestInit, context: RequestOpts }) => Promise<RequestInit>\n\nexport interface FetchParams {\n url: string;\n init: RequestInit;\n}\n\nexport interface RequestOpts {\n path: string;\n method: HTTPMethod;\n headers: HTTPHeaders;\n query?: HTTPQuery;\n body?: HTTPBody;\n}\n\n\nexport function querystring(params: HTTPQuery, prefix: string = ''): string {\n return Object.keys(params)\n .map(key => querystringSingleKey(key, params[key], prefix))\n .filter(part => part.length > 0)\n .join('&');\n}\n\nfunction querystringSingleKey(key: string, value: string | number | null | undefined | boolean | Array<string | number | null | boolean> | Set<string | number | null | boolean> | HTTPQuery, keyPrefix: string = ''): string {\n const fullKey = keyPrefix + (keyPrefix.length ? `[${key}]` : key);\n if (value instanceof Array) {\n const multiValue = value.map(singleValue => encodeURIComponent(String(singleValue)))\n .join(`&${encodeURIComponent(fullKey)}=`);\n return `${encodeURIComponent(fullKey)}=${multiValue}`;\n }\n if (value instanceof Set) {\n const valueAsArray = Array.from(value);\n return querystringSingleKey(key, valueAsArray, keyPrefix);\n }\n if (value instanceof Date) {\n return `${encodeURIComponent(fullKey)}=${encodeURIComponent(value.toISOString())}`;\n }\n if (value instanceof Object) {\n return querystring(value as HTTPQuery, fullKey);\n }\n return `${encodeURIComponent(fullKey)}=${encodeURIComponent(String(value))}`;\n}\n\n\nexport function canConsumeForm(consumes: Consume[]): boolean {\n for (const consume of consumes) {\n if ('multipart/form-data' === consume.contentType) {\n return true;\n }\n }\n return false;\n}\n\nexport interface Consume {\n contentType: string;\n}\n\nexport interface RequestContext {\n fetch: FetchAPI;\n url: string;\n init: RequestInit;\n}\n\nexport interface ResponseContext {\n fetch: FetchAPI;\n url: string;\n init: RequestInit;\n response: Response;\n}\n\nexport interface ErrorContext {\n fetch: FetchAPI;\n url: string;\n init: RequestInit;\n error: unknown;\n response?: Response;\n}\n\nexport interface Middleware {\n pre?(context: RequestContext): Promise<FetchParams | void>;\n post?(context: ResponseContext): Promise<Response | void>;\n onError?(context: ErrorContext): Promise<Response | void>;\n}\n\nexport interface ApiResponse<T> {\n raw: Response;\n value(): Promise<T>;\n}\n\nexport interface ResponseTransformer<T> {\n (json: any): T;\n}\n\nexport class JSONApiResponse<T> {\n constructor(public raw: Response, private transformer: ResponseTransformer<T> = (jsonValue: any) => jsonValue) {}\n\n async value(): Promise<T> {\n return this.transformer(await this.raw.json());\n }\n}\n\nexport class VoidApiResponse {\n constructor(public raw: Response) {}\n\n async value(): Promise<void> {\n return undefined;\n }\n}\n\nexport class BlobApiResponse {\n constructor(public raw: Response) {}\n\n async value(): Promise<Blob> {\n return await this.raw.blob();\n };\n}\n\nexport class TextApiResponse {\n constructor(public raw: Response) {}\n\n async value(): Promise<string> {\n return await this.raw.text();\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stream Video API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v89.9.2\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport * as runtime from '../runtime';\nimport type {\n VideoAPIError,\n VideoAcceptCallResponse,\n VideoBlockUserRequest,\n VideoBlockUserResponse,\n VideoCreateDeviceRequest,\n VideoCreateGuestRequest,\n VideoCreateGuestResponse,\n VideoEndCallResponse,\n VideoGetCallResponse,\n VideoGetEdgesResponse,\n VideoGetOrCreateCallRequest,\n VideoGetOrCreateCallResponse,\n VideoGoLiveRequest,\n VideoGoLiveResponse,\n VideoJoinCallRequest,\n VideoJoinCallResponse,\n VideoListDevicesResponse,\n VideoListRecordingsResponse,\n VideoMuteUsersRequest,\n VideoMuteUsersResponse,\n VideoPinRequest,\n VideoPinResponse,\n VideoQueryCallsRequest,\n VideoQueryCallsResponse,\n VideoQueryMembersRequest,\n VideoQueryMembersResponse,\n VideoRejectCallResponse,\n VideoRequestPermissionRequest,\n VideoRequestPermissionResponse,\n VideoResponse,\n VideoSendEventRequest,\n VideoSendEventResponse,\n VideoSendReactionRequest,\n VideoSendReactionResponse,\n VideoStartHLSBroadcastingResponse,\n VideoStartRecordingResponse,\n VideoStartTranscriptionResponse,\n VideoStopHLSBroadcastingResponse,\n VideoStopLiveResponse,\n VideoStopRecordingResponse,\n VideoStopTranscriptionResponse,\n VideoUnblockUserRequest,\n VideoUnblockUserResponse,\n VideoUnpinRequest,\n VideoUnpinResponse,\n VideoUpdateCallMembersRequest,\n VideoUpdateCallMembersResponse,\n VideoUpdateCallRequest,\n VideoUpdateCallResponse,\n VideoUpdateUserPermissionsRequest,\n VideoUpdateUserPermissionsResponse,\n VideoWSAuthMessageRequest,\n} from '../models';\n\nexport interface AcceptCallRequest {\n type: string;\n id: string;\n}\n\nexport interface BlockUserRequest {\n type: string;\n id: string;\n videoBlockUserRequest: VideoBlockUserRequest | null;\n}\n\nexport interface CreateDeviceRequest {\n videoCreateDeviceRequest: VideoCreateDeviceRequest | null;\n}\n\nexport interface CreateGuestRequest {\n videoCreateGuestRequest: VideoCreateGuestRequest | null;\n}\n\nexport interface DeleteDeviceRequest {\n id?: string;\n userId?: string;\n}\n\nexport interface EndCallRequest {\n type: string;\n id: string;\n}\n\nexport interface GetCallRequest {\n type: string;\n id: string;\n connectionId?: string;\n membersLimit?: number;\n ring?: boolean;\n notify?: boolean;\n}\n\nexport interface GetOrCreateCallRequest {\n type: string;\n id: string;\n videoGetOrCreateCallRequest: VideoGetOrCreateCallRequest | null;\n connectionId?: string;\n}\n\nexport interface GoLiveRequest {\n type: string;\n id: string;\n videoGoLiveRequest: VideoGoLiveRequest | null;\n}\n\nexport interface JoinCallRequest {\n type: string;\n id: string;\n videoJoinCallRequest: VideoJoinCallRequest | null;\n connectionId?: string;\n}\n\nexport interface ListDevicesRequest {\n userId?: string;\n}\n\nexport interface ListRecordingsRequest {\n type: string;\n id: string;\n}\n\nexport interface MuteUsersRequest {\n type: string;\n id: string;\n videoMuteUsersRequest: VideoMuteUsersRequest | null;\n}\n\nexport interface QueryCallsRequest {\n videoQueryCallsRequest: VideoQueryCallsRequest | null;\n connectionId?: string;\n}\n\nexport interface QueryMembersRequest {\n videoQueryMembersRequest: VideoQueryMembersRequest | null;\n}\n\nexport interface RejectCallRequest {\n type: string;\n id: string;\n}\n\nexport interface RequestPermissionRequest {\n type: string;\n id: string;\n videoRequestPermissionRequest: VideoRequestPermissionRequest | null;\n}\n\nexport interface SendEventRequest {\n type: string;\n id: string;\n videoSendEventRequest: VideoSendEventRequest | null;\n}\n\nexport interface SendVideoReactionRequest {\n type: string;\n id: string;\n videoSendReactionRequest: VideoSendReactionRequest | null;\n}\n\nexport interface StartHLSBroadcastingRequest {\n type: string;\n id: string;\n}\n\nexport interface StartRecordingRequest {\n type: string;\n id: string;\n}\n\nexport interface StartTranscriptionRequest {\n type: string;\n id: string;\n}\n\nexport interface StopHLSBroadcastingRequest {\n type: string;\n id: string;\n}\n\nexport interface StopLiveRequest {\n type: string;\n id: string;\n}\n\nexport interface StopRecordingRequest {\n type: string;\n id: string;\n}\n\nexport interface StopTranscriptionRequest {\n type: string;\n id: string;\n}\n\nexport interface UnblockUserRequest {\n type: string;\n id: string;\n videoUnblockUserRequest: VideoUnblockUserRequest | null;\n}\n\nexport interface UpdateCallRequest {\n type: string;\n id: string;\n videoUpdateCallRequest: VideoUpdateCallRequest | null;\n}\n\nexport interface UpdateCallMembersRequest {\n type: string;\n id: string;\n videoUpdateCallMembersRequest: VideoUpdateCallMembersRequest | null;\n}\n\nexport interface UpdateUserPermissionsRequest {\n type: string;\n id: string;\n videoUpdateUserPermissionsRequest: VideoUpdateUserPermissionsRequest | null;\n}\n\nexport interface VideoConnectRequest {\n videoWSAuthMessageRequest: VideoWSAuthMessageRequest | null;\n}\n\nexport interface VideoPinOperationRequest {\n type: string;\n id: string;\n videoPinRequest: VideoPinRequest | null;\n}\n\nexport interface VideoUnpinOperationRequest {\n type: string;\n id: string;\n videoUnpinRequest: VideoUnpinRequest | null;\n}\n\n/**\n * \n */\nexport class DefaultApi extends runtime.BaseAPI {\n\n /**\n * Sends events: - call.accepted Required permissions: - JoinCall \n * Accept Call\n */\n async acceptCallRaw(requestParameters: AcceptCallRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VideoAcceptCallResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling acceptCall.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling acceptCall.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/call/{type}/{id}/accept`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Sends events: - call.accepted Required permissions: - JoinCall \n * Accept Call\n */\n async acceptCall(requestParameters: AcceptCallRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VideoAcceptCallResponse> {\n const response = await this.acceptCallRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Block a user, preventing them from joining the call until they are unblocked. Sends events: - call.blocked_user Required permissions: - BlockUser \n * Block user on a call\n */\n async blockUserRaw(requestParameters: BlockUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VideoBlockUserResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling blockUser.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling blockUser.');\n }\n\n if (requestParameters.videoBlockUserRequest === null || requestParameters.videoBlockUserRequest === undefined) {\n throw new runtime.RequiredError('videoBlockUserRequest','Required parameter requestParameters.videoBlockUserRequest was null or undefined when calling blockUser.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/call/{type}/{id}/block`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.videoBlockUserRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Block a user, preventing them from joining the call until they are unblocked. Sends events: - call.blocked_user Required permissions: - BlockUser \n * Block user on a call\n */\n async blockUser(requestParameters: BlockUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VideoBlockUserResponse> {\n const response = await this.blockUserRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Adds a new device to a user, if the same device already exists the call will have no effect \n * Create device\n */\n async createDeviceRaw(requestParameters: CreateDeviceRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VideoResponse>> {\n if (requestParameters.videoCreateDeviceRequest === null || requestParameters.videoCreateDeviceRequest === undefined) {\n throw new runtime.RequiredError('videoCreateDeviceRequest','Required parameter requestParameters.videoCreateDeviceRequest was null or undefined when calling createDevice.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/devices`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.videoCreateDeviceRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Adds a new device to a user, if the same device already exists the call will have no effect \n * Create device\n */\n async createDevice(requestParameters: CreateDeviceRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VideoResponse> {\n const response = await this.createDeviceRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * \n * Create Guest\n */\n async createGuestRaw(requestParameters: CreateGuestRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VideoCreateGuestResponse>> {\n if (requestParameters.videoCreateGuestRequest === null || requestParameters.videoCreateGuestRequest === undefined) {\n throw new runtime.RequiredError('videoCreateGuestRequest','Required parameter requestParameters.videoCreateGuestRequest was null or undefined when calling createGuest.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/guest`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.videoCreateGuestRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * \n * Create Guest\n */\n async createGuest(requestParameters: CreateGuestRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VideoCreateGuestResponse> {\n const response = await this.createGuestRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Deletes one device \n * Delete device\n */\n async deleteDeviceRaw(requestParameters: DeleteDeviceRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VideoResponse>> {\n const queryParameters: any = {};\n\n if (requestParameters.id !== undefined) {\n queryParameters['id'] = requestParameters.id;\n }\n\n if (requestParameters.userId !== undefined) {\n queryParameters['user_id'] = requestParameters.userId;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/devices`,\n method: 'DELETE',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Deletes one device \n * Delete device\n */\n async deleteDevice(requestParameters: DeleteDeviceRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VideoResponse> {\n const response = await this.deleteDeviceRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Sends events: - call.ended Required permissions: - EndCall \n * End call\n */\n async endCallRaw(requestParameters: EndCallRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VideoEndCallResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling endCall.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling endCall.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/call/{type}/{id}/mark_ended`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Sends events: - call.ended Required permissions: - EndCall \n * End call\n */\n async endCall(requestParameters: EndCallRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VideoEndCallResponse> {\n const response = await this.endCallRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Required permissions: - ReadCall \n * Get Call\n */\n async getCallRaw(requestParameters: GetCallRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VideoGetCallResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling getCall.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling getCall.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.connectionId !== undefined) {\n queryParameters['connection_id'] = requestParameters.connectionId;\n }\n\n if (requestParameters.membersLimit !== undefined) {\n queryParameters['members_limit'] = requestParameters.membersLimit;\n }\n\n if (requestParameters.ring !== undefined) {\n queryParameters['ring'] = requestParameters.ring;\n }\n\n if (requestParameters.notify !== undefined) {\n queryParameters['notify'] = requestParameters.notify;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/call/{type}/{id}`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Required permissions: - ReadCall \n * Get Call\n */\n async getCall(requestParameters: GetCallRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VideoGetCallResponse> {\n const response = await this.getCallRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Returns the list of all edges available for video calls. \n * Get Edges\n */\n async getEdgesRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VideoGetEdgesResponse>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/edges`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Returns the list of all edges available for video calls. \n * Get Edges\n */\n async getEdges(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VideoGetEdgesResponse> {\n const response = await this.getEdgesRaw(initOverrides);\n return await response.value();\n }\n\n /**\n * Gets or creates a new call Sends events: - call.created - call.notification - call.ring Required permissions: - CreateCall - ReadCall - UpdateCallSettings \n * Get or create a call\n */\n async getOrCreateCallRaw(requestParameters: GetOrCreateCallRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VideoGetOrCreateCallResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling getOrCreateCall.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling getOrCreateCall.');\n }\n\n if (requestParameters.videoGetOrCreateCallRequest === null || requestParameters.videoGetOrCreateCallRequest === undefined) {\n throw new runtime.RequiredError('videoGetOrCreateCallRequest','Required parameter requestParameters.videoGetOrCreateCallRequest was null or undefined when calling getOrCreateCall.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.connectionId !== undefined) {\n queryParameters['connection_id'] = requestParameters.connectionId;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/call/{type}/{id}`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.videoGetOrCreateCallRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Gets or creates a new call Sends events: - call.created - call.notification - call.ring Required permissions: - CreateCall - ReadCall - UpdateCallSettings \n * Get or create a call\n */\n async getOrCreateCall(requestParameters: GetOrCreateCallRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VideoGetOrCreateCallResponse> {\n const response = await this.getOrCreateCallRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Sends events: - call.live_started Required permissions: - UpdateCall \n * Set call as live\n */\n async goLiveRaw(requestParameters: GoLiveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VideoGoLiveResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling goLive.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling goLive.');\n }\n\n if (requestParameters.videoGoLiveRequest === null || requestParameters.videoGoLiveRequest === undefined) {\n throw new runtime.RequiredError('videoGoLiveRequest','Required parameter requestParameters.videoGoLiveRequest was null or undefined when calling goLive.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/call/{type}/{id}/go_live`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.videoGoLiveRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Sends events: - call.live_started Required permissions: - UpdateCall \n * Set call as live\n */\n async goLive(requestParameters: GoLiveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VideoGoLiveResponse> {\n const response = await this.goLiveRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Request to join a call Required permissions: - CreateCall - JoinCall \n * Join call\n */\n async joinCallRaw(requestParameters: JoinCallRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VideoJoinCallResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling joinCall.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling joinCall.');\n }\n\n if (requestParameters.videoJoinCallRequest === null || requestParameters.videoJoinCallRequest === undefined) {\n throw new runtime.RequiredError('videoJoinCallRequest','Required parameter requestParameters.videoJoinCallRequest was null or undefined when calling joinCall.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.connectionId !== undefined) {\n queryParameters['connection_id'] = requestParameters.connectionId;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/call/{type}/{id}/join`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.videoJoinCallRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Request to join a call Required permissions: - CreateCall - JoinCall \n * Join call\n */\n async joinCall(requestParameters: JoinCallRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VideoJoinCallResponse> {\n const response = await this.joinCallRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Returns all available devices \n * List devices\n */\n async listDevicesRaw(requestParameters: ListDevicesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VideoListDevicesResponse>> {\n const queryParameters: any = {};\n\n if (requestParameters.userId !== undefined) {\n queryParameters['user_id'] = requestParameters.userId;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/devices`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Returns all available devices \n * List devices\n */\n async listDevices(requestParameters: ListDevicesRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VideoListDevicesResponse> {\n const response = await this.listDevicesRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Lists recordings Required permissions: - ListRecordings \n * List recordings\n */\n async listRecordingsRaw(requestParameters: ListRecordingsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VideoListRecordingsResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling listRecordings.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling listRecordings.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/call/{type}/{id}/recordings`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Lists recordings Required permissions: - ListRecordings \n * List recordings\n */\n async listRecordings(requestParameters: ListRecordingsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VideoListRecordingsResponse> {\n const response = await this.listRecordingsRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Mutes users in a call Required permissions: - MuteUsers \n * Mute users\n */\n async muteUsersRaw(requestParameters: MuteUsersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VideoMuteUsersResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling muteUsers.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling muteUsers.');\n }\n\n if (requestParameters.videoMuteUsersRequest === null || requestParameters.videoMuteUsersRequest === undefined) {\n throw new runtime.RequiredError('videoMuteUsersRequest','Required parameter requestParameters.videoMuteUsersRequest was null or undefined when calling muteUsers.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/call/{type}/{id}/mute_users`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.videoMuteUsersRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Mutes users in a call Required permissions: - MuteUsers \n * Mute users\n */\n async muteUsers(requestParameters: MuteUsersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VideoMuteUsersResponse> {\n const response = await this.muteUsersRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Query calls with filter query Required permissions: - ReadCall \n * Query call\n */\n async queryCallsRaw(requestParameters: QueryCallsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VideoQueryCallsResponse>> {\n if (requestParameters.videoQueryCallsRequest === null || requestParameters.videoQueryCallsRequest === undefined) {\n throw new runtime.RequiredError('videoQueryCallsRequest','Required parameter requestParameters.videoQueryCallsRequest was null or undefined when calling queryCalls.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.connectionId !== undefined) {\n queryParameters['connection_id'] = requestParameters.connectionId;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/calls`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.videoQueryCallsRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Query calls with filter query Required permissions: - ReadCall \n * Query call\n */\n async queryCalls(requestParameters: QueryCallsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VideoQueryCallsResponse> {\n const response = await this.queryCallsRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Query call members with filter query Required permissions: - ReadCall \n * Query call members\n */\n async queryMembersRaw(requestParameters: QueryMembersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VideoQueryMembersResponse>> {\n if (requestParameters.videoQueryMembersRequest === null || requestParameters.videoQueryMembersRequest === undefined) {\n throw new runtime.RequiredError('videoQueryMembersRequest','Required parameter requestParameters.videoQueryMembersRequest was null or undefined when calling queryMembers.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/call/members`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.videoQueryMembersRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Query call members with filter query Required permissions: - ReadCall \n * Query call members\n */\n async queryMembers(requestParameters: QueryMembersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VideoQueryMembersResponse> {\n const response = await this.queryMembersRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Sends events: - call.rejected Required permissions: - JoinCall \n * Reject Call\n */\n async rejectCallRaw(requestParameters: RejectCallRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VideoRejectCallResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling rejectCall.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling rejectCall.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/call/{type}/{id}/reject`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Sends events: - call.rejected Required permissions: - JoinCall \n * Reject Call\n */\n async rejectCall(requestParameters: RejectCallRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VideoRejectCallResponse> {\n const response = await this.rejectCallRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Request permission to perform an action Sends events: - call.permission_request \n * Request permission\n */\n async requestPermissionRaw(requestParameters: RequestPermissionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VideoRequestPermissionResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling requestPermission.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling requestPermission.');\n }\n\n if (requestParameters.videoRequestPermissionRequest === null || requestParameters.videoRequestPermissionRequest === undefined) {\n throw new runtime.RequiredError('videoRequestPermissionRequest','Required parameter requestParameters.videoRequestPermissionRequest was null or undefined when calling requestPermission.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/call/{type}/{id}/request_permission`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.videoRequestPermissionRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Request permission to perform an action Sends events: - call.permission_request \n * Request permission\n */\n async requestPermission(requestParameters: RequestPermissionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VideoRequestPermissionResponse> {\n const response = await this.requestPermissionRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Sends custom event to the call Sends events: - custom Required permissions: - SendEvent \n * Send custom event\n */\n async sendEventRaw(requestParameters: SendEventRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VideoSendEventResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling sendEvent.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling sendEvent.');\n }\n\n if (requestParameters.videoSendEventRequest === null || requestParameters.videoSendEventRequest === undefined) {\n throw new runtime.RequiredError('videoSendEventRequest','Required parameter requestParameters.videoSendEventRequest was null or undefined when calling sendEvent.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/call/{type}/{id}/event`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.videoSendEventRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Sends custom event to the call Sends events: - custom Required permissions: - SendEvent \n * Send custom event\n */\n async sendEvent(requestParameters: SendEventRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VideoSendEventResponse> {\n const response = await this.sendEventRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Sends reaction to the call Sends events: - call.reaction_new Required permissions: - CreateCallReaction \n * Send reaction to the call\n */\n async sendVideoReactionRaw(requestParameters: SendVideoReactionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VideoSendReactionResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling sendVideoReaction.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling sendVideoReaction.');\n }\n\n if (requestParameters.videoSendReactionRequest === null || requestParameters.videoSendReactionRequest === undefined) {\n throw new runtime.RequiredError('videoSendReactionRequest','Required parameter requestParameters.videoSendReactionRequest was null or undefined when calling sendVideoReaction.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/call/{type}/{id}/reaction`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.videoSendReactionRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Sends reaction to the call Sends events: - call.reaction_new Required permissions: - CreateCallReaction \n * Send reaction to the call\n */\n async sendVideoReaction(requestParameters: SendVideoReactionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VideoSendReactionResponse> {\n const response = await this.sendVideoReactionRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Starts HLS broadcasting Required permissions: - StartBroadcasting \n * Start HLS broadcasting\n */\n async startHLSBroadcastingRaw(requestParameters: StartHLSBroadcastingRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VideoStartHLSBroadcastingResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling startHLSBroadcasting.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling startHLSBroadcasting.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/call/{type}/{id}/start_broadcasting`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Starts HLS broadcasting Required permissions: - StartBroadcasting \n * Start HLS broadcasting\n */\n async startHLSBroadcasting(requestParameters: StartHLSBroadcastingRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VideoStartHLSBroadcastingResponse> {\n const response = await this.startHLSBroadcastingRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Starts recording Sends events: - call.recording_started Required permissions: - StopRecording \n * Start recording\n */\n async startRecordingRaw(requestParameters: StartRecordingRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VideoStartRecordingResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling startRecording.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling startRecording.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/call/{type}/{id}/start_recording`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Starts recording Sends events: - call.recording_started Required permissions: - StopRecording \n * Start recording\n */\n async startRecording(requestParameters: StartRecordingRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VideoStartRecordingResponse> {\n const response = await this.startRecordingRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Starts transcription Required permissions: - StartTranscription \n * Start transcription\n */\n async startTranscriptionRaw(requestParameters: StartTranscriptionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VideoStartTranscriptionResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling startTranscription.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling startTranscription.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/call/{type}/{id}/start_transcription`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Starts transcription Required permissions: - StartTranscription \n * Start transcription\n */\n async startTranscription(requestParameters: StartTranscriptionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VideoStartTranscriptionResponse> {\n const response = await this.startTranscriptionRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Stops HLS broadcasting Required permissions: - StopBroadcasting \n * Stop HLS broadcasting\n */\n async stopHLSBroadcastingRaw(requestParameters: StopHLSBroadcastingRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VideoStopHLSBroadcastingResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling stopHLSBroadcasting.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling stopHLSBroadcasting.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/call/{type}/{id}/stop_broadcasting`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Stops HLS broadcasting Required permissions: - StopBroadcasting \n * Stop HLS broadcasting\n */\n async stopHLSBroadcasting(requestParameters: StopHLSBroadcastingRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VideoStopHLSBroadcastingResponse> {\n const response = await this.stopHLSBroadcastingRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Sends events: - call.updated Required permissions: - UpdateCall \n * Set call as not live\n */\n async stopLiveRaw(requestParameters: StopLiveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VideoStopLiveResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling stopLive.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling stopLive.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/call/{type}/{id}/stop_live`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Sends events: - call.updated Required permissions: - UpdateCall \n * Set call as not live\n */\n async stopLive(requestParameters: StopLiveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VideoStopLiveResponse> {\n const response = await this.stopLiveRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Stops recording Sends events: - call.recording_stopped Required permissions: - StopRecording \n * Stop recording\n */\n async stopRecordingRaw(requestParameters: StopRecordingRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VideoStopRecordingResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling stopRecording.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling stopRecording.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/call/{type}/{id}/stop_recording`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Stops recording Sends events: - call.recording_stopped Required permissions: - StopRecording \n * Stop recording\n */\n async stopRecording(requestParameters: StopRecordingRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VideoStopRecordingResponse> {\n const response = await this.stopRecordingRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Stops transcription Required permissions: - StopTranscription \n * Stop transcription\n */\n async stopTranscriptionRaw(requestParameters: StopTranscriptionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VideoStopTranscriptionResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling stopTranscription.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling stopTranscription.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/call/{type}/{id}/stop_transcription`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Stops transcription Required permissions: - StopTranscription \n * Stop transcription\n */\n async stopTranscription(requestParameters: StopTranscriptionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VideoStopTranscriptionResponse> {\n const response = await this.stopTranscriptionRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Removes the block for a user on a call. The user will be able to join the call again. Sends events: - call.unblocked_user Required permissions: - BlockUser \n * Unblocks user on a call\n */\n async unblockUserRaw(requestParameters: UnblockUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VideoUnblockUserResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling unblockUser.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling unblockUser.');\n }\n\n if (requestParameters.videoUnblockUserRequest === null || requestParameters.videoUnblockUserRequest === undefined) {\n throw new runtime.RequiredError('videoUnblockUserRequest','Required parameter requestParameters.videoUnblockUserRequest was null or undefined when calling unblockUser.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/call/{type}/{id}/unblock`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.videoUnblockUserRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Removes the block for a user on a call. The user will be able to join the call again. Sends events: - call.unblocked_user Required permissions: - BlockUser \n * Unblocks user on a call\n */\n async unblockUser(requestParameters: UnblockUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VideoUnblockUserResponse> {\n const response = await this.unblockUserRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Sends events: - call.updated Required permissions: - UpdateCall \n * Update Call\n */\n async updateCallRaw(requestParameters: UpdateCallRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VideoUpdateCallResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling updateCall.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling updateCall.');\n }\n\n if (requestParameters.videoUpdateCallRequest === null || requestParameters.videoUpdateCallRequest === undefined) {\n throw new runtime.RequiredError('videoUpdateCallRequest','Required parameter requestParameters.videoUpdateCallRequest was null or undefined when calling updateCall.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/call/{type}/{id}`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'PATCH',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.videoUpdateCallRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Sends events: - call.updated Required permissions: - UpdateCall \n * Update Call\n */\n async updateCall(requestParameters: UpdateCallRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VideoUpdateCallResponse> {\n const response = await this.updateCallRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Sends events: - call.member_added - call.member_removed - call.member_updated Required permissions: - RemoveCallMember - UpdateCallMember - UpdateCallMemberRole \n * Update Call Member\n */\n async updateCallMembersRaw(requestParameters: UpdateCallMembersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VideoUpdateCallMembersResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling updateCallMembers.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling updateCallMembers.');\n }\n\n if (requestParameters.videoUpdateCallMembersRequest === null || requestParameters.videoUpdateCallMembersRequest === undefined) {\n throw new runtime.RequiredError('videoUpdateCallMembersRequest','Required parameter requestParameters.videoUpdateCallMembersRequest was null or undefined when calling updateCallMembers.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/call/{type}/{id}/members`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.videoUpdateCallMembersRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Sends events: - call.member_added - call.member_removed - call.member_updated Required permissions: - RemoveCallMember - UpdateCallMember - UpdateCallMemberRole \n * Update Call Member\n */\n async updateCallMembers(requestParameters: UpdateCallMembersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VideoUpdateCallMembersResponse> {\n const response = await this.updateCallMembersRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Updates user permissions Sends events: - call.permissions_updated Required permissions: - UpdateCallPermissions \n * Update user permissions\n */\n async updateUserPermissionsRaw(requestParameters: UpdateUserPermissionsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VideoUpdateUserPermissionsResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling updateUserPermissions.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling updateUserPermissions.');\n }\n\n if (requestParameters.videoUpdateUserPermissionsRequest === null || requestParameters.videoUpdateUserPermissionsRequest === undefined) {\n throw new runtime.RequiredError('videoUpdateUserPermissionsRequest','Required parameter requestParameters.videoUpdateUserPermissionsRequest was null or undefined when calling updateUserPermissions.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/call/{type}/{id}/user_permissions`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.videoUpdateUserPermissionsRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Updates user permissions Sends events: - call.permissions_updated Required permissions: - UpdateCallPermissions \n * Update user permissions\n */\n async updateUserPermissions(requestParameters: UpdateUserPermissionsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VideoUpdateUserPermissionsResponse> {\n const response = await this.updateUserPermissionsRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Establishes WebSocket connection for user to video Sends events: - connection.ok - health.check \n * Video Connect (WebSocket)\n */\n async videoConnectRaw(requestParameters: VideoConnectRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {\n if (requestParameters.videoWSAuthMessageRequest === null || requestParameters.videoWSAuthMessageRequest === undefined) {\n throw new runtime.RequiredError('videoWSAuthMessageRequest','Required parameter requestParameters.videoWSAuthMessageRequest was null or undefined when calling videoConnect.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/video/connect`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.videoWSAuthMessageRequest,\n }, initOverrides);\n\n return new runtime.VoidApiResponse(response);\n }\n\n /**\n * Establishes WebSocket connection for user to video Sends events: - connection.ok - health.check \n * Video Connect (WebSocket)\n */\n async videoConnect(requestParameters: VideoConnectRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void> {\n await this.videoConnectRaw(requestParameters, initOverrides);\n }\n\n /**\n * Pins a track for all users in the call. Required permissions: - PinCallTrack \n * Pin\n */\n async videoPinRaw(requestParameters: VideoPinOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VideoPinResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling videoPin.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling videoPin.');\n }\n\n if (requestParameters.videoPinRequest === null || requestParameters.videoPinRequest === undefined) {\n throw new runtime.RequiredError('videoPinRequest','Required parameter requestParameters.videoPinRequest was null or undefined when calling videoPin.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/call/{type}/{id}/pin`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.videoPinRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Pins a track for all users in the call. Required permissions: - PinCallTrack \n * Pin\n */\n async videoPin(requestParameters: VideoPinOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VideoPinResponse> {\n const response = await this.videoPinRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Unpins a track for all users in the call. Required permissions: - PinCallTrack \n * Unpin\n */\n async videoUnpinRaw(requestParameters: VideoUnpinOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VideoUnpinResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling videoUnpin.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling videoUnpin.');\n }\n\n if (requestParameters.videoUnpinRequest === null || requestParameters.videoUnpinRequest === undefined) {\n throw new runtime.RequiredError('videoUnpinRequest','Required parameter requestParameters.videoUnpinRequest was null or undefined when calling videoUnpin.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/call/{type}/{id}/unpin`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.videoUnpinRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Unpins a track for all users in the call. Required permissions: - PinCallTrack \n * Unpin\n */\n async videoUnpin(requestParameters: VideoUnpinOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VideoUnpinResponse> {\n const response = await this.videoUnpinRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stream Video API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v89.9.2\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport * as runtime from '../runtime';\nimport type {\n VideoAPIError,\n VideoCreateCallTypeRequest,\n VideoCreateCallTypeResponse,\n VideoGetCallTypeResponse,\n VideoListCallTypeResponse,\n VideoResponse,\n VideoUpdateCallTypeRequest,\n VideoUpdateCallTypeResponse,\n} from '../models';\n\nexport interface CreateCallTypeRequest {\n videoCreateCallTypeRequest: VideoCreateCallTypeRequest | null;\n}\n\nexport interface DeleteCallTypeRequest {\n name: string;\n}\n\nexport interface GetCallTypeRequest {\n name: string;\n}\n\nexport interface UpdateCallTypeRequest {\n name: string;\n videoUpdateCallTypeRequest: VideoUpdateCallTypeRequest | null;\n}\n\n/**\n * \n */\nexport class ServerSideApi extends runtime.BaseAPI {\n\n /**\n * \n * Create Call Type\n */\n async createCallTypeRaw(requestParameters: CreateCallTypeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VideoCreateCallTypeResponse>> {\n if (requestParameters.videoCreateCallTypeRequest === null || requestParameters.videoCreateCallTypeRequest === undefined) {\n throw new runtime.RequiredError('videoCreateCallTypeRequest','Required parameter requestParameters.videoCreateCallTypeRequest was null or undefined when calling createCallType.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/calltypes`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.videoCreateCallTypeRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * \n * Create Call Type\n */\n async createCallType(requestParameters: CreateCallTypeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VideoCreateCallTypeResponse> {\n const response = await this.createCallTypeRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * \n * Delete Call Type\n */\n async deleteCallTypeRaw(requestParameters: DeleteCallTypeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VideoResponse>> {\n if (requestParameters.name === null || requestParameters.name === undefined) {\n throw new runtime.RequiredError('name','Required parameter requestParameters.name was null or undefined when calling deleteCallType.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/calltypes/{name}`.replace(`{${\"name\"}}`, encodeURIComponent(String(requestParameters.name))),\n method: 'DELETE',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * \n * Delete Call Type\n */\n async deleteCallType(requestParameters: DeleteCallTypeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VideoResponse> {\n const response = await this.deleteCallTypeRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * \n * Get Call Type\n */\n async getCallTypeRaw(requestParameters: GetCallTypeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VideoGetCallTypeResponse>> {\n if (requestParameters.name === null || requestParameters.name === undefined) {\n throw new runtime.RequiredError('name','Required parameter requestParameters.name was null or undefined when calling getCallType.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/calltypes/{name}`.replace(`{${\"name\"}}`, encodeURIComponent(String(requestParameters.name))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * \n * Get Call Type\n */\n async getCallType(requestParameters: GetCallTypeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VideoGetCallTypeResponse> {\n const response = await this.getCallTypeRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * \n * List Call Type\n */\n async listCallTypesRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VideoListCallTypeResponse>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/calltypes`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * \n * List Call Type\n */\n async listCallTypes(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VideoListCallTypeResponse> {\n const response = await this.listCallTypesRaw(initOverrides);\n return await response.value();\n }\n\n /**\n * \n * Update Call Type\n */\n async updateCallTypeRaw(requestParameters: UpdateCallTypeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VideoUpdateCallTypeResponse>> {\n if (requestParameters.name === null || requestParameters.name === undefined) {\n throw new runtime.RequiredError('name','Required parameter requestParameters.name was null or undefined when calling updateCallType.');\n }\n\n if (requestParameters.videoUpdateCallTypeRequest === null || requestParameters.videoUpdateCallTypeRequest === undefined) {\n throw new runtime.RequiredError('videoUpdateCallTypeRequest','Required parameter requestParameters.videoUpdateCallTypeRequest was null or undefined when calling updateCallType.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/calltypes/{name}`.replace(`{${\"name\"}}`, encodeURIComponent(String(requestParameters.name))),\n method: 'PUT',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.videoUpdateCallTypeRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * \n * Update Call Type\n */\n async updateCallType(requestParameters: UpdateCallTypeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VideoUpdateCallTypeResponse> {\n const response = await this.updateCallTypeRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n}\n","import { StreamClient } from \"./StreamClient\";\nimport {\n DefaultApi,\n GetCallRequest,\n VideoPinRequest,\n VideoUnpinRequest,\n VideoBlockUserRequest,\n VideoGetOrCreateCallRequest,\n VideoGoLiveRequest,\n VideoMuteUsersRequest,\n VideoUnblockUserRequest,\n VideoUpdateCallRequest,\n VideoUpdateCallMembersRequest,\n VideoUpdateUserPermissionsRequest,\n VideoQueryMembersRequest,\n} from \"./gen/video\";\nimport { OmitTypeId } from \"./types\";\n\nexport class StreamCall {\n private readonly baseRequest: { type: string; id: string };\n private readonly apiClient: DefaultApi;\n\n constructor(\n private streamClient: StreamClient,\n private type: string,\n private id: string\n ) {\n this.baseRequest = { id: this.id, type: this.type };\n const configuration = this.streamClient.getConfiguration({\n basePath:\n this.streamClient.basePath || \"https://video.stream-io-api.com/video\",\n });\n this.apiClient = new DefaultApi(configuration);\n }\n\n accept = () => {\n return this.apiClient.acceptCall(this.baseRequest);\n };\n\n blockUser = (videoBlockUserRequest: VideoBlockUserRequest) => {\n return this.apiClient.blockUser({\n ...this.baseRequest,\n videoBlockUserRequest,\n });\n };\n\n endCall = () => {\n return this.apiClient.endCall({ ...this.baseRequest });\n };\n\n get = (request: OmitTypeId<GetCallRequest>) => {\n return this.apiClient.getCall({ ...request, ...this.baseRequest });\n };\n\n getOrCreate = (videoGetOrCreateCallRequest?: VideoGetOrCreateCallRequest) => {\n return this.apiClient.getOrCreateCall({\n ...this.baseRequest,\n videoGetOrCreateCallRequest: videoGetOrCreateCallRequest || {},\n });\n };\n\n create = (getOrCreateCallRequest?: VideoGetOrCreateCallRequest) => {\n return this.getOrCreate(getOrCreateCallRequest);\n };\n\n goLive = (videoGoLiveRequest?: VideoGoLiveRequest) => {\n return this.apiClient.goLive({\n ...this.baseRequest,\n videoGoLiveRequest: videoGoLiveRequest || null,\n });\n };\n\n listRecordings = () => {\n return this.apiClient.listRecordings({\n ...this.baseRequest,\n });\n };\n\n muteUsers = (videoMuteUsersRequest: VideoMuteUsersRequest) => {\n return this.apiClient.muteUsers({ ...this.baseRequest, videoMuteUsersRequest });\n };\n\n queryMembers = (request?: OmitTypeId<VideoQueryMembersRequest>) => {\n return this.apiClient.queryMembers({\n videoQueryMembersRequest: { ...(request || {}), ...this.baseRequest },\n });\n };\n\n sendCustomEvent = (event: { [key: string]: any }) => {\n return this.apiClient.sendEvent({\n videoSendEventRequest: { custom: event },\n ...this.baseRequest,\n });\n };\n\n startHLSBroadcasting = () => {\n return this.apiClient.startHLSBroadcasting({ ...this.baseRequest });\n };\n\n startRecording = () => {\n return this.apiClient.startRecording({ ...this.baseRequest });\n };\n\n startTranscription = () => {\n return this.apiClient.startTranscription({ ...this.baseRequest });\n };\n\n stopHLSBroadcasting = () => {\n return this.apiClient.stopHLSBroadcasting({ ...this.baseRequest });\n };\n\n stopLive = () => {\n return this.apiClient.stopLive({ ...this.baseRequest });\n };\n\n stopRecording = () => {\n return this.apiClient.stopRecording({ ...this.baseRequest });\n };\n\n stopTranscription = () => {\n return this.apiClient.stopTranscription({ ...this.baseRequest });\n };\n\n unblockUser = (videoUnblockUserRequest: VideoUnblockUserRequest) => {\n return this.apiClient.unblockUser({\n videoUnblockUserRequest,\n ...this.baseRequest,\n });\n };\n\n update = (videoUpdateCallRequest: VideoUpdateCallRequest) => {\n return this.apiClient.updateCall({\n videoUpdateCallRequest,\n ...this.baseRequest,\n });\n };\n\n updateCallMembers = (videoUpdateCallMembersRequest: VideoUpdateCallMembersRequest) => {\n return this.apiClient.updateCallMembers({\n videoUpdateCallMembersRequest,\n ...this.baseRequest,\n });\n };\n\n updateUserPermissions = (\n videoUpdateUserPermissionsRequest: VideoUpdateUserPermissionsRequest\n ) => {\n return this.apiClient.updateUserPermissions({\n videoUpdateUserPermissionsRequest,\n ...this.baseRequest,\n });\n };\n\n pinVideo = (videoPinRequest: VideoPinRequest) => {\n return this.apiClient.videoPin({ videoPinRequest, ...this.baseRequest });\n };\n\n unpinVideo = (videoUnpinRequest: VideoUnpinRequest) => {\n return this.apiClient.videoUnpin({ videoUnpinRequest, ...this.baseRequest });\n };\n}\n","import { StreamCall } from \"./StreamCall\";\nimport { StreamClient } from \"./StreamClient\";\nimport {\n DefaultApi,\n DeleteCallTypeRequest,\n GetCallTypeRequest,\n ServerSideApi,\n VideoCreateCallTypeRequest,\n VideoQueryCallsRequest,\n VideoUpdateCallTypeRequest,\n} from \"./gen/video\";\n\nexport class StreamVideoClient {\n private readonly apiClient: DefaultApi;\n private readonly videoServerSideApiClient: ServerSideApi;\n\n constructor(private streamClient: StreamClient) {\n const configuration = this.streamClient.getConfiguration({\n basePath:\n this.streamClient.basePath || \"https://video.stream-io-api.com/video\",\n });\n this.apiClient = new DefaultApi(configuration);\n this.videoServerSideApiClient = new ServerSideApi(configuration);\n }\n\n call = (type: string, id: string) => {\n return new StreamCall(this.streamClient, type, id);\n };\n\n queryCalls = (request?: VideoQueryCallsRequest) => {\n return this.apiClient.queryCalls({\n videoQueryCallsRequest: request || {},\n });\n };\n\n createCallType = (videoCreateCallTypeRequest: VideoCreateCallTypeRequest) => {\n return this.videoServerSideApiClient.createCallType({\n videoCreateCallTypeRequest,\n });\n };\n\n deleteCallType = (request: DeleteCallTypeRequest) => {\n return this.videoServerSideApiClient.deleteCallType(request);\n };\n\n getCallType = (request: GetCallTypeRequest) => {\n return this.videoServerSideApiClient.getCallType(request);\n };\n\n listCallTypes = () => {\n return this.videoServerSideApiClient.listCallTypes();\n };\n\n updateCallType = (\n name: string,\n videoUpdateCallTypeRequest: VideoUpdateCallTypeRequest\n ) => {\n return this.videoServerSideApiClient.updateCallType({\n name,\n videoUpdateCallTypeRequest,\n });\n };\n}\n","import jwt, { Secret, SignOptions } from \"jsonwebtoken\";\n\nexport function JWTUserToken(\n apiSecret: Secret,\n userId: string,\n extraData = {},\n jwtOptions: SignOptions = {},\n) {\n if (typeof userId !== 'string') {\n throw new TypeError('userId should be a string');\n }\n\n const payload: { user_id: string } & any = {\n user_id: userId,\n ...extraData,\n };\n\n // make sure we return a clear error when jwt is shimmed (ie. browser build)\n if (jwt == null || jwt.sign == null) {\n throw Error(\n `Unable to find jwt crypto, if you are getting this error is probably because you are trying to generate tokens on browser or React Native (or other environment where crypto functions are not available). Please Note: token should only be generated server-side.`,\n );\n }\n\n const opts: SignOptions = Object.assign(\n { algorithm: 'HS256', noTimestamp: true },\n jwtOptions,\n );\n\n if (payload.iat) {\n opts.noTimestamp = false;\n }\n return jwt.sign(payload, apiSecret, opts);\n}\n\nexport function JWTServerToken(\n apiSecret: Secret,\n jwtOptions: SignOptions = {},\n) {\n const payload = {\n server: true,\n };\n\n const opts: SignOptions = Object.assign(\n { algorithm: 'HS256', noTimestamp: true },\n jwtOptions,\n );\n return jwt.sign(payload, apiSecret, opts);\n}\n","import { StreamChatClient } from \"./StreamChatClient\";\nimport { StreamVideoClient } from \"./StreamVideoClient\";\nimport {\n APIError,\n BanRequest,\n CheckPushRequest,\n CreateDeviceRequest,\n CreateRoleRequest,\n DeactivateUserRequest,\n DeactivateUsersRequest,\n DeleteDeviceRequest,\n DeletePushProviderRequest,\n DeleteRoleRequest,\n DeleteUserRequest,\n DeleteUsersRequest,\n DevicesApi,\n EventsApi,\n ExportUserRequest,\n ExportUsersRequest,\n FlagRequest,\n GetPermissionRequest,\n GetTaskRequest,\n GuestRequest,\n ListDevicesRequest,\n MuteUserRequest,\n PermissionsV2Api,\n PushApi,\n PushProviderRequest,\n QueryBannedUsersRequest,\n QueryUsersRequest,\n ReactivateUserRequest,\n ReactivateUsersRequest,\n RestoreUsersRequest,\n ServerSideApi,\n SettingsApi,\n TasksApi,\n TestingApi,\n UnbanRequest,\n UnmuteUserRequest,\n UpdateAppRequest,\n UpdateUserPartialRequest,\n UpdateUsersRequest,\n UserCustomEventRequest,\n UserObject,\n UserObjectRequest,\n UserResponse,\n UsersApi,\n} from \"./gen/chat\";\nimport {\n Configuration,\n HTTPQuery,\n JSONApiResponse,\n RequestContext,\n ResponseContext,\n} from \"./gen/video\";\nimport { v4 as uuidv4 } from \"uuid\";\nimport { JWTServerToken, JWTUserToken } from \"./utils/create-token\";\n\nexport class StreamClient {\n public readonly video: StreamVideoClient;\n public readonly chat: StreamChatClient;\n private readonly usersApi: UsersApi;\n private readonly devicesApi: DevicesApi;\n private readonly pushApi: PushApi;\n private readonly serversideApi: ServerSideApi;\n private readonly testingApi: TestingApi;\n private readonly permissionsApi: PermissionsV2Api;\n private readonly settingsApi: SettingsApi;\n private readonly eventsApi: EventsApi;\n private readonly tasksApi: TasksApi;\n private token: string;\n\n constructor(\n private apiKey: string,\n private secret: string,\n public readonly basePath?: string\n ) {\n this.token = JWTServerToken(this.secret);\n this.video = new StreamVideoClient(this);\n this.chat = new StreamChatClient(this);\n\n const chatConfiguration = this.getConfiguration();\n //@ts-expect-error typing problem\n this.usersApi = new UsersApi(chatConfiguration);\n //@ts-expect-error typing problem\n this.devicesApi = new DevicesApi(chatConfiguration);\n //@ts-expect-error typing problem\n this.pushApi = new PushApi(chatConfiguration);\n //@ts-expect-error typing problem\n this.serversideApi = new ServerSideApi(chatConfiguration);\n //@ts-expect-error typing problem\n this.testingApi = new TestingApi(chatConfiguration);\n //@ts-expect-error typing problem\n this.permissionsApi = new PermissionsV2Api(chatConfiguration);\n //@ts-expect-error typing problem\n this.settingsApi = new SettingsApi(chatConfiguration);\n //@ts-expect-error typing problem\n this.eventsApi = new EventsApi(chatConfiguration);\n //@ts-expect-error typing problem\n this.tasksApi = new TasksApi(chatConfiguration);\n }\n\n createToken(\n userID: string,\n exp?: number,\n iat?: number,\n call_cids?: string[],\n ) {\n const extra: { exp?: number; iat?: number; call_cids?: string[] } = {};\n\n if (exp) {\n extra.exp = exp;\n }\n\n if (iat) {\n extra.iat = iat;\n }\n\n if (call_cids) {\n extra.call_cids = call_cids;\n }\n\n return JWTUserToken(this.secret, userID, extra);\n }\n\n createDevice = (createDeviceRequest: CreateDeviceRequest) => {\n return this.devicesApi.createDevice({ createDeviceRequest });\n };\n deleteDevice = (requestParameters: DeleteDeviceRequest) => {\n return this.devicesApi.deleteDevice(requestParameters);\n };\n listDevices = (requestParameters: ListDevicesRequest) => {\n return this.devicesApi.listDevices(requestParameters);\n };\n\n listPushProviders= () => {\n return this.pushApi.listPushProviders();\n }\n\n deletePushProvider = (request: DeletePushProviderRequest) => {\n return this.pushApi.deletePushProvider(request);\n }\n\n upsertPushProvider = (request: PushProviderRequest) => {\n return this.serversideApi.upsertPushProvider({upsertPushProviderRequest: {push_provider: request}});\n }\n\n checkPush = (checkPushRequest: CheckPushRequest) => {\n return this.testingApi.checkPush({checkPushRequest});\n }\n\n createGuest = async (guestRequest: GuestRequest) => {\n guestRequest.user = this.mapCustomDataBeforeSend(guestRequest.user);\n const response = await this.usersApi.createGuest({ guestRequest });\n response.user = this.mapCustomDataAfterReceive(response.user);\n\n return response;\n };\n\n banUser = (banRequest: BanRequest) => {\n banRequest.user = this.mapCustomDataBeforeSend(banRequest.user);\n banRequest.banned_by = this.mapCustomDataBeforeSend(banRequest.banned_by);\n return this.usersApi.ban({ banRequest });\n };\n\n deactivateUser = async (deactivateUserRequest: DeactivateUserRequest) => {\n const response = await this.usersApi.deactivateUser({\n deactivateUserRequest,\n userId: deactivateUserRequest.user_id,\n });\n response.user = this.mapCustomDataAfterReceive(response.user);\n\n return response;\n };\n\n deactivateUsers = (deactivateUsersRequest: DeactivateUsersRequest) => {\n return this.usersApi.deactivateUsers({ deactivateUsersRequest });\n };\n\n deleteUser = async (request: DeleteUserRequest) => {\n const response = await this.usersApi.deleteUser(request);\n response.user = this.mapCustomDataAfterReceive(response.user);\n\n return response;\n };\n\n deleteUsers = (deleteUsersRequest: DeleteUsersRequest) => {\n return this.usersApi.deleteUsers({ deleteUsersRequest });\n };\n\n exportUser = (request: ExportUserRequest) => {\n return this.usersApi.exportUser(request);\n };\n\n exportUsers = (exportUsersRequest: ExportUsersRequest) => {\n return this.usersApi.exportUsers({ exportUsersRequest });\n };\n\n flag = async (flagRequest: FlagRequest) => {\n flagRequest.user = this.mapCustomDataBeforeSend(flagRequest.user);\n const response = await this.usersApi.flag({ flagRequest });\n if (response.flag?.user) {\n response.flag.user = this.mapCustomDataAfterReceive(response.flag?.user);\n }\n\n return response;\n };\n\n queryBannedUsers = async (payload: QueryBannedUsersRequest) => {\n payload.user = this.mapCustomDataBeforeSend(payload.user);\n const response = await this.usersApi.queryBannedUsers({ payload });\n response.bans.forEach(b => {\n b.banned_by = this.mapCustomDataAfterReceive(b.banned_by);\n b.user = this.mapCustomDataAfterReceive(b.user);\n })\n\n return response;\n };\n\n queryUsers = async (payload: QueryUsersRequest) => {\n payload.user = this.mapCustomDataBeforeSend(payload.user);\n const response = await this.usersApi.queryUsers({ payload });\n // @ts-expect-error\n response.users = response.users.map(u => this.mapCustomDataAfterReceive(u)!);\n\n return response;\n };\n\n reactivateUser = async (reactivateUserRequest: ReactivateUserRequest) => {\n const response = await this.usersApi.reactivateUser({\n reactivateUserRequest,\n userId: reactivateUserRequest.user_id,\n });\n response.user = this.mapCustomDataAfterReceive(response.user);\n };\n\n reactivateUsers = (reactivateUsersRequest: ReactivateUsersRequest) => {\n return this.usersApi.reactivateUsers({ reactivateUsersRequest });\n };\n\n restoreUsers = (restoreUsersRequest: RestoreUsersRequest) => {\n return this.usersApi.restoreUsers({ restoreUsersRequest });\n };\n\n unbanUser = (request: UnbanRequest) => {\n return this.usersApi.unban(request);\n };\n\n unflag = async (flagRequest: FlagRequest) => {\n const response = await this.usersApi.unflag({ flagRequest });\n if (response.flag?.user) {\n response.flag.user = this.mapCustomDataAfterReceive(response.flag.user);\n }\n\n return response;\n };\n\n upsertUsers = async (updateUsersRequest: UpdateUsersRequest) => {\n Object.keys(updateUsersRequest.users).forEach(key => {\n updateUsersRequest.users[key] = this.mapCustomDataBeforeSend(updateUsersRequest.users[key]);\n })\n const response = await this.usersApi.updateUsers({ updateUsersRequest });\n Object.keys(response.users).forEach(key => {\n response.users[key] = this.mapCustomDataAfterReceive(response.users[key])!;\n });\n\n return response;\n };\n\n updateUsersPartial = async (request: {users: UpdateUserPartialRequest[]}) => {\n // @ts-expect-error typing error\n const response = await this.usersApi.updateUsersPartial({ updateUserPartialRequest: request });\n Object.keys(response.users).forEach(key => {\n response.users[key] = this.mapCustomDataAfterReceive(response.users[key])!;\n });\n\n return response;\n };\n\n muteUser = async (muteUserRequest: MuteUserRequest) => {\n muteUserRequest.user = this.mapCustomDataBeforeSend(muteUserRequest.user);\n const response = await this.usersApi.muteUser({ muteUserRequest });\n if (response.mute?.user) {\n response.mute.user = this.mapCustomDataAfterReceive(response.mute?.user);\n }\n if (response.mutes) {\n response.mutes = response.mutes.map(m => {\n return {\n ...m,\n user: this.mapCustomDataAfterReceive(m.user)\n }\n });\n }\n\n return response;\n };\n\n unmuteUser = (unmuteUserRequest: UnmuteUserRequest) => {\n unmuteUserRequest.user = this.mapCustomDataBeforeSend(unmuteUserRequest.user);\n return this.usersApi.unmuteUser({ unmuteUserRequest });\n };\n\n sendCustomEventToUser = (userId: string, event: UserCustomEventRequest) => {\n return this.eventsApi.sendUserCustomEvent({userId, sendUserCustomEventRequest: {event}});\n }\n\n createRole = (createRoleRequest: CreateRoleRequest) => {\n return this.permissionsApi.createRole({createRoleRequest});\n }\n\n deleteRole = (request: DeleteRoleRequest) => {\n return this.permissionsApi.deleteRole(request);\n }\n\n getPermission = (request: GetPermissionRequest) => {\n return this.permissionsApi.getPermission(request);\n }\n\n listPermissions = () => {\n return this.permissionsApi.listPermissions();\n }\n\n listRoles = () => {\n return this.permissionsApi.listRoles();\n }\n\n getAppSettings = () => {\n return this.settingsApi.getApp();\n }\n\n updateAppSettings = (updateAppRequest: UpdateAppRequest) => {\n return this.settingsApi.updateApp({updateAppRequest});\n }\n\n getRateLimits = () => {\n return this.settingsApi.getRateLimits();\n }\n\n getTaskStatus = (request: GetTaskRequest) => {\n return this.tasksApi.getTask(request);\n }\n\n getConfiguration = (options?: { basePath?: string }) => {\n return new Configuration({\n apiKey: (name: string) => {\n const mapping: { [key: string]: string } = {\n \"Stream-Auth-Type\": \"jwt\",\n api_key: this.apiKey,\n Authorization: this.token,\n };\n\n return mapping[name];\n },\n basePath: options?.basePath || this.basePath,\n headers: {\n \"X-Stream-Client\": \"stream-node-\" + process.env.PKG_VERSION,\n },\n middleware: [\n {\n pre: (context: RequestContext) => {\n context.init.headers = {\n ...context.init.headers,\n \"x-client-request-id\": uuidv4(),\n };\n\n return Promise.resolve(context);\n },\n },\n {\n // This should be the last post middleware because that will throw an error\n // The Fetch API won't throw an error for HTTP error responses, which means the \"onError\" middleware won't be called so we need to throw error from \"post\" middleware\n post: async (context: ResponseContext) => {\n if (\n (context.response && context.response.status < 200) ||\n context.response.status >= 300\n ) {\n const response = new JSONApiResponse(context.response);\n const value = (await response.value()) as APIError;\n throw new Error(\n `Stream error code ${value.code}: ${value.message}`\n );\n }\n },\n },\n ],\n // https://github.com/OpenAPITools/openapi-generator/issues/13222\n queryParamsStringify: (params: HTTPQuery) => {\n const newParams = [];\n for (const k in params) {\n if (Array.isArray(params[k]) || typeof params[k] === \"object\") {\n newParams.push(\n `${k}=${encodeURIComponent(JSON.stringify(params[k]))}`\n );\n } else {\n const value = params[k];\n if (\n typeof value === \"string\" ||\n typeof value === \"number\" ||\n typeof value === \"boolean\"\n ) {\n newParams.push(`${k}=${encodeURIComponent(value)}`);\n }\n }\n }\n\n return newParams.join(\"&\");\n },\n });\n };\n\n private reservedKeywords = ['ban_expires', 'banned', 'id', 'invisible', 'language', 'push_notifications', 'revoke_tokens_issued_before', 'role', 'teams', 'created_at', 'deactivated_at', 'deleted_at', 'last_active', 'online', 'updated_at', 'shadow_banned', 'name', 'image'];\n private mapCustomDataBeforeSend = (user: UserObject | UserObjectRequest | UserResponse | undefined) => {\n if (!user) {\n return undefined;\n }\n const copy = {...user};\n delete copy.custom;\n return {...copy, ...user.custom}\n }\n\n private mapCustomDataAfterReceive = (user: UserObject | UserResponse | undefined) => {\n if (!user) {\n return undefined;\n }\n // @ts-expect-error\n let result: UserObject | UserResponse = {};\n Object.keys(user).forEach(key => {\n if (!this.reservedKeywords.includes(key)) {\n if (!result.custom) {\n result.custom = {};\n }\n result.custom[key] = (user as any)[key];\n } else {\n result[key] = (user as any)[key];\n }\n });\n\n return result;\n }\n}\n"],"names":["BASE_PATH","querystring","DefaultConfig","Configuration","FetchError","ResponseError","isFormData","isBlob","BaseAPI","querystringSingleKey","runtime.BaseAPI","runtime.RequiredError","runtime.JSONApiResponse","runtime.VoidApiResponse","runtime.canConsumeForm","runtime.COLLECTION_FORMATS","uuidv4","ServerSideApi"],"mappings":"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C/C,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,KAAK,EAAE,OAAO;AACd,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,KAAK,EAAE,OAAO;AACd,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,KAAK,EAAE,OAAO;AACd,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,KAAK,EAAE,OAAO;AACd,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,EAAE,EAAE,IAAI;A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","x_google_ignoreList":[2]}