@stream-io/node-sdk 0.7.18 → 0.7.20

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.js","sources":["../../src/utils/create-token.ts","../../src/gen/model-decoders/decoders.ts","../../src/gen/common/CommonApi.ts","../../src/gen/video/VideoApi.ts","../../src/gen/video/CallApi.ts","../../src/StreamCall.ts","../../src/StreamVideoClient.ts","../../src/gen/chat/ChatApi.ts","../../src/gen/chat/ChannelApi.ts","../../src/StreamChannel.ts","../../src/StreamChatClient.ts","../../src/gen/moderation/ModerationApi.ts","../../src/StreamModerationClient.ts","../../src/types.ts","../../src/utils/rate-limit.ts","../../src/ApiClient.ts","../../src/gen/feeds/FeedsApi.ts","../../src/gen/feeds/FeedApi.ts","../../src/StreamFeed.ts","../../src/StreamFeedsClient.ts","../../src/StreamClient.ts","../../src/gen/models/index.ts"],"sourcesContent":["import jwt, { Secret, SignOptions } from 'jsonwebtoken';\n\nexport function JWTUserToken(\n apiSecret: Secret,\n payload: {\n user_id: string;\n exp?: number;\n iat: number;\n call_cids?: string[];\n } & { [key: string]: any },\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',\n noTimestamp: true,\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","type Decoder = (i: any) => any;\n\ntype TypeMapping = Record<string, { type: string; isSingle: boolean }>;\n\nexport const decoders: Record<string, Decoder> = {};\n\nconst decodeDatetimeType = (input: number | string) =>\n typeof input === 'number'\n ? new Date(Math.floor(input / 1000000))\n : new Date(input);\n\ndecoders.DatetimeType = decodeDatetimeType;\n\nconst decode = (typeMappings: TypeMapping, input?: Record<string, any>) => {\n if (!input || Object.keys(typeMappings).length === 0) return input;\n\n Object.keys(typeMappings).forEach((key) => {\n if (input[key] != null) {\n if (typeMappings[key]) {\n const decoder = decoders[typeMappings[key].type];\n if (decoder) {\n if (typeMappings[key].isSingle) {\n input[key] = decoder(input[key]);\n } else {\n Object.keys(input[key]).forEach((k) => {\n input[key][k] = decoder(input[key][k]);\n });\n }\n }\n }\n }\n });\n\n return input;\n};\n\ndecoders.AcceptFeedMemberInviteResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n member: { type: 'FeedMemberResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.AcceptFollowResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n follow: { type: 'FollowResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ActionLogResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n review_queue_item: { type: 'ReviewQueueItemResponse', isSingle: true },\n\n target_user: { type: 'UserResponse', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ActivityAddedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n activity: { type: 'ActivityResponse', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponseCommonFields', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ActivityDeletedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n activity: { type: 'ActivityResponse', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponseCommonFields', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ActivityFeedbackEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponseCommonFields', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ActivityMarkEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponseCommonFields', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ActivityMarkedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ActivityPinResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n activity: { type: 'ActivityResponse', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ActivityPinnedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n pinned_activity: { type: 'PinActivityResponse', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponseCommonFields', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ActivityReactionAddedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n activity: { type: 'ActivityResponse', isSingle: true },\n\n reaction: { type: 'FeedsReactionResponse', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponseCommonFields', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ActivityReactionDeletedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n activity: { type: 'ActivityResponse', isSingle: true },\n\n reaction: { type: 'FeedsReactionResponse', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponseCommonFields', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ActivityReactionUpdatedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n activity: { type: 'ActivityResponse', isSingle: true },\n\n reaction: { type: 'FeedsReactionResponse', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponseCommonFields', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ActivityRemovedFromFeedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n activity: { type: 'ActivityResponse', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponseCommonFields', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ActivityResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n comments: { type: 'CommentResponse', isSingle: false },\n\n latest_reactions: { type: 'FeedsReactionResponse', isSingle: false },\n\n mentioned_users: { type: 'UserResponse', isSingle: false },\n\n own_bookmarks: { type: 'BookmarkResponse', isSingle: false },\n\n own_reactions: { type: 'FeedsReactionResponse', isSingle: false },\n\n reaction_groups: { type: 'ReactionGroupResponse', isSingle: false },\n\n user: { type: 'UserResponse', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n edited_at: { type: 'DatetimeType', isSingle: true },\n\n expires_at: { type: 'DatetimeType', isSingle: true },\n\n current_feed: { type: 'FeedResponse', isSingle: true },\n\n parent: { type: 'ActivityResponse', isSingle: true },\n\n poll: { type: 'PollResponseData', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ActivitySelectorConfigResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n cutoff_time: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ActivityUnpinnedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n pinned_activity: { type: 'PinActivityResponse', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponseCommonFields', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ActivityUpdatedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n activity: { type: 'ActivityResponse', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponseCommonFields', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.AddActivityResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n activity: { type: 'ActivityResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.AddBookmarkResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n bookmark: { type: 'BookmarkResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.AddCommentReactionResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n comment: { type: 'CommentResponse', isSingle: true },\n\n reaction: { type: 'FeedsReactionResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.AddCommentResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n comment: { type: 'CommentResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.AddCommentsBatchResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n comments: { type: 'CommentResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.AddReactionResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n activity: { type: 'ActivityResponse', isSingle: true },\n\n reaction: { type: 'FeedsReactionResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.AggregatedActivityResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n activities: { type: 'ActivityResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.AnyEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.AppResponseFields = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n event_hooks: { type: 'EventHook', isSingle: false },\n\n call_types: { type: 'CallType', isSingle: false },\n\n channel_configs: { type: 'ChannelConfig', isSingle: false },\n\n push_notifications: { type: 'PushNotificationFields', isSingle: true },\n\n revoke_tokens_issued_before: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.AsyncBulkImageModerationEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n finished_at: { type: 'DatetimeType', isSingle: true },\n\n started_at: { type: 'DatetimeType', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.AsyncExportChannelsEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n finished_at: { type: 'DatetimeType', isSingle: true },\n\n started_at: { type: 'DatetimeType', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.AsyncExportErrorEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n finished_at: { type: 'DatetimeType', isSingle: true },\n\n started_at: { type: 'DatetimeType', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.AsyncExportModerationLogsEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n finished_at: { type: 'DatetimeType', isSingle: true },\n\n started_at: { type: 'DatetimeType', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.AsyncExportUsersEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n finished_at: { type: 'DatetimeType', isSingle: true },\n\n started_at: { type: 'DatetimeType', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.AutomodDetails = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n result: { type: 'MessageModerationResult', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.Ban = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n expires: { type: 'DatetimeType', isSingle: true },\n\n channel: { type: 'Channel', isSingle: true },\n\n created_by: { type: 'User', isSingle: true },\n\n target: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.BanResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n expires: { type: 'DatetimeType', isSingle: true },\n\n banned_by: { type: 'UserResponse', isSingle: true },\n\n channel: { type: 'ChannelResponse', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.BlockListResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.BlockUsersResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.BlockedUserEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n\n blocked_by_user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.BlockedUserResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n blocked_user: { type: 'UserResponse', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.BookmarkAddedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n bookmark: { type: 'BookmarkResponse', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponseCommonFields', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.BookmarkDeletedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n bookmark: { type: 'BookmarkResponse', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponseCommonFields', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.BookmarkFolderDeletedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n bookmark_folder: { type: 'BookmarkFolderResponse', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponseCommonFields', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.BookmarkFolderResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.BookmarkFolderUpdatedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n bookmark_folder: { type: 'BookmarkFolderResponse', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponseCommonFields', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.BookmarkResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n activity: { type: 'ActivityResponse', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n\n folder: { type: 'BookmarkFolderResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.BookmarkUpdatedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n bookmark: { type: 'BookmarkResponse', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponseCommonFields', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallAcceptedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n call: { type: 'CallResponse', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallClosedCaptionsFailedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallClosedCaptionsStartedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallClosedCaptionsStoppedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallCreatedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n members: { type: 'MemberResponse', isSingle: false },\n\n call: { type: 'CallResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallDeletedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n call: { type: 'CallResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallEndedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n call: { type: 'CallResponse', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallFrameRecordingFailedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n call: { type: 'CallResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallFrameRecordingFrameReadyEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n captured_at: { type: 'DatetimeType', isSingle: true },\n\n created_at: { type: 'DatetimeType', isSingle: true },\n\n users: { type: 'UserResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallFrameRecordingStartedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n call: { type: 'CallResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallFrameRecordingStoppedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n call: { type: 'CallResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallHLSBroadcastingFailedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallHLSBroadcastingStartedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n call: { type: 'CallResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallHLSBroadcastingStoppedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallLiveStartedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n call: { type: 'CallResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallMemberAddedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n members: { type: 'MemberResponse', isSingle: false },\n\n call: { type: 'CallResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallMemberRemovedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n call: { type: 'CallResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallMemberUpdatedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n members: { type: 'MemberResponse', isSingle: false },\n\n call: { type: 'CallResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallMemberUpdatedPermissionEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n members: { type: 'MemberResponse', isSingle: false },\n\n call: { type: 'CallResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallMissedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n members: { type: 'MemberResponse', isSingle: false },\n\n call: { type: 'CallResponse', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallModerationBlurEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallModerationWarningEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallNotificationEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n members: { type: 'MemberResponse', isSingle: false },\n\n call: { type: 'CallResponse', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallParticipantResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n joined_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallParticipantTimeline = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n timestamp: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallReactionEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n reaction: { type: 'ReactionResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallRecording = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n end_time: { type: 'DatetimeType', isSingle: true },\n\n start_time: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallRecordingFailedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallRecordingReadyEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n call_recording: { type: 'CallRecording', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallRecordingStartedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallRecordingStoppedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallRejectedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n call: { type: 'CallResponse', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallReportResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n ended_at: { type: 'DatetimeType', isSingle: true },\n\n started_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n created_by: { type: 'UserResponse', isSingle: true },\n\n ended_at: { type: 'DatetimeType', isSingle: true },\n\n starts_at: { type: 'DatetimeType', isSingle: true },\n\n session: { type: 'CallSessionResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallRingEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n members: { type: 'MemberResponse', isSingle: false },\n\n call: { type: 'CallResponse', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallRtmpBroadcastFailedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallRtmpBroadcastStartedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallRtmpBroadcastStoppedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallSessionEndedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n call: { type: 'CallResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallSessionParticipantCountsUpdatedEvent = (\n input?: Record<string, any>,\n) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallSessionParticipantJoinedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n participant: { type: 'CallParticipantResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallSessionParticipantLeftEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n participant: { type: 'CallParticipantResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallSessionResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n participants: { type: 'CallParticipantResponse', isSingle: false },\n\n accepted_by: { type: 'DatetimeType', isSingle: false },\n\n missed_by: { type: 'DatetimeType', isSingle: false },\n\n rejected_by: { type: 'DatetimeType', isSingle: false },\n\n ended_at: { type: 'DatetimeType', isSingle: true },\n\n live_ended_at: { type: 'DatetimeType', isSingle: true },\n\n live_started_at: { type: 'DatetimeType', isSingle: true },\n\n started_at: { type: 'DatetimeType', isSingle: true },\n\n timer_ends_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallSessionStartedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n call: { type: 'CallResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallStateResponseFields = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n members: { type: 'MemberResponse', isSingle: false },\n\n call: { type: 'CallResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallStatsParticipant = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n sessions: { type: 'CallStatsParticipantSession', isSingle: false },\n\n latest_activity_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallStatsParticipantSession = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n ended_at: { type: 'DatetimeType', isSingle: true },\n\n started_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallStatsReportReadyEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallStatsReportSummaryResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n first_stats_time: { type: 'DatetimeType', isSingle: true },\n\n created_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallTranscription = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n end_time: { type: 'DatetimeType', isSingle: true },\n\n start_time: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallTranscriptionFailedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallTranscriptionReadyEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n call_transcription: { type: 'CallTranscription', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallTranscriptionStartedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallTranscriptionStoppedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallType = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallTypeResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallUpdatedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n call: { type: 'CallResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallUserFeedbackSubmittedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallUserMutedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CampaignCompletedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n\n campaign: { type: 'CampaignResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CampaignResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n segments: { type: 'Segment', isSingle: false },\n\n users: { type: 'UserResponse', isSingle: false },\n\n stats: { type: 'CampaignStatsResponse', isSingle: true },\n\n scheduled_for: { type: 'DatetimeType', isSingle: true },\n\n stop_at: { type: 'DatetimeType', isSingle: true },\n\n sender: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CampaignStartedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n\n campaign: { type: 'CampaignResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CampaignStatsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n stats_completed_at: { type: 'DatetimeType', isSingle: true },\n\n stats_started_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.Channel = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n last_message_at: { type: 'DatetimeType', isSingle: true },\n\n message_count_updated_at: { type: 'DatetimeType', isSingle: true },\n\n active_live_locations: { type: 'SharedLocation', isSingle: false },\n\n invites: { type: 'ChannelMember', isSingle: false },\n\n members: { type: 'ChannelMember', isSingle: false },\n\n config: { type: 'ChannelConfig', isSingle: true },\n\n created_by: { type: 'User', isSingle: true },\n\n members_lookup: { type: 'ChannelMemberLookup', isSingle: false },\n\n truncated_by: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ChannelConfig = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ChannelConfigWithInfo = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n commands: { type: 'Command', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ChannelCreatedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ChannelDeletedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n channel: { type: 'ChannelResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ChannelFrozenEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ChannelHiddenEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n channel: { type: 'ChannelResponse', isSingle: true },\n\n user: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ChannelMember = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n archived_at: { type: 'DatetimeType', isSingle: true },\n\n ban_expires: { type: 'DatetimeType', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n invite_accepted_at: { type: 'DatetimeType', isSingle: true },\n\n invite_rejected_at: { type: 'DatetimeType', isSingle: true },\n\n pinned_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ChannelMemberLookup = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n archived_at: { type: 'DatetimeType', isSingle: true },\n\n ban_expires: { type: 'DatetimeType', isSingle: true },\n\n pinned_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ChannelMemberResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n archived_at: { type: 'DatetimeType', isSingle: true },\n\n ban_expires: { type: 'DatetimeType', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n invite_accepted_at: { type: 'DatetimeType', isSingle: true },\n\n invite_rejected_at: { type: 'DatetimeType', isSingle: true },\n\n pinned_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ChannelMute = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n expires: { type: 'DatetimeType', isSingle: true },\n\n channel: { type: 'ChannelResponse', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ChannelMutedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ChannelPushPreferences = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n disabled_until: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ChannelResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n hide_messages_before: { type: 'DatetimeType', isSingle: true },\n\n last_message_at: { type: 'DatetimeType', isSingle: true },\n\n mute_expires_at: { type: 'DatetimeType', isSingle: true },\n\n truncated_at: { type: 'DatetimeType', isSingle: true },\n\n members: { type: 'ChannelMemberResponse', isSingle: false },\n\n config: { type: 'ChannelConfigWithInfo', isSingle: true },\n\n created_by: { type: 'UserResponse', isSingle: true },\n\n truncated_by: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ChannelStateResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n members: { type: 'ChannelMemberResponse', isSingle: false },\n\n messages: { type: 'MessageResponse', isSingle: false },\n\n pinned_messages: { type: 'MessageResponse', isSingle: false },\n\n threads: { type: 'ThreadStateResponse', isSingle: false },\n\n hide_messages_before: { type: 'DatetimeType', isSingle: true },\n\n active_live_locations: {\n type: 'SharedLocationResponseData',\n isSingle: false,\n },\n\n pending_messages: { type: 'PendingMessageResponse', isSingle: false },\n\n read: { type: 'ReadStateResponse', isSingle: false },\n\n watchers: { type: 'UserResponse', isSingle: false },\n\n channel: { type: 'ChannelResponse', isSingle: true },\n\n draft: { type: 'DraftResponse', isSingle: true },\n\n membership: { type: 'ChannelMemberResponse', isSingle: true },\n\n push_preferences: { type: 'ChannelPushPreferences', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ChannelStateResponseFields = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n members: { type: 'ChannelMemberResponse', isSingle: false },\n\n messages: { type: 'MessageResponse', isSingle: false },\n\n pinned_messages: { type: 'MessageResponse', isSingle: false },\n\n threads: { type: 'ThreadStateResponse', isSingle: false },\n\n hide_messages_before: { type: 'DatetimeType', isSingle: true },\n\n active_live_locations: {\n type: 'SharedLocationResponseData',\n isSingle: false,\n },\n\n pending_messages: { type: 'PendingMessageResponse', isSingle: false },\n\n read: { type: 'ReadStateResponse', isSingle: false },\n\n watchers: { type: 'UserResponse', isSingle: false },\n\n channel: { type: 'ChannelResponse', isSingle: true },\n\n draft: { type: 'DraftResponse', isSingle: true },\n\n membership: { type: 'ChannelMemberResponse', isSingle: true },\n\n push_preferences: { type: 'ChannelPushPreferences', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ChannelTruncatedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n channel: { type: 'ChannelResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ChannelTypeConfig = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n commands: { type: 'Command', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ChannelUnFrozenEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ChannelUnmutedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ChannelUpdatedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n channel: { type: 'ChannelResponse', isSingle: true },\n\n message: { type: 'Message', isSingle: true },\n\n user: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ChannelVisibleEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ChatActivityStatsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n messages: { type: 'MessageStatsResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CheckResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n item: { type: 'ReviewQueueItemResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ClosedCaptionEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.Command = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CommentAddedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n activity: { type: 'ActivityResponse', isSingle: true },\n\n comment: { type: 'CommentResponse', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponseCommonFields', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CommentDeletedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n comment: { type: 'CommentResponse', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponseCommonFields', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CommentReactionAddedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n activity: { type: 'ActivityResponse', isSingle: true },\n\n comment: { type: 'CommentResponse', isSingle: true },\n\n reaction: { type: 'FeedsReactionResponse', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponseCommonFields', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CommentReactionDeletedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n comment: { type: 'CommentResponse', isSingle: true },\n\n reaction: { type: 'FeedsReactionResponse', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CommentReactionUpdatedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n activity: { type: 'ActivityResponse', isSingle: true },\n\n comment: { type: 'CommentResponse', isSingle: true },\n\n reaction: { type: 'FeedsReactionResponse', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponseCommonFields', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CommentResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n mentioned_users: { type: 'UserResponse', isSingle: false },\n\n own_reactions: { type: 'FeedsReactionResponse', isSingle: false },\n\n user: { type: 'UserResponse', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n latest_reactions: { type: 'FeedsReactionResponse', isSingle: false },\n\n reaction_groups: { type: 'ReactionGroupResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CommentUpdatedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n comment: { type: 'CommentResponse', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponseCommonFields', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ConfigResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CountByMinuteResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n start_ts: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CreateBlockListResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n blocklist: { type: 'BlockListResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CreateCallTypeResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CreateChannelTypeResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CreateCommandResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n command: { type: 'Command', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CreateFeedGroupResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n feed_group: { type: 'FeedGroupResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CreateFeedViewResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n feed_view: { type: 'FeedViewResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CreateFeedsBatchResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n feeds: { type: 'FeedResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CreateGuestResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CreateImportResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n import_task: { type: 'ImportTask', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CreateMembershipLevelResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n membership_level: { type: 'MembershipLevelResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CreateRoleResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n role: { type: 'Role', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CustomCheckResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n item: { type: 'ReviewQueueItemResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CustomVideoEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.DeactivateUserResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.DeleteActivityReactionResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n activity: { type: 'ActivityResponse', isSingle: true },\n\n reaction: { type: 'FeedsReactionResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.DeleteBookmarkResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n bookmark: { type: 'BookmarkResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.DeleteCallResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n call: { type: 'CallResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.DeleteChannelResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n channel: { type: 'ChannelResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.DeleteCommentReactionResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n comment: { type: 'CommentResponse', isSingle: true },\n\n reaction: { type: 'FeedsReactionResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.DeleteCommentResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n activity: { type: 'ActivityResponse', isSingle: true },\n\n comment: { type: 'CommentResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.DeleteMessageResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n message: { type: 'MessageResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.DeleteReactionResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n message: { type: 'MessageResponse', isSingle: true },\n\n reaction: { type: 'ReactionResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.Device = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.DeviceResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.DraftPayloadResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n mentioned_users: { type: 'UserResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.DraftResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n message: { type: 'DraftPayloadResponse', isSingle: true },\n\n channel: { type: 'ChannelResponse', isSingle: true },\n\n parent_message: { type: 'MessageResponse', isSingle: true },\n\n quoted_message: { type: 'MessageResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.EgressRTMPResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n started_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.EntityCreatorResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n ban_expires: { type: 'DatetimeType', isSingle: true },\n\n deactivated_at: { type: 'DatetimeType', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n last_active: { type: 'DatetimeType', isSingle: true },\n\n revoke_tokens_issued_before: { type: 'DatetimeType', isSingle: true },\n\n devices: { type: 'DeviceResponse', isSingle: false },\n\n push_notifications: {\n type: 'PushNotificationSettingsResponse',\n isSingle: true,\n },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.EventHook = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.EventResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n event: { type: 'WSEvent', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ExportUserResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n messages: { type: 'MessageResponse', isSingle: false },\n\n reactions: { type: 'ReactionResponse', isSingle: false },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.FeedCreatedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n members: { type: 'FeedMemberResponse', isSingle: false },\n\n feed: { type: 'FeedResponse', isSingle: true },\n\n user: { type: 'UserResponseCommonFields', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.FeedDeletedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponseCommonFields', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.FeedGroupChangedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponseCommonFields', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.FeedGroupDeletedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.FeedGroupResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n activity_selectors: {\n type: 'ActivitySelectorConfigResponse',\n isSingle: false,\n },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.FeedMemberAddedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n member: { type: 'FeedMemberResponse', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponseCommonFields', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.FeedMemberRemovedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponseCommonFields', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.FeedMemberResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n\n invite_accepted_at: { type: 'DatetimeType', isSingle: true },\n\n invite_rejected_at: { type: 'DatetimeType', isSingle: true },\n\n membership_level: { type: 'MembershipLevelResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.FeedMemberUpdatedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n member: { type: 'FeedMemberResponse', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponseCommonFields', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.FeedResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n created_by: { type: 'UserResponse', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n own_follows: { type: 'FollowResponse', isSingle: false },\n\n own_membership: { type: 'FeedMemberResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.FeedSuggestionResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n created_by: { type: 'UserResponse', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n own_follows: { type: 'FollowResponse', isSingle: false },\n\n own_membership: { type: 'FeedMemberResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.FeedUpdatedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n feed: { type: 'FeedResponse', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponseCommonFields', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.FeedViewResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n last_used_at: { type: 'DatetimeType', isSingle: true },\n\n activity_selectors: {\n type: 'ActivitySelectorConfigResponse',\n isSingle: false,\n },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.FeedsReactionResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.FlagDetails = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n automod: { type: 'AutomodDetails', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.FlagFeedback = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.FlagUpdatedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n\n created_by: { type: 'UserResponse', isSingle: true },\n\n message: { type: 'MessageResponse', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.FollowBatchResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n follows: { type: 'FollowResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.FollowCreatedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n follow: { type: 'FollowResponse', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.FollowDeletedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n follow: { type: 'FollowResponse', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.FollowResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n source_feed: { type: 'FeedResponse', isSingle: true },\n\n target_feed: { type: 'FeedResponse', isSingle: true },\n\n request_accepted_at: { type: 'DatetimeType', isSingle: true },\n\n request_rejected_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.FollowUpdatedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n follow: { type: 'FollowResponse', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.FullUserResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n channel_mutes: { type: 'ChannelMute', isSingle: false },\n\n devices: { type: 'DeviceResponse', isSingle: false },\n\n mutes: { type: 'UserMuteResponse', isSingle: false },\n\n ban_expires: { type: 'DatetimeType', isSingle: true },\n\n deactivated_at: { type: 'DatetimeType', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n last_active: { type: 'DatetimeType', isSingle: true },\n\n revoke_tokens_issued_before: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetActiveCallsStatusResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n end_time: { type: 'DatetimeType', isSingle: true },\n\n start_time: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetActivityResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n activity: { type: 'ActivityResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetApplicationResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n app: { type: 'AppResponseFields', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetBlockListResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n blocklist: { type: 'BlockListResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetBlockedUsersResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n blocks: { type: 'BlockedUserResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetCallReportResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n video_reactions: { type: 'VideoReactionsResponse', isSingle: false },\n\n chat_activity: { type: 'ChatActivityStatsResponse', isSingle: true },\n\n session: { type: 'CallSessionResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetCallResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n members: { type: 'MemberResponse', isSingle: false },\n\n call: { type: 'CallResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetCallTypeResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetChannelTypeResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n commands: { type: 'Command', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetCommandResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetCommentRepliesResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n comments: { type: 'ThreadedCommentResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetCommentResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n comment: { type: 'CommentResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetCommentsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n comments: { type: 'ThreadedCommentResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetConfigResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n config: { type: 'ConfigResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetDraftResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n draft: { type: 'DraftResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetFeedGroupResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n feed_group: { type: 'FeedGroupResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetFeedViewResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n feed_view: { type: 'FeedViewResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetFollowSuggestionsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n suggestions: { type: 'FeedSuggestionResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetImportResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n import_task: { type: 'ImportTask', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetManyMessagesResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n messages: { type: 'MessageResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetMessageResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n message: { type: 'MessageWithChannelResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetModerationRuleResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n rule: { type: 'ModerationRuleV2Response', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetOrCreateCallResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n members: { type: 'MemberResponse', isSingle: false },\n\n call: { type: 'CallResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetOrCreateFeedGroupResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n feed_group: { type: 'FeedGroupResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetOrCreateFeedResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n activities: { type: 'ActivityResponse', isSingle: false },\n\n aggregated_activities: {\n type: 'AggregatedActivityResponse',\n isSingle: false,\n },\n\n followers: { type: 'FollowResponse', isSingle: false },\n\n following: { type: 'FollowResponse', isSingle: false },\n\n members: { type: 'FeedMemberResponse', isSingle: false },\n\n pinned_activities: { type: 'ActivityPinResponse', isSingle: false },\n\n feed: { type: 'FeedResponse', isSingle: true },\n\n notification_status: { type: 'NotificationStatusResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetOrCreateFeedViewResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n feed_view: { type: 'FeedViewResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetPushTemplatesResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n templates: { type: 'PushTemplate', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetReactionsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n reactions: { type: 'Reaction', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetRepliesResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n messages: { type: 'MessageResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetReviewQueueItemResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n item: { type: 'ReviewQueueItemResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetSegmentResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n segment: { type: 'SegmentResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetTaskResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetThreadResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n thread: { type: 'ThreadStateResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GoLiveResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n call: { type: 'CallResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ImportTask = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n history: { type: 'ImportTaskHistory', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ImportTaskHistory = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.KickedUserEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n\n kicked_by_user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ListBlockListResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n blocklists: { type: 'BlockListResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ListCallTypeResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n call_types: { type: 'CallTypeResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ListChannelTypesResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n channel_types: { type: 'ChannelTypeConfig', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ListCommandsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n commands: { type: 'Command', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ListDevicesResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n devices: { type: 'DeviceResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ListFeedGroupsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n groups: { type: 'FeedGroupResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ListFeedViewsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n views: { type: 'FeedViewResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ListImportsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n import_tasks: { type: 'ImportTask', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ListPushProvidersResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n push_providers: { type: 'PushProviderResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ListRecordingsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n recordings: { type: 'CallRecording', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ListRolesResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n roles: { type: 'Role', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ListTranscriptionsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n transcriptions: { type: 'CallTranscription', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.MarkReadResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n event: { type: 'MessageReadEvent', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.MemberAddedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n member: { type: 'ChannelMember', isSingle: true },\n\n user: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.MemberRemovedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n member: { type: 'ChannelMember', isSingle: true },\n\n user: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.MemberResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.MemberUpdatedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n member: { type: 'ChannelMember', isSingle: true },\n\n user: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.MembersResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n members: { type: 'ChannelMemberResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.MembershipLevelResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.Message = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n latest_reactions: { type: 'Reaction', isSingle: false },\n\n mentioned_users: { type: 'User', isSingle: false },\n\n own_reactions: { type: 'Reaction', isSingle: false },\n\n reaction_groups: { type: 'ReactionGroupResponse', isSingle: false },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n message_text_updated_at: { type: 'DatetimeType', isSingle: true },\n\n pin_expires: { type: 'DatetimeType', isSingle: true },\n\n pinned_at: { type: 'DatetimeType', isSingle: true },\n\n thread_participants: { type: 'User', isSingle: false },\n\n member: { type: 'ChannelMember', isSingle: true },\n\n pinned_by: { type: 'User', isSingle: true },\n\n poll: { type: 'Poll', isSingle: true },\n\n quoted_message: { type: 'Message', isSingle: true },\n\n reminder: { type: 'MessageReminder', isSingle: true },\n\n shared_location: { type: 'SharedLocation', isSingle: true },\n\n user: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.MessageDeletedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n thread_participants: { type: 'User', isSingle: false },\n\n message: { type: 'Message', isSingle: true },\n\n user: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.MessageFlagResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n approved_at: { type: 'DatetimeType', isSingle: true },\n\n rejected_at: { type: 'DatetimeType', isSingle: true },\n\n reviewed_at: { type: 'DatetimeType', isSingle: true },\n\n details: { type: 'FlagDetails', isSingle: true },\n\n message: { type: 'Message', isSingle: true },\n\n moderation_feedback: { type: 'FlagFeedback', isSingle: true },\n\n moderation_result: { type: 'MessageModerationResult', isSingle: true },\n\n reviewed_by: { type: 'UserResponse', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.MessageFlaggedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n thread_participants: { type: 'User', isSingle: false },\n\n message: { type: 'Message', isSingle: true },\n\n user: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.MessageHistoryEntryResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n message_updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.MessageModerationResult = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.MessageNewEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n thread_participants: { type: 'User', isSingle: false },\n\n message: { type: 'Message', isSingle: true },\n\n user: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.MessageReadEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n channel_last_message_at: { type: 'DatetimeType', isSingle: true },\n\n channel: { type: 'ChannelResponse', isSingle: true },\n\n thread: { type: 'ThreadResponse', isSingle: true },\n\n user: { type: 'UserResponseCommonFields', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.MessageReminder = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n remind_at: { type: 'DatetimeType', isSingle: true },\n\n channel: { type: 'Channel', isSingle: true },\n\n message: { type: 'Message', isSingle: true },\n\n user: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.MessageResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n latest_reactions: { type: 'ReactionResponse', isSingle: false },\n\n mentioned_users: { type: 'UserResponse', isSingle: false },\n\n own_reactions: { type: 'ReactionResponse', isSingle: false },\n\n user: { type: 'UserResponse', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n message_text_updated_at: { type: 'DatetimeType', isSingle: true },\n\n pin_expires: { type: 'DatetimeType', isSingle: true },\n\n pinned_at: { type: 'DatetimeType', isSingle: true },\n\n thread_participants: { type: 'UserResponse', isSingle: false },\n\n draft: { type: 'DraftResponse', isSingle: true },\n\n member: { type: 'ChannelMemberResponse', isSingle: true },\n\n pinned_by: { type: 'UserResponse', isSingle: true },\n\n poll: { type: 'PollResponseData', isSingle: true },\n\n quoted_message: { type: 'MessageResponse', isSingle: true },\n\n reaction_groups: { type: 'ReactionGroupResponse', isSingle: false },\n\n reminder: { type: 'ReminderResponseData', isSingle: true },\n\n shared_location: { type: 'SharedLocationResponseData', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.MessageStatsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n count_over_time: { type: 'CountByMinuteResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.MessageUnblockedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n thread_participants: { type: 'User', isSingle: false },\n\n message: { type: 'Message', isSingle: true },\n\n user: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.MessageUndeletedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n thread_participants: { type: 'User', isSingle: false },\n\n message: { type: 'Message', isSingle: true },\n\n user: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.MessageUpdatedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n thread_participants: { type: 'User', isSingle: false },\n\n message: { type: 'Message', isSingle: true },\n\n user: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.MessageWithChannelResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n latest_reactions: { type: 'ReactionResponse', isSingle: false },\n\n mentioned_users: { type: 'UserResponse', isSingle: false },\n\n own_reactions: { type: 'ReactionResponse', isSingle: false },\n\n channel: { type: 'ChannelResponse', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n message_text_updated_at: { type: 'DatetimeType', isSingle: true },\n\n pin_expires: { type: 'DatetimeType', isSingle: true },\n\n pinned_at: { type: 'DatetimeType', isSingle: true },\n\n thread_participants: { type: 'UserResponse', isSingle: false },\n\n draft: { type: 'DraftResponse', isSingle: true },\n\n member: { type: 'ChannelMemberResponse', isSingle: true },\n\n pinned_by: { type: 'UserResponse', isSingle: true },\n\n poll: { type: 'PollResponseData', isSingle: true },\n\n quoted_message: { type: 'MessageResponse', isSingle: true },\n\n reaction_groups: { type: 'ReactionGroupResponse', isSingle: false },\n\n reminder: { type: 'ReminderResponseData', isSingle: true },\n\n shared_location: { type: 'SharedLocationResponseData', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ModerationCheckCompletedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ModerationCustomActionEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n review_queue_item: { type: 'ReviewQueueItemResponse', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n\n message: { type: 'MessageResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ModerationFlagResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n review_queue_item: { type: 'ReviewQueueItemResponse', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ModerationFlaggedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ModerationMarkReviewedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n item: { type: 'ReviewQueueItemResponse', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n\n message: { type: 'MessageResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ModerationRuleV2Response = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.MuteChannelResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n channel_mutes: { type: 'ChannelMute', isSingle: false },\n\n channel_mute: { type: 'ChannelMute', isSingle: true },\n\n own_user: { type: 'OwnUser', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.MuteResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n mutes: { type: 'UserMute', isSingle: false },\n\n own_user: { type: 'OwnUser', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.NotificationFeedUpdatedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n\n aggregated_activities: {\n type: 'AggregatedActivityResponse',\n isSingle: false,\n },\n\n notification_status: { type: 'NotificationStatusResponse', isSingle: true },\n\n user: { type: 'UserResponseCommonFields', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.NotificationMarkUnreadEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n last_read_at: { type: 'DatetimeType', isSingle: true },\n\n channel: { type: 'ChannelResponse', isSingle: true },\n\n user: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.NotificationStatusResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n last_read_at: { type: 'DatetimeType', isSingle: true },\n\n last_seen_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.OwnUser = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n channel_mutes: { type: 'ChannelMute', isSingle: false },\n\n devices: { type: 'Device', isSingle: false },\n\n mutes: { type: 'UserMute', isSingle: false },\n\n deactivated_at: { type: 'DatetimeType', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n last_active: { type: 'DatetimeType', isSingle: true },\n\n last_engaged_at: { type: 'DatetimeType', isSingle: true },\n\n push_preferences: { type: 'PushPreferences', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.OwnUserResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n channel_mutes: { type: 'ChannelMute', isSingle: false },\n\n devices: { type: 'DeviceResponse', isSingle: false },\n\n mutes: { type: 'UserMuteResponse', isSingle: false },\n\n deactivated_at: { type: 'DatetimeType', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n last_active: { type: 'DatetimeType', isSingle: true },\n\n revoke_tokens_issued_before: { type: 'DatetimeType', isSingle: true },\n\n push_preferences: { type: 'PushPreferences', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ParticipantCountByMinuteResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n start_ts: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ParticipantCountOverTimeResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n by_minute: { type: 'ParticipantCountByMinuteResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ParticipantSeriesTimeframe = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n since: { type: 'DatetimeType', isSingle: true },\n\n until: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.PendingMessageEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n\n channel: { type: 'Channel', isSingle: true },\n\n message: { type: 'Message', isSingle: true },\n\n user: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.PendingMessageResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n channel: { type: 'ChannelResponse', isSingle: true },\n\n message: { type: 'MessageResponse', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.PermissionRequestEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.PinActivityResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n activity: { type: 'ActivityResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.Poll = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n latest_answers: { type: 'PollVote', isSingle: false },\n\n own_votes: { type: 'PollVote', isSingle: false },\n\n created_by: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.PollResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n poll: { type: 'PollResponseData', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.PollResponseData = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n latest_answers: { type: 'PollVoteResponseData', isSingle: false },\n\n own_votes: { type: 'PollVoteResponseData', isSingle: false },\n\n created_by: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.PollVote = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.PollVoteResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n vote: { type: 'PollVoteResponseData', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.PollVoteResponseData = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.PollVotesResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n votes: { type: 'PollVoteResponseData', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.PushNotificationFields = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n providers: { type: 'PushProvider', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.PushNotificationSettingsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n disabled_until: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.PushPreferences = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n disabled_until: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.PushProvider = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n disabled_at: { type: 'DatetimeType', isSingle: true },\n\n push_templates: { type: 'PushTemplate', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.PushProviderResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n disabled_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.PushTemplate = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryActivitiesResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n activities: { type: 'ActivityResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryActivityReactionsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n reactions: { type: 'FeedsReactionResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryBannedUsersResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n bans: { type: 'BanResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryBookmarkFoldersResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n bookmark_folders: { type: 'BookmarkFolderResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryBookmarksResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n bookmarks: { type: 'BookmarkResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryCallMembersResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n members: { type: 'MemberResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryCallParticipantsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n members: { type: 'MemberResponse', isSingle: false },\n\n participants: { type: 'CallParticipantResponse', isSingle: false },\n\n call: { type: 'CallResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryCallSessionParticipantStatsResponse = (\n input?: Record<string, any>,\n) => {\n const typeMappings: TypeMapping = {\n participants: { type: 'CallStatsParticipant', isSingle: false },\n\n call_ended_at: { type: 'DatetimeType', isSingle: true },\n\n call_started_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryCallSessionParticipantStatsTimelineResponse = (\n input?: Record<string, any>,\n) => {\n const typeMappings: TypeMapping = {\n events: { type: 'CallParticipantTimeline', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryCallStatsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n reports: { type: 'CallStatsReportSummaryResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryCallsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n calls: { type: 'CallStateResponseFields', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryCampaignsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n campaigns: { type: 'CampaignResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryChannelsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n channels: { type: 'ChannelStateResponseFields', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryCommentReactionsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n reactions: { type: 'FeedsReactionResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryCommentsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n comments: { type: 'CommentResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryDraftsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n drafts: { type: 'DraftResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryFeedMembersResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n members: { type: 'FeedMemberResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryFeedModerationTemplate = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryFeedModerationTemplatesResponse = (\n input?: Record<string, any>,\n) => {\n const typeMappings: TypeMapping = {\n templates: { type: 'QueryFeedModerationTemplate', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryFeedsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n feeds: { type: 'FeedResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryFollowsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n follows: { type: 'FollowResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryMembershipLevelsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n membership_levels: { type: 'MembershipLevelResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryMessageFlagsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n flags: { type: 'MessageFlagResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryMessageHistoryResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n message_history: { type: 'MessageHistoryEntryResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryModerationConfigsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n configs: { type: 'ConfigResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryModerationFlagsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n flags: { type: 'ModerationFlagResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryModerationLogsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n logs: { type: 'ActionLogResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryModerationRulesResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n rules: { type: 'ModerationRuleV2Response', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryPollsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n polls: { type: 'PollResponseData', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryReactionsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n reactions: { type: 'ReactionResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryRemindersResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n reminders: { type: 'ReminderResponseData', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryReviewQueueResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n items: { type: 'ReviewQueueItemResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QuerySegmentTargetsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n targets: { type: 'SegmentTargetResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QuerySegmentsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n segments: { type: 'SegmentResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryThreadsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n threads: { type: 'ThreadStateResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryUsersResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n users: { type: 'FullUserResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.Reaction = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ReactionDeletedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n thread_participants: { type: 'User', isSingle: false },\n\n message: { type: 'Message', isSingle: true },\n\n reaction: { type: 'Reaction', isSingle: true },\n\n user: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ReactionGroupResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n first_reaction_at: { type: 'DatetimeType', isSingle: true },\n\n last_reaction_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ReactionNewEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n thread_participants: { type: 'User', isSingle: false },\n\n message: { type: 'Message', isSingle: true },\n\n reaction: { type: 'Reaction', isSingle: true },\n\n user: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ReactionResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ReactionUpdatedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n message: { type: 'Message', isSingle: true },\n\n reaction: { type: 'Reaction', isSingle: true },\n\n user: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ReactivateUserResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ReadStateResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n last_read: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n\n last_delivered_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.RejectFeedMemberInviteResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n member: { type: 'FeedMemberResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.RejectFollowResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n follow: { type: 'FollowResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ReminderCreatedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n\n reminder: { type: 'ReminderResponseData', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ReminderDeletedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n\n reminder: { type: 'ReminderResponseData', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ReminderNotificationEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n\n reminder: { type: 'ReminderResponseData', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ReminderResponseData = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n remind_at: { type: 'DatetimeType', isSingle: true },\n\n channel: { type: 'ChannelResponse', isSingle: true },\n\n message: { type: 'Message', isSingle: true },\n\n user: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ReminderUpdatedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n\n reminder: { type: 'ReminderResponseData', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ReviewQueueItemNewEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n\n flags: { type: 'ModerationFlagResponse', isSingle: false },\n\n action: { type: 'ActionLogResponse', isSingle: true },\n\n review_queue_item: { type: 'ReviewQueueItemResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ReviewQueueItemResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n actions: { type: 'ActionLogResponse', isSingle: false },\n\n bans: { type: 'Ban', isSingle: false },\n\n flags: { type: 'ModerationFlagResponse', isSingle: false },\n\n completed_at: { type: 'DatetimeType', isSingle: true },\n\n reviewed_at: { type: 'DatetimeType', isSingle: true },\n\n assigned_to: { type: 'UserResponse', isSingle: true },\n\n call: { type: 'CallResponse', isSingle: true },\n\n entity_creator: { type: 'EntityCreatorResponse', isSingle: true },\n\n feeds_v2_reaction: { type: 'Reaction', isSingle: true },\n\n feeds_v3_activity: { type: 'ActivityResponse', isSingle: true },\n\n feeds_v3_comment: { type: 'CommentResponse', isSingle: true },\n\n message: { type: 'MessageResponse', isSingle: true },\n\n reaction: { type: 'Reaction', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ReviewQueueItemUpdatedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n\n flags: { type: 'ModerationFlagResponse', isSingle: false },\n\n action: { type: 'ActionLogResponse', isSingle: true },\n\n review_queue_item: { type: 'ReviewQueueItemResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.Role = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.SearchResult = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n message: { type: 'SearchResultMessage', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.SearchResultMessage = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n latest_reactions: { type: 'ReactionResponse', isSingle: false },\n\n mentioned_users: { type: 'UserResponse', isSingle: false },\n\n own_reactions: { type: 'ReactionResponse', isSingle: false },\n\n user: { type: 'UserResponse', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n message_text_updated_at: { type: 'DatetimeType', isSingle: true },\n\n pin_expires: { type: 'DatetimeType', isSingle: true },\n\n pinned_at: { type: 'DatetimeType', isSingle: true },\n\n thread_participants: { type: 'UserResponse', isSingle: false },\n\n channel: { type: 'ChannelResponse', isSingle: true },\n\n draft: { type: 'DraftResponse', isSingle: true },\n\n member: { type: 'ChannelMemberResponse', isSingle: true },\n\n pinned_by: { type: 'UserResponse', isSingle: true },\n\n poll: { type: 'PollResponseData', isSingle: true },\n\n quoted_message: { type: 'MessageResponse', isSingle: true },\n\n reaction_groups: { type: 'ReactionGroupResponse', isSingle: false },\n\n reminder: { type: 'ReminderResponseData', isSingle: true },\n\n shared_location: { type: 'SharedLocationResponseData', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.Segment = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.SegmentResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.SegmentTargetResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.SendMessageResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n message: { type: 'MessageResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.SendReactionResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n message: { type: 'MessageResponse', isSingle: true },\n\n reaction: { type: 'ReactionResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.SharedLocation = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n end_at: { type: 'DatetimeType', isSingle: true },\n\n channel: { type: 'Channel', isSingle: true },\n\n message: { type: 'Message', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.SharedLocationResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n end_at: { type: 'DatetimeType', isSingle: true },\n\n channel: { type: 'ChannelResponse', isSingle: true },\n\n message: { type: 'MessageResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.SharedLocationResponseData = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n end_at: { type: 'DatetimeType', isSingle: true },\n\n channel: { type: 'ChannelResponse', isSingle: true },\n\n message: { type: 'MessageResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.SharedLocationsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n active_live_locations: {\n type: 'SharedLocationResponseData',\n isSingle: false,\n },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.SingleFollowResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n follow: { type: 'FollowResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.StopLiveResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n call: { type: 'CallResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.StoriesFeedUpdatedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n\n activities: { type: 'ActivityResponse', isSingle: false },\n\n aggregated_activities: {\n type: 'AggregatedActivityResponse',\n isSingle: false,\n },\n\n user: { type: 'UserResponseCommonFields', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.SubmitActionResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n item: { type: 'ReviewQueueItemResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ThreadParticipant = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n last_read_at: { type: 'DatetimeType', isSingle: true },\n\n last_thread_message_at: { type: 'DatetimeType', isSingle: true },\n\n left_thread_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ThreadResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n last_message_at: { type: 'DatetimeType', isSingle: true },\n\n thread_participants: { type: 'ThreadParticipant', isSingle: false },\n\n channel: { type: 'ChannelResponse', isSingle: true },\n\n created_by: { type: 'UserResponse', isSingle: true },\n\n parent_message: { type: 'MessageResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ThreadStateResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n latest_replies: { type: 'MessageResponse', isSingle: false },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n last_message_at: { type: 'DatetimeType', isSingle: true },\n\n read: { type: 'ReadStateResponse', isSingle: false },\n\n thread_participants: { type: 'ThreadParticipant', isSingle: false },\n\n channel: { type: 'ChannelResponse', isSingle: true },\n\n created_by: { type: 'UserResponse', isSingle: true },\n\n draft: { type: 'DraftResponse', isSingle: true },\n\n parent_message: { type: 'MessageResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ThreadUpdatedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n thread: { type: 'ThreadResponse', isSingle: true },\n\n user: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ThreadedCommentResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n mentioned_users: { type: 'UserResponse', isSingle: false },\n\n own_reactions: { type: 'FeedsReactionResponse', isSingle: false },\n\n user: { type: 'UserResponse', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n latest_reactions: { type: 'FeedsReactionResponse', isSingle: false },\n\n replies: { type: 'ThreadedCommentResponse', isSingle: false },\n\n reaction_groups: { type: 'ReactionGroupResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.TruncateChannelResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n channel: { type: 'ChannelResponse', isSingle: true },\n\n message: { type: 'MessageResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UnblockedUserEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UnfollowBatchResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n follows: { type: 'FollowResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UnfollowResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n follow: { type: 'FollowResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UnpinActivityResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n activity: { type: 'ActivityResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UnreadCountsBatchResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n counts_by_user: { type: 'UnreadCountsResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UnreadCountsChannel = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n last_read: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UnreadCountsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n channels: { type: 'UnreadCountsChannel', isSingle: false },\n\n threads: { type: 'UnreadCountsThread', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UnreadCountsThread = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n last_read: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpdateActivityPartialResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n activity: { type: 'ActivityResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpdateActivityResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n activity: { type: 'ActivityResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpdateBlockListResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n blocklist: { type: 'BlockListResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpdateBookmarkFolderResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n bookmark_folder: { type: 'BookmarkFolderResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpdateBookmarkResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n bookmark: { type: 'BookmarkResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpdateCallMembersResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n members: { type: 'MemberResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpdateCallResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n members: { type: 'MemberResponse', isSingle: false },\n\n call: { type: 'CallResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpdateCallTypeResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpdateChannelPartialResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n members: { type: 'ChannelMemberResponse', isSingle: false },\n\n channel: { type: 'ChannelResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpdateChannelResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n members: { type: 'ChannelMemberResponse', isSingle: false },\n\n channel: { type: 'ChannelResponse', isSingle: true },\n\n message: { type: 'MessageResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpdateChannelTypeResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpdateCommandResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n command: { type: 'Command', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpdateCommentResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n comment: { type: 'CommentResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpdateFeedGroupResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n feed_group: { type: 'FeedGroupResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpdateFeedMembersResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n added: { type: 'FeedMemberResponse', isSingle: false },\n\n updated: { type: 'FeedMemberResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpdateFeedResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n feed: { type: 'FeedResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpdateFeedViewResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n feed_view: { type: 'FeedViewResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpdateFollowResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n follow: { type: 'FollowResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpdateMemberPartialResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n channel_member: { type: 'ChannelMemberResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpdateMembershipLevelResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n membership_level: { type: 'MembershipLevelResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpdateMessagePartialResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n message: { type: 'MessageResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpdateMessageResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n message: { type: 'MessageResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpdateReminderResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n reminder: { type: 'ReminderResponseData', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpdateThreadPartialResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n thread: { type: 'ThreadResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpdateUsersResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n users: { type: 'FullUserResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpdatedCallPermissionsEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpsertActivitiesResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n activities: { type: 'ActivityResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpsertConfigResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n config: { type: 'ConfigResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpsertModerationRuleResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n rule: { type: 'ModerationRuleV2Response', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpsertModerationTemplateResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpsertPushPreferencesResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n user_preferences: { type: 'PushPreferences', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpsertPushProviderResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n push_provider: { type: 'PushProviderResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpsertPushTemplateResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n template: { type: 'PushTemplate', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.User = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n ban_expires: { type: 'DatetimeType', isSingle: true },\n\n created_at: { type: 'DatetimeType', isSingle: true },\n\n deactivated_at: { type: 'DatetimeType', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n last_active: { type: 'DatetimeType', isSingle: true },\n\n last_engaged_at: { type: 'DatetimeType', isSingle: true },\n\n revoke_tokens_issued_before: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UserBannedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n created_by: { type: 'User', isSingle: true },\n\n expiration: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UserDeactivatedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n created_by: { type: 'User', isSingle: true },\n\n user: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UserDeletedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UserFlaggedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UserMessagesDeletedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponseCommonFields', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UserMute = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n expires: { type: 'DatetimeType', isSingle: true },\n\n target: { type: 'User', isSingle: true },\n\n user: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UserMuteResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n expires: { type: 'DatetimeType', isSingle: true },\n\n target: { type: 'UserResponse', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UserMutedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UserReactivatedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UserResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n ban_expires: { type: 'DatetimeType', isSingle: true },\n\n deactivated_at: { type: 'DatetimeType', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n last_active: { type: 'DatetimeType', isSingle: true },\n\n revoke_tokens_issued_before: { type: 'DatetimeType', isSingle: true },\n\n devices: { type: 'DeviceResponse', isSingle: false },\n\n push_notifications: {\n type: 'PushNotificationSettingsResponse',\n isSingle: true,\n },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UserResponseCommonFields = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n deactivated_at: { type: 'DatetimeType', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n last_active: { type: 'DatetimeType', isSingle: true },\n\n revoke_tokens_issued_before: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UserUnbannedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UserUnmutedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UserUnreadReminderEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UserUpdatedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.VideoReactionOverTimeResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n by_minute: { type: 'CountByMinuteResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.VideoReactionsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n count_over_time: { type: 'VideoReactionOverTimeResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.WSEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n channel_last_message_at: { type: 'DatetimeType', isSingle: true },\n\n channel: { type: 'ChannelResponse', isSingle: true },\n\n created_by: { type: 'UserResponse', isSingle: true },\n\n me: { type: 'OwnUserResponse', isSingle: true },\n\n member: { type: 'ChannelMemberResponse', isSingle: true },\n\n message: { type: 'MessageResponse', isSingle: true },\n\n poll: { type: 'PollResponseData', isSingle: true },\n\n poll_vote: { type: 'PollVoteResponseData', isSingle: true },\n\n reaction: { type: 'ReactionResponse', isSingle: true },\n\n thread: { type: 'ThreadResponse', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.WrappedUnreadCountsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n channels: { type: 'UnreadCountsChannel', isSingle: false },\n\n threads: { type: 'UnreadCountsThread', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n","import { ApiClient, StreamResponse } from '../../gen-imports';\nimport {\n BlockUsersRequest,\n BlockUsersResponse,\n CheckExternalStorageResponse,\n CheckPushRequest,\n CheckPushResponse,\n CheckSNSRequest,\n CheckSNSResponse,\n CheckSQSRequest,\n CheckSQSResponse,\n CreateBlockListRequest,\n CreateBlockListResponse,\n CreateDeviceRequest,\n CreateExternalStorageRequest,\n CreateExternalStorageResponse,\n CreateGuestRequest,\n CreateGuestResponse,\n CreateImportRequest,\n CreateImportResponse,\n CreateImportURLRequest,\n CreateImportURLResponse,\n CreatePollOptionRequest,\n CreatePollRequest,\n CreateRoleRequest,\n CreateRoleResponse,\n DeactivateUserRequest,\n DeactivateUserResponse,\n DeactivateUsersRequest,\n DeactivateUsersResponse,\n DeleteExternalStorageResponse,\n DeleteUsersRequest,\n DeleteUsersResponse,\n ExportUserResponse,\n ExportUsersRequest,\n ExportUsersResponse,\n FileUploadRequest,\n FileUploadResponse,\n GetApplicationResponse,\n GetBlockListResponse,\n GetBlockedUsersResponse,\n GetCustomPermissionResponse,\n GetImportResponse,\n GetOGResponse,\n GetPushTemplatesResponse,\n GetRateLimitsResponse,\n GetTaskResponse,\n ImageUploadRequest,\n ImageUploadResponse,\n ListBlockListResponse,\n ListDevicesResponse,\n ListExternalStorageResponse,\n ListImportsResponse,\n ListPermissionsResponse,\n ListPushProvidersResponse,\n ListRolesResponse,\n PollOptionResponse,\n PollResponse,\n PollVotesResponse,\n QueryPollVotesRequest,\n QueryPollsRequest,\n QueryPollsResponse,\n QueryUsersPayload,\n QueryUsersResponse,\n ReactivateUserRequest,\n ReactivateUserResponse,\n ReactivateUsersRequest,\n ReactivateUsersResponse,\n Response,\n RestoreUsersRequest,\n SharedLocationResponse,\n SharedLocationsResponse,\n UnblockUsersRequest,\n UnblockUsersResponse,\n UpdateAppRequest,\n UpdateBlockListRequest,\n UpdateBlockListResponse,\n UpdateExternalStorageRequest,\n UpdateExternalStorageResponse,\n UpdateLiveLocationRequest,\n UpdatePollOptionRequest,\n UpdatePollPartialRequest,\n UpdatePollRequest,\n UpdateUsersPartialRequest,\n UpdateUsersRequest,\n UpdateUsersResponse,\n UpsertPushPreferencesRequest,\n UpsertPushPreferencesResponse,\n UpsertPushProviderRequest,\n UpsertPushProviderResponse,\n UpsertPushTemplateRequest,\n UpsertPushTemplateResponse,\n} from '../models';\nimport { decoders } from '../model-decoders/decoders';\n\nexport class CommonApi {\n constructor(public readonly apiClient: ApiClient) {}\n\n async getApp(): Promise<StreamResponse<GetApplicationResponse>> {\n const response = await this.apiClient.sendRequest<\n StreamResponse<GetApplicationResponse>\n >('GET', '/api/v2/app', undefined, undefined);\n\n decoders.GetApplicationResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async updateApp(\n request?: UpdateAppRequest,\n ): Promise<StreamResponse<Response>> {\n const body = {\n async_url_enrich_enabled: request?.async_url_enrich_enabled,\n auto_translation_enabled: request?.auto_translation_enabled,\n before_message_send_hook_url: request?.before_message_send_hook_url,\n cdn_expiration_seconds: request?.cdn_expiration_seconds,\n channel_hide_members_only: request?.channel_hide_members_only,\n custom_action_handler_url: request?.custom_action_handler_url,\n disable_auth_checks: request?.disable_auth_checks,\n disable_permissions_checks: request?.disable_permissions_checks,\n enforce_unique_usernames: request?.enforce_unique_usernames,\n feeds_moderation_enabled: request?.feeds_moderation_enabled,\n feeds_v2_region: request?.feeds_v2_region,\n guest_user_creation_disabled: request?.guest_user_creation_disabled,\n image_moderation_enabled: request?.image_moderation_enabled,\n max_aggregated_activities_length:\n request?.max_aggregated_activities_length,\n migrate_permissions_to_v2: request?.migrate_permissions_to_v2,\n moderation_enabled: request?.moderation_enabled,\n moderation_webhook_url: request?.moderation_webhook_url,\n multi_tenant_enabled: request?.multi_tenant_enabled,\n permission_version: request?.permission_version,\n reminders_interval: request?.reminders_interval,\n reminders_max_members: request?.reminders_max_members,\n revoke_tokens_issued_before: request?.revoke_tokens_issued_before,\n sns_key: request?.sns_key,\n sns_secret: request?.sns_secret,\n sns_topic_arn: request?.sns_topic_arn,\n sqs_key: request?.sqs_key,\n sqs_secret: request?.sqs_secret,\n sqs_url: request?.sqs_url,\n user_response_time_enabled: request?.user_response_time_enabled,\n webhook_url: request?.webhook_url,\n allowed_flag_reasons: request?.allowed_flag_reasons,\n event_hooks: request?.event_hooks,\n image_moderation_block_labels: request?.image_moderation_block_labels,\n image_moderation_labels: request?.image_moderation_labels,\n user_search_disallowed_roles: request?.user_search_disallowed_roles,\n webhook_events: request?.webhook_events,\n apn_config: request?.apn_config,\n async_moderation_config: request?.async_moderation_config,\n datadog_info: request?.datadog_info,\n file_upload_config: request?.file_upload_config,\n firebase_config: request?.firebase_config,\n grants: request?.grants,\n huawei_config: request?.huawei_config,\n image_upload_config: request?.image_upload_config,\n moderation_dashboard_preferences:\n request?.moderation_dashboard_preferences,\n push_config: request?.push_config,\n xiaomi_config: request?.xiaomi_config,\n };\n\n const response = await this.apiClient.sendRequest<StreamResponse<Response>>(\n 'PATCH',\n '/api/v2/app',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async listBlockLists(request?: {\n team?: string;\n }): Promise<StreamResponse<ListBlockListResponse>> {\n const queryParams = {\n team: request?.team,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<ListBlockListResponse>\n >('GET', '/api/v2/blocklists', undefined, queryParams);\n\n decoders.ListBlockListResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async createBlockList(\n request: CreateBlockListRequest,\n ): Promise<StreamResponse<CreateBlockListResponse>> {\n const body = {\n name: request?.name,\n words: request?.words,\n is_leet_check_enabled: request?.is_leet_check_enabled,\n is_plural_check_enabled: request?.is_plural_check_enabled,\n team: request?.team,\n type: request?.type,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<CreateBlockListResponse>\n >(\n 'POST',\n '/api/v2/blocklists',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.CreateBlockListResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deleteBlockList(request: {\n name: string;\n team?: string;\n }): Promise<StreamResponse<Response>> {\n const queryParams = {\n team: request?.team,\n };\n const pathParams = {\n name: request?.name,\n };\n\n const response = await this.apiClient.sendRequest<StreamResponse<Response>>(\n 'DELETE',\n '/api/v2/blocklists/{name}',\n pathParams,\n queryParams,\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getBlockList(request: {\n name: string;\n team?: string;\n }): Promise<StreamResponse<GetBlockListResponse>> {\n const queryParams = {\n team: request?.team,\n };\n const pathParams = {\n name: request?.name,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<GetBlockListResponse>\n >('GET', '/api/v2/blocklists/{name}', pathParams, queryParams);\n\n decoders.GetBlockListResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async updateBlockList(\n request: UpdateBlockListRequest & { name: string },\n ): Promise<StreamResponse<UpdateBlockListResponse>> {\n const pathParams = {\n name: request?.name,\n };\n const body = {\n is_leet_check_enabled: request?.is_leet_check_enabled,\n is_plural_check_enabled: request?.is_plural_check_enabled,\n team: request?.team,\n words: request?.words,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UpdateBlockListResponse>\n >(\n 'PUT',\n '/api/v2/blocklists/{name}',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UpdateBlockListResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async checkPush(\n request?: CheckPushRequest,\n ): Promise<StreamResponse<CheckPushResponse>> {\n const body = {\n apn_template: request?.apn_template,\n event_type: request?.event_type,\n firebase_data_template: request?.firebase_data_template,\n firebase_template: request?.firebase_template,\n message_id: request?.message_id,\n push_provider_name: request?.push_provider_name,\n push_provider_type: request?.push_provider_type,\n skip_devices: request?.skip_devices,\n user_id: request?.user_id,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<CheckPushResponse>\n >(\n 'POST',\n '/api/v2/check_push',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.CheckPushResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async checkSNS(\n request?: CheckSNSRequest,\n ): Promise<StreamResponse<CheckSNSResponse>> {\n const body = {\n sns_key: request?.sns_key,\n sns_secret: request?.sns_secret,\n sns_topic_arn: request?.sns_topic_arn,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<CheckSNSResponse>\n >(\n 'POST',\n '/api/v2/check_sns',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.CheckSNSResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async checkSQS(\n request?: CheckSQSRequest,\n ): Promise<StreamResponse<CheckSQSResponse>> {\n const body = {\n sqs_key: request?.sqs_key,\n sqs_secret: request?.sqs_secret,\n sqs_url: request?.sqs_url,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<CheckSQSResponse>\n >(\n 'POST',\n '/api/v2/check_sqs',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.CheckSQSResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deleteDevice(request: {\n id: string;\n user_id?: string;\n }): Promise<StreamResponse<Response>> {\n const queryParams = {\n id: request?.id,\n user_id: request?.user_id,\n };\n\n const response = await this.apiClient.sendRequest<StreamResponse<Response>>(\n 'DELETE',\n '/api/v2/devices',\n undefined,\n queryParams,\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async listDevices(request?: {\n user_id?: string;\n }): Promise<StreamResponse<ListDevicesResponse>> {\n const queryParams = {\n user_id: request?.user_id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<ListDevicesResponse>\n >('GET', '/api/v2/devices', undefined, queryParams);\n\n decoders.ListDevicesResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async createDevice(\n request: CreateDeviceRequest,\n ): Promise<StreamResponse<Response>> {\n const body = {\n id: request?.id,\n push_provider: request?.push_provider,\n push_provider_name: request?.push_provider_name,\n user_id: request?.user_id,\n voip_token: request?.voip_token,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<StreamResponse<Response>>(\n 'POST',\n '/api/v2/devices',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async exportUsers(\n request: ExportUsersRequest,\n ): Promise<StreamResponse<ExportUsersResponse>> {\n const body = {\n user_ids: request?.user_ids,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<ExportUsersResponse>\n >(\n 'POST',\n '/api/v2/export/users',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.ExportUsersResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async listExternalStorage(): Promise<\n StreamResponse<ListExternalStorageResponse>\n > {\n const response = await this.apiClient.sendRequest<\n StreamResponse<ListExternalStorageResponse>\n >('GET', '/api/v2/external_storage', undefined, undefined);\n\n decoders.ListExternalStorageResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async createExternalStorage(\n request: CreateExternalStorageRequest,\n ): Promise<StreamResponse<CreateExternalStorageResponse>> {\n const body = {\n bucket: request?.bucket,\n name: request?.name,\n storage_type: request?.storage_type,\n gcs_credentials: request?.gcs_credentials,\n path: request?.path,\n aws_s3: request?.aws_s3,\n azure_blob: request?.azure_blob,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<CreateExternalStorageResponse>\n >(\n 'POST',\n '/api/v2/external_storage',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.CreateExternalStorageResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deleteExternalStorage(request: {\n name: string;\n }): Promise<StreamResponse<DeleteExternalStorageResponse>> {\n const pathParams = {\n name: request?.name,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<DeleteExternalStorageResponse>\n >('DELETE', '/api/v2/external_storage/{name}', pathParams, undefined);\n\n decoders.DeleteExternalStorageResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async updateExternalStorage(\n request: UpdateExternalStorageRequest & { name: string },\n ): Promise<StreamResponse<UpdateExternalStorageResponse>> {\n const pathParams = {\n name: request?.name,\n };\n const body = {\n bucket: request?.bucket,\n storage_type: request?.storage_type,\n gcs_credentials: request?.gcs_credentials,\n path: request?.path,\n aws_s3: request?.aws_s3,\n azure_blob: request?.azure_blob,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UpdateExternalStorageResponse>\n >(\n 'PUT',\n '/api/v2/external_storage/{name}',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UpdateExternalStorageResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async checkExternalStorage(request: {\n name: string;\n }): Promise<StreamResponse<CheckExternalStorageResponse>> {\n const pathParams = {\n name: request?.name,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<CheckExternalStorageResponse>\n >('GET', '/api/v2/external_storage/{name}/check', pathParams, undefined);\n\n decoders.CheckExternalStorageResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async createGuest(\n request: CreateGuestRequest,\n ): Promise<StreamResponse<CreateGuestResponse>> {\n const body = {\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<CreateGuestResponse>\n >('POST', '/api/v2/guest', undefined, undefined, body, 'application/json');\n\n decoders.CreateGuestResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async createImportURL(\n request?: CreateImportURLRequest,\n ): Promise<StreamResponse<CreateImportURLResponse>> {\n const body = {\n filename: request?.filename,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<CreateImportURLResponse>\n >(\n 'POST',\n '/api/v2/import_urls',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.CreateImportURLResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async listImports(): Promise<StreamResponse<ListImportsResponse>> {\n const response = await this.apiClient.sendRequest<\n StreamResponse<ListImportsResponse>\n >('GET', '/api/v2/imports', undefined, undefined);\n\n decoders.ListImportsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async createImport(\n request: CreateImportRequest,\n ): Promise<StreamResponse<CreateImportResponse>> {\n const body = {\n mode: request?.mode,\n path: request?.path,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<CreateImportResponse>\n >(\n 'POST',\n '/api/v2/imports',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.CreateImportResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getImport(request: {\n id: string;\n }): Promise<StreamResponse<GetImportResponse>> {\n const pathParams = {\n id: request?.id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<GetImportResponse>\n >('GET', '/api/v2/imports/{id}', pathParams, undefined);\n\n decoders.GetImportResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getOG(request: {\n url: string;\n }): Promise<StreamResponse<GetOGResponse>> {\n const queryParams = {\n url: request?.url,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<GetOGResponse>\n >('GET', '/api/v2/og', undefined, queryParams);\n\n decoders.GetOGResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async listPermissions(): Promise<StreamResponse<ListPermissionsResponse>> {\n const response = await this.apiClient.sendRequest<\n StreamResponse<ListPermissionsResponse>\n >('GET', '/api/v2/permissions', undefined, undefined);\n\n decoders.ListPermissionsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getPermission(request: {\n id: string;\n }): Promise<StreamResponse<GetCustomPermissionResponse>> {\n const pathParams = {\n id: request?.id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<GetCustomPermissionResponse>\n >('GET', '/api/v2/permissions/{id}', pathParams, undefined);\n\n decoders.GetCustomPermissionResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async createPoll(\n request: CreatePollRequest,\n ): Promise<StreamResponse<PollResponse>> {\n const body = {\n name: request?.name,\n allow_answers: request?.allow_answers,\n allow_user_suggested_options: request?.allow_user_suggested_options,\n description: request?.description,\n enforce_unique_vote: request?.enforce_unique_vote,\n id: request?.id,\n is_closed: request?.is_closed,\n max_votes_allowed: request?.max_votes_allowed,\n user_id: request?.user_id,\n voting_visibility: request?.voting_visibility,\n options: request?.options,\n custom: request?.custom,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<PollResponse>\n >('POST', '/api/v2/polls', undefined, undefined, body, 'application/json');\n\n decoders.PollResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async updatePoll(\n request: UpdatePollRequest,\n ): Promise<StreamResponse<PollResponse>> {\n const body = {\n id: request?.id,\n name: request?.name,\n allow_answers: request?.allow_answers,\n allow_user_suggested_options: request?.allow_user_suggested_options,\n description: request?.description,\n enforce_unique_vote: request?.enforce_unique_vote,\n is_closed: request?.is_closed,\n max_votes_allowed: request?.max_votes_allowed,\n user_id: request?.user_id,\n voting_visibility: request?.voting_visibility,\n options: request?.options,\n custom: request?.custom,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<PollResponse>\n >('PUT', '/api/v2/polls', undefined, undefined, body, 'application/json');\n\n decoders.PollResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async queryPolls(\n request?: QueryPollsRequest & { user_id?: string },\n ): Promise<StreamResponse<QueryPollsResponse>> {\n const queryParams = {\n user_id: request?.user_id,\n };\n const body = {\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n sort: request?.sort,\n filter: request?.filter,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<QueryPollsResponse>\n >(\n 'POST',\n '/api/v2/polls/query',\n undefined,\n queryParams,\n body,\n 'application/json',\n );\n\n decoders.QueryPollsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deletePoll(request: {\n poll_id: string;\n user_id?: string;\n }): Promise<StreamResponse<Response>> {\n const queryParams = {\n user_id: request?.user_id,\n };\n const pathParams = {\n poll_id: request?.poll_id,\n };\n\n const response = await this.apiClient.sendRequest<StreamResponse<Response>>(\n 'DELETE',\n '/api/v2/polls/{poll_id}',\n pathParams,\n queryParams,\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getPoll(request: {\n poll_id: string;\n user_id?: string;\n }): Promise<StreamResponse<PollResponse>> {\n const queryParams = {\n user_id: request?.user_id,\n };\n const pathParams = {\n poll_id: request?.poll_id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<PollResponse>\n >('GET', '/api/v2/polls/{poll_id}', pathParams, queryParams);\n\n decoders.PollResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async updatePollPartial(\n request: UpdatePollPartialRequest & { poll_id: string },\n ): Promise<StreamResponse<PollResponse>> {\n const pathParams = {\n poll_id: request?.poll_id,\n };\n const body = {\n user_id: request?.user_id,\n unset: request?.unset,\n set: request?.set,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<PollResponse>\n >(\n 'PATCH',\n '/api/v2/polls/{poll_id}',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.PollResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async createPollOption(\n request: CreatePollOptionRequest & { poll_id: string },\n ): Promise<StreamResponse<PollOptionResponse>> {\n const pathParams = {\n poll_id: request?.poll_id,\n };\n const body = {\n text: request?.text,\n user_id: request?.user_id,\n custom: request?.custom,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<PollOptionResponse>\n >(\n 'POST',\n '/api/v2/polls/{poll_id}/options',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.PollOptionResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async updatePollOption(\n request: UpdatePollOptionRequest & { poll_id: string },\n ): Promise<StreamResponse<PollOptionResponse>> {\n const pathParams = {\n poll_id: request?.poll_id,\n };\n const body = {\n id: request?.id,\n text: request?.text,\n user_id: request?.user_id,\n custom: request?.custom,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<PollOptionResponse>\n >(\n 'PUT',\n '/api/v2/polls/{poll_id}/options',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.PollOptionResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deletePollOption(request: {\n poll_id: string;\n option_id: string;\n user_id?: string;\n }): Promise<StreamResponse<Response>> {\n const queryParams = {\n user_id: request?.user_id,\n };\n const pathParams = {\n poll_id: request?.poll_id,\n option_id: request?.option_id,\n };\n\n const response = await this.apiClient.sendRequest<StreamResponse<Response>>(\n 'DELETE',\n '/api/v2/polls/{poll_id}/options/{option_id}',\n pathParams,\n queryParams,\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getPollOption(request: {\n poll_id: string;\n option_id: string;\n user_id?: string;\n }): Promise<StreamResponse<PollOptionResponse>> {\n const queryParams = {\n user_id: request?.user_id,\n };\n const pathParams = {\n poll_id: request?.poll_id,\n option_id: request?.option_id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<PollOptionResponse>\n >(\n 'GET',\n '/api/v2/polls/{poll_id}/options/{option_id}',\n pathParams,\n queryParams,\n );\n\n decoders.PollOptionResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async queryPollVotes(\n request: QueryPollVotesRequest & { poll_id: string; user_id?: string },\n ): Promise<StreamResponse<PollVotesResponse>> {\n const queryParams = {\n user_id: request?.user_id,\n };\n const pathParams = {\n poll_id: request?.poll_id,\n };\n const body = {\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n sort: request?.sort,\n filter: request?.filter,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<PollVotesResponse>\n >(\n 'POST',\n '/api/v2/polls/{poll_id}/votes',\n pathParams,\n queryParams,\n body,\n 'application/json',\n );\n\n decoders.PollVotesResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async updatePushNotificationPreferences(\n request: UpsertPushPreferencesRequest,\n ): Promise<StreamResponse<UpsertPushPreferencesResponse>> {\n const body = {\n preferences: request?.preferences,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UpsertPushPreferencesResponse>\n >(\n 'POST',\n '/api/v2/push_preferences',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UpsertPushPreferencesResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async listPushProviders(): Promise<\n StreamResponse<ListPushProvidersResponse>\n > {\n const response = await this.apiClient.sendRequest<\n StreamResponse<ListPushProvidersResponse>\n >('GET', '/api/v2/push_providers', undefined, undefined);\n\n decoders.ListPushProvidersResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async upsertPushProvider(\n request?: UpsertPushProviderRequest,\n ): Promise<StreamResponse<UpsertPushProviderResponse>> {\n const body = {\n push_provider: request?.push_provider,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UpsertPushProviderResponse>\n >(\n 'POST',\n '/api/v2/push_providers',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UpsertPushProviderResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deletePushProvider(request: {\n type: string;\n name: string;\n }): Promise<StreamResponse<Response>> {\n const pathParams = {\n type: request?.type,\n name: request?.name,\n };\n\n const response = await this.apiClient.sendRequest<StreamResponse<Response>>(\n 'DELETE',\n '/api/v2/push_providers/{type}/{name}',\n pathParams,\n undefined,\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getPushTemplates(request: {\n push_provider_type: string;\n push_provider_name?: string;\n }): Promise<StreamResponse<GetPushTemplatesResponse>> {\n const queryParams = {\n push_provider_type: request?.push_provider_type,\n push_provider_name: request?.push_provider_name,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<GetPushTemplatesResponse>\n >('GET', '/api/v2/push_templates', undefined, queryParams);\n\n decoders.GetPushTemplatesResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async upsertPushTemplate(\n request: UpsertPushTemplateRequest,\n ): Promise<StreamResponse<UpsertPushTemplateResponse>> {\n const body = {\n event_type: request?.event_type,\n push_provider_type: request?.push_provider_type,\n enable_push: request?.enable_push,\n push_provider_name: request?.push_provider_name,\n template: request?.template,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UpsertPushTemplateResponse>\n >(\n 'POST',\n '/api/v2/push_templates',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UpsertPushTemplateResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getRateLimits(request?: {\n server_side?: boolean;\n android?: boolean;\n ios?: boolean;\n web?: boolean;\n endpoints?: string;\n }): Promise<StreamResponse<GetRateLimitsResponse>> {\n const queryParams = {\n server_side: request?.server_side,\n android: request?.android,\n ios: request?.ios,\n web: request?.web,\n endpoints: request?.endpoints,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<GetRateLimitsResponse>\n >('GET', '/api/v2/rate_limits', undefined, queryParams);\n\n decoders.GetRateLimitsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async listRoles(): Promise<StreamResponse<ListRolesResponse>> {\n const response = await this.apiClient.sendRequest<\n StreamResponse<ListRolesResponse>\n >('GET', '/api/v2/roles', undefined, undefined);\n\n decoders.ListRolesResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async createRole(\n request: CreateRoleRequest,\n ): Promise<StreamResponse<CreateRoleResponse>> {\n const body = {\n name: request?.name,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<CreateRoleResponse>\n >('POST', '/api/v2/roles', undefined, undefined, body, 'application/json');\n\n decoders.CreateRoleResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deleteRole(request: {\n name: string;\n }): Promise<StreamResponse<Response>> {\n const pathParams = {\n name: request?.name,\n };\n\n const response = await this.apiClient.sendRequest<StreamResponse<Response>>(\n 'DELETE',\n '/api/v2/roles/{name}',\n pathParams,\n undefined,\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getTask(request: {\n id: string;\n }): Promise<StreamResponse<GetTaskResponse>> {\n const pathParams = {\n id: request?.id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<GetTaskResponse>\n >('GET', '/api/v2/tasks/{id}', pathParams, undefined);\n\n decoders.GetTaskResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deleteFile(request?: {\n url?: string;\n }): Promise<StreamResponse<Response>> {\n const queryParams = {\n url: request?.url,\n };\n\n const response = await this.apiClient.sendRequest<StreamResponse<Response>>(\n 'DELETE',\n '/api/v2/uploads/file',\n undefined,\n queryParams,\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async uploadFile(\n request?: FileUploadRequest,\n ): Promise<StreamResponse<FileUploadResponse>> {\n const body = {\n file: request?.file,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<FileUploadResponse>\n >(\n 'POST',\n '/api/v2/uploads/file',\n undefined,\n undefined,\n body,\n 'multipart/form-data',\n );\n\n decoders.FileUploadResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deleteImage(request?: {\n url?: string;\n }): Promise<StreamResponse<Response>> {\n const queryParams = {\n url: request?.url,\n };\n\n const response = await this.apiClient.sendRequest<StreamResponse<Response>>(\n 'DELETE',\n '/api/v2/uploads/image',\n undefined,\n queryParams,\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async uploadImage(\n request?: ImageUploadRequest,\n ): Promise<StreamResponse<ImageUploadResponse>> {\n const body = {\n file: request?.file,\n upload_sizes: request?.upload_sizes,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<ImageUploadResponse>\n >(\n 'POST',\n '/api/v2/uploads/image',\n undefined,\n undefined,\n body,\n 'multipart/form-data',\n );\n\n decoders.ImageUploadResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async queryUsers(request?: {\n payload?: QueryUsersPayload;\n }): Promise<StreamResponse<QueryUsersResponse>> {\n const queryParams = {\n payload: request?.payload,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<QueryUsersResponse>\n >('GET', '/api/v2/users', undefined, queryParams);\n\n decoders.QueryUsersResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async updateUsersPartial(\n request: UpdateUsersPartialRequest,\n ): Promise<StreamResponse<UpdateUsersResponse>> {\n const body = {\n users: request?.users,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UpdateUsersResponse>\n >('PATCH', '/api/v2/users', undefined, undefined, body, 'application/json');\n\n decoders.UpdateUsersResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async updateUsers(\n request: UpdateUsersRequest,\n ): Promise<StreamResponse<UpdateUsersResponse>> {\n const body = {\n users: request?.users,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UpdateUsersResponse>\n >('POST', '/api/v2/users', undefined, undefined, body, 'application/json');\n\n decoders.UpdateUsersResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getBlockedUsers(request?: {\n user_id?: string;\n }): Promise<StreamResponse<GetBlockedUsersResponse>> {\n const queryParams = {\n user_id: request?.user_id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<GetBlockedUsersResponse>\n >('GET', '/api/v2/users/block', undefined, queryParams);\n\n decoders.GetBlockedUsersResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async blockUsers(\n request: BlockUsersRequest,\n ): Promise<StreamResponse<BlockUsersResponse>> {\n const body = {\n blocked_user_id: request?.blocked_user_id,\n user_id: request?.user_id,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<BlockUsersResponse>\n >(\n 'POST',\n '/api/v2/users/block',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.BlockUsersResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deactivateUsers(\n request: DeactivateUsersRequest,\n ): Promise<StreamResponse<DeactivateUsersResponse>> {\n const body = {\n user_ids: request?.user_ids,\n created_by_id: request?.created_by_id,\n mark_channels_deleted: request?.mark_channels_deleted,\n mark_messages_deleted: request?.mark_messages_deleted,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<DeactivateUsersResponse>\n >(\n 'POST',\n '/api/v2/users/deactivate',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.DeactivateUsersResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deleteUsers(\n request: DeleteUsersRequest,\n ): Promise<StreamResponse<DeleteUsersResponse>> {\n const body = {\n user_ids: request?.user_ids,\n calls: request?.calls,\n conversations: request?.conversations,\n files: request?.files,\n messages: request?.messages,\n new_call_owner_id: request?.new_call_owner_id,\n new_channel_owner_id: request?.new_channel_owner_id,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<DeleteUsersResponse>\n >(\n 'POST',\n '/api/v2/users/delete',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.DeleteUsersResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getUserLiveLocations(request?: {\n user_id?: string;\n }): Promise<StreamResponse<SharedLocationsResponse>> {\n const queryParams = {\n user_id: request?.user_id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<SharedLocationsResponse>\n >('GET', '/api/v2/users/live_locations', undefined, queryParams);\n\n decoders.SharedLocationsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async updateLiveLocation(\n request: UpdateLiveLocationRequest & { user_id?: string },\n ): Promise<StreamResponse<SharedLocationResponse>> {\n const queryParams = {\n user_id: request?.user_id,\n };\n const body = {\n message_id: request?.message_id,\n end_at: request?.end_at,\n latitude: request?.latitude,\n longitude: request?.longitude,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<SharedLocationResponse>\n >(\n 'PUT',\n '/api/v2/users/live_locations',\n undefined,\n queryParams,\n body,\n 'application/json',\n );\n\n decoders.SharedLocationResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async reactivateUsers(\n request: ReactivateUsersRequest,\n ): Promise<StreamResponse<ReactivateUsersResponse>> {\n const body = {\n user_ids: request?.user_ids,\n created_by_id: request?.created_by_id,\n restore_channels: request?.restore_channels,\n restore_messages: request?.restore_messages,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<ReactivateUsersResponse>\n >(\n 'POST',\n '/api/v2/users/reactivate',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.ReactivateUsersResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async restoreUsers(\n request: RestoreUsersRequest,\n ): Promise<StreamResponse<Response>> {\n const body = {\n user_ids: request?.user_ids,\n };\n\n const response = await this.apiClient.sendRequest<StreamResponse<Response>>(\n 'POST',\n '/api/v2/users/restore',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async unblockUsers(\n request: UnblockUsersRequest,\n ): Promise<StreamResponse<UnblockUsersResponse>> {\n const body = {\n blocked_user_id: request?.blocked_user_id,\n user_id: request?.user_id,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UnblockUsersResponse>\n >(\n 'POST',\n '/api/v2/users/unblock',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UnblockUsersResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deactivateUser(\n request: DeactivateUserRequest & { user_id: string },\n ): Promise<StreamResponse<DeactivateUserResponse>> {\n const pathParams = {\n user_id: request?.user_id,\n };\n const body = {\n created_by_id: request?.created_by_id,\n mark_messages_deleted: request?.mark_messages_deleted,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<DeactivateUserResponse>\n >(\n 'POST',\n '/api/v2/users/{user_id}/deactivate',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.DeactivateUserResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async exportUser(request: {\n user_id: string;\n }): Promise<StreamResponse<ExportUserResponse>> {\n const pathParams = {\n user_id: request?.user_id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<ExportUserResponse>\n >('GET', '/api/v2/users/{user_id}/export', pathParams, undefined);\n\n decoders.ExportUserResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async reactivateUser(\n request: ReactivateUserRequest & { user_id: string },\n ): Promise<StreamResponse<ReactivateUserResponse>> {\n const pathParams = {\n user_id: request?.user_id,\n };\n const body = {\n created_by_id: request?.created_by_id,\n name: request?.name,\n restore_messages: request?.restore_messages,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<ReactivateUserResponse>\n >(\n 'POST',\n '/api/v2/users/{user_id}/reactivate',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.ReactivateUserResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n}\n","import { ApiClient, StreamResponse } from '../../gen-imports';\nimport {\n BlockUserRequest,\n BlockUserResponse,\n CollectUserFeedbackRequest,\n CollectUserFeedbackResponse,\n CreateCallTypeRequest,\n CreateCallTypeResponse,\n DeleteCallRequest,\n DeleteCallResponse,\n DeleteRecordingResponse,\n DeleteTranscriptionResponse,\n EndCallResponse,\n GetActiveCallsStatusResponse,\n GetCallReportResponse,\n GetCallResponse,\n GetCallSessionParticipantStatsDetailsResponse,\n GetCallTypeResponse,\n GetEdgesResponse,\n GetOrCreateCallRequest,\n GetOrCreateCallResponse,\n GoLiveRequest,\n GoLiveResponse,\n KickUserRequest,\n KickUserResponse,\n ListCallTypeResponse,\n ListRecordingsResponse,\n ListTranscriptionsResponse,\n MuteUsersRequest,\n MuteUsersResponse,\n PinRequest,\n PinResponse,\n QueryAggregateCallStatsRequest,\n QueryAggregateCallStatsResponse,\n QueryCallMembersRequest,\n QueryCallMembersResponse,\n QueryCallParticipantsRequest,\n QueryCallParticipantsResponse,\n QueryCallSessionParticipantStatsResponse,\n QueryCallSessionParticipantStatsTimelineResponse,\n QueryCallStatsRequest,\n QueryCallStatsResponse,\n QueryCallsRequest,\n QueryCallsResponse,\n QueryUserFeedbackRequest,\n QueryUserFeedbackResponse,\n Response,\n SendCallEventRequest,\n SendCallEventResponse,\n SendClosedCaptionRequest,\n SendClosedCaptionResponse,\n SortParamRequest,\n StartClosedCaptionsRequest,\n StartClosedCaptionsResponse,\n StartFrameRecordingRequest,\n StartFrameRecordingResponse,\n StartHLSBroadcastingResponse,\n StartRTMPBroadcastsRequest,\n StartRTMPBroadcastsResponse,\n StartRecordingRequest,\n StartRecordingResponse,\n StartTranscriptionRequest,\n StartTranscriptionResponse,\n StopAllRTMPBroadcastsResponse,\n StopClosedCaptionsRequest,\n StopClosedCaptionsResponse,\n StopFrameRecordingResponse,\n StopHLSBroadcastingResponse,\n StopLiveRequest,\n StopLiveResponse,\n StopRTMPBroadcastsRequest,\n StopRTMPBroadcastsResponse,\n StopRecordingResponse,\n StopTranscriptionRequest,\n StopTranscriptionResponse,\n UnblockUserRequest,\n UnblockUserResponse,\n UnpinRequest,\n UnpinResponse,\n UpdateCallMembersRequest,\n UpdateCallMembersResponse,\n UpdateCallRequest,\n UpdateCallResponse,\n UpdateCallTypeRequest,\n UpdateCallTypeResponse,\n UpdateUserPermissionsRequest,\n UpdateUserPermissionsResponse,\n} from '../models';\nimport { decoders } from '../model-decoders/decoders';\n\nexport class VideoApi {\n constructor(public readonly apiClient: ApiClient) {}\n\n async getActiveCallsStatus(): Promise<\n StreamResponse<GetActiveCallsStatusResponse>\n > {\n const response = await this.apiClient.sendRequest<\n StreamResponse<GetActiveCallsStatusResponse>\n >('GET', '/api/v2/video/active_calls_status', undefined, undefined);\n\n decoders.GetActiveCallsStatusResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async queryUserFeedback(\n request?: QueryUserFeedbackRequest & { full?: boolean },\n ): Promise<StreamResponse<QueryUserFeedbackResponse>> {\n const queryParams = {\n full: request?.full,\n };\n const body = {\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n sort: request?.sort,\n filter_conditions: request?.filter_conditions,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<QueryUserFeedbackResponse>\n >(\n 'POST',\n '/api/v2/video/call/feedback',\n undefined,\n queryParams,\n body,\n 'application/json',\n );\n\n decoders.QueryUserFeedbackResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async queryCallMembers(\n request: QueryCallMembersRequest,\n ): Promise<StreamResponse<QueryCallMembersResponse>> {\n const body = {\n id: request?.id,\n type: request?.type,\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n sort: request?.sort,\n filter_conditions: request?.filter_conditions,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<QueryCallMembersResponse>\n >(\n 'POST',\n '/api/v2/video/call/members',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.QueryCallMembersResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async queryCallStats(\n request?: QueryCallStatsRequest,\n ): Promise<StreamResponse<QueryCallStatsResponse>> {\n const body = {\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n sort: request?.sort,\n filter_conditions: request?.filter_conditions,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<QueryCallStatsResponse>\n >(\n 'POST',\n '/api/v2/video/call/stats',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.QueryCallStatsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getCall(request: {\n type: string;\n id: string;\n members_limit?: number;\n ring?: boolean;\n notify?: boolean;\n video?: boolean;\n }): Promise<StreamResponse<GetCallResponse>> {\n const queryParams = {\n members_limit: request?.members_limit,\n ring: request?.ring,\n notify: request?.notify,\n video: request?.video,\n };\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<GetCallResponse>\n >('GET', '/api/v2/video/call/{type}/{id}', pathParams, queryParams);\n\n decoders.GetCallResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async updateCall(\n request: UpdateCallRequest & { type: string; id: string },\n ): Promise<StreamResponse<UpdateCallResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n starts_at: request?.starts_at,\n custom: request?.custom,\n settings_override: request?.settings_override,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UpdateCallResponse>\n >(\n 'PATCH',\n '/api/v2/video/call/{type}/{id}',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UpdateCallResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getOrCreateCall(\n request: GetOrCreateCallRequest & { type: string; id: string },\n ): Promise<StreamResponse<GetOrCreateCallResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n members_limit: request?.members_limit,\n notify: request?.notify,\n ring: request?.ring,\n video: request?.video,\n data: request?.data,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<GetOrCreateCallResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.GetOrCreateCallResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async blockUser(\n request: BlockUserRequest & { type: string; id: string },\n ): Promise<StreamResponse<BlockUserResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n user_id: request?.user_id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<BlockUserResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/block',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.BlockUserResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async sendClosedCaption(\n request: SendClosedCaptionRequest & { type: string; id: string },\n ): Promise<StreamResponse<SendClosedCaptionResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n speaker_id: request?.speaker_id,\n text: request?.text,\n end_time: request?.end_time,\n language: request?.language,\n service: request?.service,\n start_time: request?.start_time,\n translated: request?.translated,\n user_id: request?.user_id,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<SendClosedCaptionResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/closed_captions',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.SendClosedCaptionResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deleteCall(\n request: DeleteCallRequest & { type: string; id: string },\n ): Promise<StreamResponse<DeleteCallResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n hard: request?.hard,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<DeleteCallResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/delete',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.DeleteCallResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async sendCallEvent(\n request: SendCallEventRequest & { type: string; id: string },\n ): Promise<StreamResponse<SendCallEventResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n user_id: request?.user_id,\n custom: request?.custom,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<SendCallEventResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/event',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.SendCallEventResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async collectUserFeedback(\n request: CollectUserFeedbackRequest & { type: string; id: string },\n ): Promise<StreamResponse<CollectUserFeedbackResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n rating: request?.rating,\n sdk: request?.sdk,\n sdk_version: request?.sdk_version,\n reason: request?.reason,\n user_session_id: request?.user_session_id,\n custom: request?.custom,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<CollectUserFeedbackResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/feedback',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.CollectUserFeedbackResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async goLive(\n request: GoLiveRequest & { type: string; id: string },\n ): Promise<StreamResponse<GoLiveResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n recording_storage_name: request?.recording_storage_name,\n start_closed_caption: request?.start_closed_caption,\n start_hls: request?.start_hls,\n start_recording: request?.start_recording,\n start_transcription: request?.start_transcription,\n transcription_storage_name: request?.transcription_storage_name,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<GoLiveResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/go_live',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.GoLiveResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async kickUser(\n request: KickUserRequest & { type: string; id: string },\n ): Promise<StreamResponse<KickUserResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n user_id: request?.user_id,\n block: request?.block,\n kicked_by_id: request?.kicked_by_id,\n kicked_by: request?.kicked_by,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<KickUserResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/kick',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.KickUserResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async endCall(request: {\n type: string;\n id: string;\n }): Promise<StreamResponse<EndCallResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<EndCallResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/mark_ended',\n pathParams,\n undefined,\n );\n\n decoders.EndCallResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async updateCallMembers(\n request: UpdateCallMembersRequest & { type: string; id: string },\n ): Promise<StreamResponse<UpdateCallMembersResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n remove_members: request?.remove_members,\n update_members: request?.update_members,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UpdateCallMembersResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/members',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UpdateCallMembersResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async muteUsers(\n request: MuteUsersRequest & { type: string; id: string },\n ): Promise<StreamResponse<MuteUsersResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n audio: request?.audio,\n mute_all_users: request?.mute_all_users,\n muted_by_id: request?.muted_by_id,\n screenshare: request?.screenshare,\n screenshare_audio: request?.screenshare_audio,\n video: request?.video,\n user_ids: request?.user_ids,\n muted_by: request?.muted_by,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<MuteUsersResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/mute_users',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.MuteUsersResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async queryCallParticipants(\n request: QueryCallParticipantsRequest & {\n id: string;\n type: string;\n limit?: number;\n },\n ): Promise<StreamResponse<QueryCallParticipantsResponse>> {\n const queryParams = {\n limit: request?.limit,\n };\n const pathParams = {\n id: request?.id,\n type: request?.type,\n };\n const body = {\n filter_conditions: request?.filter_conditions,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<QueryCallParticipantsResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/participants',\n pathParams,\n queryParams,\n body,\n 'application/json',\n );\n\n decoders.QueryCallParticipantsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async videoPin(\n request: PinRequest & { type: string; id: string },\n ): Promise<StreamResponse<PinResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n session_id: request?.session_id,\n user_id: request?.user_id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<PinResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/pin',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.PinResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async listRecordings(request: {\n type: string;\n id: string;\n }): Promise<StreamResponse<ListRecordingsResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<ListRecordingsResponse>\n >(\n 'GET',\n '/api/v2/video/call/{type}/{id}/recordings',\n pathParams,\n undefined,\n );\n\n decoders.ListRecordingsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getCallReport(request: {\n type: string;\n id: string;\n session_id?: string;\n }): Promise<StreamResponse<GetCallReportResponse>> {\n const queryParams = {\n session_id: request?.session_id,\n };\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<GetCallReportResponse>\n >('GET', '/api/v2/video/call/{type}/{id}/report', pathParams, queryParams);\n\n decoders.GetCallReportResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async startRTMPBroadcasts(\n request: StartRTMPBroadcastsRequest & { type: string; id: string },\n ): Promise<StreamResponse<StartRTMPBroadcastsResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n broadcasts: request?.broadcasts,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<StartRTMPBroadcastsResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/rtmp_broadcasts',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.StartRTMPBroadcastsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async stopAllRTMPBroadcasts(request: {\n type: string;\n id: string;\n }): Promise<StreamResponse<StopAllRTMPBroadcastsResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<StopAllRTMPBroadcastsResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/rtmp_broadcasts/stop',\n pathParams,\n undefined,\n );\n\n decoders.StopAllRTMPBroadcastsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async stopRTMPBroadcast(\n request: StopRTMPBroadcastsRequest & {\n type: string;\n id: string;\n name: string;\n },\n ): Promise<StreamResponse<StopRTMPBroadcastsResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n name: request?.name,\n };\n const body = {};\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<StopRTMPBroadcastsResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/rtmp_broadcasts/{name}/stop',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.StopRTMPBroadcastsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async startHLSBroadcasting(request: {\n type: string;\n id: string;\n }): Promise<StreamResponse<StartHLSBroadcastingResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<StartHLSBroadcastingResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/start_broadcasting',\n pathParams,\n undefined,\n );\n\n decoders.StartHLSBroadcastingResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async startClosedCaptions(\n request: StartClosedCaptionsRequest & { type: string; id: string },\n ): Promise<StreamResponse<StartClosedCaptionsResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n enable_transcription: request?.enable_transcription,\n external_storage: request?.external_storage,\n language: request?.language,\n speech_segment_config: request?.speech_segment_config,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<StartClosedCaptionsResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/start_closed_captions',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.StartClosedCaptionsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async startFrameRecording(\n request: StartFrameRecordingRequest & { type: string; id: string },\n ): Promise<StreamResponse<StartFrameRecordingResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n recording_external_storage: request?.recording_external_storage,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<StartFrameRecordingResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/start_frame_recording',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.StartFrameRecordingResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async startRecording(\n request: StartRecordingRequest & { type: string; id: string },\n ): Promise<StreamResponse<StartRecordingResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n recording_external_storage: request?.recording_external_storage,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<StartRecordingResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/start_recording',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.StartRecordingResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async startTranscription(\n request: StartTranscriptionRequest & { type: string; id: string },\n ): Promise<StreamResponse<StartTranscriptionResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n enable_closed_captions: request?.enable_closed_captions,\n language: request?.language,\n transcription_external_storage: request?.transcription_external_storage,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<StartTranscriptionResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/start_transcription',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.StartTranscriptionResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async stopHLSBroadcasting(request: {\n type: string;\n id: string;\n }): Promise<StreamResponse<StopHLSBroadcastingResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<StopHLSBroadcastingResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/stop_broadcasting',\n pathParams,\n undefined,\n );\n\n decoders.StopHLSBroadcastingResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async stopClosedCaptions(\n request: StopClosedCaptionsRequest & { type: string; id: string },\n ): Promise<StreamResponse<StopClosedCaptionsResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n stop_transcription: request?.stop_transcription,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<StopClosedCaptionsResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/stop_closed_captions',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.StopClosedCaptionsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async stopFrameRecording(request: {\n type: string;\n id: string;\n }): Promise<StreamResponse<StopFrameRecordingResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<StopFrameRecordingResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/stop_frame_recording',\n pathParams,\n undefined,\n );\n\n decoders.StopFrameRecordingResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async stopLive(\n request: StopLiveRequest & { type: string; id: string },\n ): Promise<StreamResponse<StopLiveResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n continue_closed_caption: request?.continue_closed_caption,\n continue_hls: request?.continue_hls,\n continue_recording: request?.continue_recording,\n continue_rtmp_broadcasts: request?.continue_rtmp_broadcasts,\n continue_transcription: request?.continue_transcription,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<StopLiveResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/stop_live',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.StopLiveResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async stopRecording(request: {\n type: string;\n id: string;\n }): Promise<StreamResponse<StopRecordingResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<StopRecordingResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/stop_recording',\n pathParams,\n undefined,\n );\n\n decoders.StopRecordingResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async stopTranscription(\n request: StopTranscriptionRequest & { type: string; id: string },\n ): Promise<StreamResponse<StopTranscriptionResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n stop_closed_captions: request?.stop_closed_captions,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<StopTranscriptionResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/stop_transcription',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.StopTranscriptionResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async listTranscriptions(request: {\n type: string;\n id: string;\n }): Promise<StreamResponse<ListTranscriptionsResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<ListTranscriptionsResponse>\n >(\n 'GET',\n '/api/v2/video/call/{type}/{id}/transcriptions',\n pathParams,\n undefined,\n );\n\n decoders.ListTranscriptionsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async unblockUser(\n request: UnblockUserRequest & { type: string; id: string },\n ): Promise<StreamResponse<UnblockUserResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n user_id: request?.user_id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UnblockUserResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/unblock',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UnblockUserResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async videoUnpin(\n request: UnpinRequest & { type: string; id: string },\n ): Promise<StreamResponse<UnpinResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n session_id: request?.session_id,\n user_id: request?.user_id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UnpinResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/unpin',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UnpinResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async updateUserPermissions(\n request: UpdateUserPermissionsRequest & { type: string; id: string },\n ): Promise<StreamResponse<UpdateUserPermissionsResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n user_id: request?.user_id,\n grant_permissions: request?.grant_permissions,\n revoke_permissions: request?.revoke_permissions,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UpdateUserPermissionsResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/user_permissions',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UpdateUserPermissionsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deleteRecording(request: {\n type: string;\n id: string;\n session: string;\n filename: string;\n }): Promise<StreamResponse<DeleteRecordingResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n session: request?.session,\n filename: request?.filename,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<DeleteRecordingResponse>\n >(\n 'DELETE',\n '/api/v2/video/call/{type}/{id}/{session}/recordings/{filename}',\n pathParams,\n undefined,\n );\n\n decoders.DeleteRecordingResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deleteTranscription(request: {\n type: string;\n id: string;\n session: string;\n filename: string;\n }): Promise<StreamResponse<DeleteTranscriptionResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n session: request?.session,\n filename: request?.filename,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<DeleteTranscriptionResponse>\n >(\n 'DELETE',\n '/api/v2/video/call/{type}/{id}/{session}/transcriptions/{filename}',\n pathParams,\n undefined,\n );\n\n decoders.DeleteTranscriptionResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getCallSessionParticipantStatsDetails(request: {\n call_type: string;\n call_id: string;\n session: string;\n user: string;\n user_session: string;\n since?: string;\n until?: string;\n max_points?: number;\n }): Promise<StreamResponse<GetCallSessionParticipantStatsDetailsResponse>> {\n const queryParams = {\n since: request?.since,\n until: request?.until,\n max_points: request?.max_points,\n };\n const pathParams = {\n call_type: request?.call_type,\n call_id: request?.call_id,\n session: request?.session,\n user: request?.user,\n user_session: request?.user_session,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<GetCallSessionParticipantStatsDetailsResponse>\n >(\n 'GET',\n '/api/v2/video/call_stats/{call_type}/{call_id}/{session}/participant/{user}/{user_session}/details',\n pathParams,\n queryParams,\n );\n\n decoders.GetCallSessionParticipantStatsDetailsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async queryCallSessionParticipantStats(request: {\n call_type: string;\n call_id: string;\n session: string;\n sort?: SortParamRequest[];\n filter_conditions?: Record<string, any>;\n }): Promise<StreamResponse<QueryCallSessionParticipantStatsResponse>> {\n const queryParams = {\n sort: request?.sort,\n filter_conditions: request?.filter_conditions,\n };\n const pathParams = {\n call_type: request?.call_type,\n call_id: request?.call_id,\n session: request?.session,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<QueryCallSessionParticipantStatsResponse>\n >(\n 'GET',\n '/api/v2/video/call_stats/{call_type}/{call_id}/{session}/participants',\n pathParams,\n queryParams,\n );\n\n decoders.QueryCallSessionParticipantStatsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getCallSessionParticipantStatsTimeline(request: {\n call_type: string;\n call_id: string;\n session: string;\n user: string;\n user_session: string;\n start_time?: string;\n end_time?: string;\n severity?: string[];\n }): Promise<\n StreamResponse<QueryCallSessionParticipantStatsTimelineResponse>\n > {\n const queryParams = {\n start_time: request?.start_time,\n end_time: request?.end_time,\n severity: request?.severity,\n };\n const pathParams = {\n call_type: request?.call_type,\n call_id: request?.call_id,\n session: request?.session,\n user: request?.user,\n user_session: request?.user_session,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<QueryCallSessionParticipantStatsTimelineResponse>\n >(\n 'GET',\n '/api/v2/video/call_stats/{call_type}/{call_id}/{session}/participants/{user}/{user_session}/timeline',\n pathParams,\n queryParams,\n );\n\n decoders.QueryCallSessionParticipantStatsTimelineResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async queryCalls(\n request?: QueryCallsRequest,\n ): Promise<StreamResponse<QueryCallsResponse>> {\n const body = {\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n sort: request?.sort,\n filter_conditions: request?.filter_conditions,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<QueryCallsResponse>\n >(\n 'POST',\n '/api/v2/video/calls',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.QueryCallsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async listCallTypes(): Promise<StreamResponse<ListCallTypeResponse>> {\n const response = await this.apiClient.sendRequest<\n StreamResponse<ListCallTypeResponse>\n >('GET', '/api/v2/video/calltypes', undefined, undefined);\n\n decoders.ListCallTypeResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async createCallType(\n request: CreateCallTypeRequest,\n ): Promise<StreamResponse<CreateCallTypeResponse>> {\n const body = {\n name: request?.name,\n external_storage: request?.external_storage,\n grants: request?.grants,\n notification_settings: request?.notification_settings,\n settings: request?.settings,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<CreateCallTypeResponse>\n >(\n 'POST',\n '/api/v2/video/calltypes',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.CreateCallTypeResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deleteCallType(request: {\n name: string;\n }): Promise<StreamResponse<Response>> {\n const pathParams = {\n name: request?.name,\n };\n\n const response = await this.apiClient.sendRequest<StreamResponse<Response>>(\n 'DELETE',\n '/api/v2/video/calltypes/{name}',\n pathParams,\n undefined,\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getCallType(request: {\n name: string;\n }): Promise<StreamResponse<GetCallTypeResponse>> {\n const pathParams = {\n name: request?.name,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<GetCallTypeResponse>\n >('GET', '/api/v2/video/calltypes/{name}', pathParams, undefined);\n\n decoders.GetCallTypeResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async updateCallType(\n request: UpdateCallTypeRequest & { name: string },\n ): Promise<StreamResponse<UpdateCallTypeResponse>> {\n const pathParams = {\n name: request?.name,\n };\n const body = {\n external_storage: request?.external_storage,\n grants: request?.grants,\n notification_settings: request?.notification_settings,\n settings: request?.settings,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UpdateCallTypeResponse>\n >(\n 'PUT',\n '/api/v2/video/calltypes/{name}',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UpdateCallTypeResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getEdges(): Promise<StreamResponse<GetEdgesResponse>> {\n const response = await this.apiClient.sendRequest<\n StreamResponse<GetEdgesResponse>\n >('GET', '/api/v2/video/edges', undefined, undefined);\n\n decoders.GetEdgesResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async queryAggregateCallStats(\n request?: QueryAggregateCallStatsRequest,\n ): Promise<StreamResponse<QueryAggregateCallStatsResponse>> {\n const body = {\n from: request?.from,\n to: request?.to,\n report_types: request?.report_types,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<QueryAggregateCallStatsResponse>\n >(\n 'POST',\n '/api/v2/video/stats',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.QueryAggregateCallStatsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n}\n","import { StreamResponse, VideoApi } from '../../gen-imports';\nimport {\n BlockUserRequest,\n BlockUserResponse,\n CollectUserFeedbackRequest,\n CollectUserFeedbackResponse,\n DeleteCallRequest,\n DeleteCallResponse,\n DeleteRecordingResponse,\n DeleteTranscriptionResponse,\n EndCallResponse,\n GetCallReportResponse,\n GetCallResponse,\n GetOrCreateCallRequest,\n GetOrCreateCallResponse,\n GoLiveRequest,\n GoLiveResponse,\n KickUserRequest,\n KickUserResponse,\n ListRecordingsResponse,\n ListTranscriptionsResponse,\n MuteUsersRequest,\n MuteUsersResponse,\n PinRequest,\n PinResponse,\n QueryCallParticipantsRequest,\n QueryCallParticipantsResponse,\n SendCallEventRequest,\n SendCallEventResponse,\n SendClosedCaptionRequest,\n SendClosedCaptionResponse,\n StartClosedCaptionsRequest,\n StartClosedCaptionsResponse,\n StartFrameRecordingRequest,\n StartFrameRecordingResponse,\n StartHLSBroadcastingResponse,\n StartRTMPBroadcastsRequest,\n StartRTMPBroadcastsResponse,\n StartRecordingRequest,\n StartRecordingResponse,\n StartTranscriptionRequest,\n StartTranscriptionResponse,\n StopAllRTMPBroadcastsResponse,\n StopClosedCaptionsRequest,\n StopClosedCaptionsResponse,\n StopFrameRecordingResponse,\n StopHLSBroadcastingResponse,\n StopLiveRequest,\n StopLiveResponse,\n StopRTMPBroadcastsRequest,\n StopRTMPBroadcastsResponse,\n StopRecordingResponse,\n StopTranscriptionRequest,\n StopTranscriptionResponse,\n UnblockUserRequest,\n UnblockUserResponse,\n UnpinRequest,\n UnpinResponse,\n UpdateCallMembersRequest,\n UpdateCallMembersResponse,\n UpdateCallRequest,\n UpdateCallResponse,\n UpdateUserPermissionsRequest,\n UpdateUserPermissionsResponse,\n} from '../models';\n\nexport class CallApi {\n constructor(\n protected videoApi: VideoApi,\n public readonly type: string,\n public readonly id: string,\n ) {}\n\n get(request?: {\n members_limit?: number;\n ring?: boolean;\n notify?: boolean;\n video?: boolean;\n }): Promise<StreamResponse<GetCallResponse>> {\n return this.videoApi.getCall({ id: this.id, type: this.type, ...request });\n }\n\n update(\n request?: UpdateCallRequest,\n ): Promise<StreamResponse<UpdateCallResponse>> {\n return this.videoApi.updateCall({\n id: this.id,\n type: this.type,\n ...request,\n });\n }\n\n getOrCreate(\n request?: GetOrCreateCallRequest,\n ): Promise<StreamResponse<GetOrCreateCallResponse>> {\n return this.videoApi.getOrCreateCall({\n id: this.id,\n type: this.type,\n ...request,\n });\n }\n\n blockUser(\n request: BlockUserRequest,\n ): Promise<StreamResponse<BlockUserResponse>> {\n return this.videoApi.blockUser({\n id: this.id,\n type: this.type,\n ...request,\n });\n }\n\n sendClosedCaption(\n request: SendClosedCaptionRequest,\n ): Promise<StreamResponse<SendClosedCaptionResponse>> {\n return this.videoApi.sendClosedCaption({\n id: this.id,\n type: this.type,\n ...request,\n });\n }\n\n delete(\n request?: DeleteCallRequest,\n ): Promise<StreamResponse<DeleteCallResponse>> {\n return this.videoApi.deleteCall({\n id: this.id,\n type: this.type,\n ...request,\n });\n }\n\n sendCallEvent(\n request?: SendCallEventRequest,\n ): Promise<StreamResponse<SendCallEventResponse>> {\n return this.videoApi.sendCallEvent({\n id: this.id,\n type: this.type,\n ...request,\n });\n }\n\n collectUserFeedback(\n request: CollectUserFeedbackRequest,\n ): Promise<StreamResponse<CollectUserFeedbackResponse>> {\n return this.videoApi.collectUserFeedback({\n id: this.id,\n type: this.type,\n ...request,\n });\n }\n\n goLive(request?: GoLiveRequest): Promise<StreamResponse<GoLiveResponse>> {\n return this.videoApi.goLive({ id: this.id, type: this.type, ...request });\n }\n\n kickUser(\n request: KickUserRequest,\n ): Promise<StreamResponse<KickUserResponse>> {\n return this.videoApi.kickUser({ id: this.id, type: this.type, ...request });\n }\n\n end(): Promise<StreamResponse<EndCallResponse>> {\n return this.videoApi.endCall({ id: this.id, type: this.type });\n }\n\n updateCallMembers(\n request?: UpdateCallMembersRequest,\n ): Promise<StreamResponse<UpdateCallMembersResponse>> {\n return this.videoApi.updateCallMembers({\n id: this.id,\n type: this.type,\n ...request,\n });\n }\n\n muteUsers(\n request?: MuteUsersRequest,\n ): Promise<StreamResponse<MuteUsersResponse>> {\n return this.videoApi.muteUsers({\n id: this.id,\n type: this.type,\n ...request,\n });\n }\n\n queryCallParticipants(\n request?: QueryCallParticipantsRequest & { limit?: number },\n ): Promise<StreamResponse<QueryCallParticipantsResponse>> {\n return this.videoApi.queryCallParticipants({\n id: this.id,\n type: this.type,\n ...request,\n });\n }\n\n videoPin(request: PinRequest): Promise<StreamResponse<PinResponse>> {\n return this.videoApi.videoPin({ id: this.id, type: this.type, ...request });\n }\n\n listRecordings(): Promise<StreamResponse<ListRecordingsResponse>> {\n return this.videoApi.listRecordings({ id: this.id, type: this.type });\n }\n\n getCallReport(request?: {\n session_id?: string;\n }): Promise<StreamResponse<GetCallReportResponse>> {\n return this.videoApi.getCallReport({\n id: this.id,\n type: this.type,\n ...request,\n });\n }\n\n startRTMPBroadcasts(\n request: StartRTMPBroadcastsRequest,\n ): Promise<StreamResponse<StartRTMPBroadcastsResponse>> {\n return this.videoApi.startRTMPBroadcasts({\n id: this.id,\n type: this.type,\n ...request,\n });\n }\n\n stopAllRTMPBroadcasts(): Promise<\n StreamResponse<StopAllRTMPBroadcastsResponse>\n > {\n return this.videoApi.stopAllRTMPBroadcasts({\n id: this.id,\n type: this.type,\n });\n }\n\n stopRTMPBroadcast(\n request: StopRTMPBroadcastsRequest & { name: string },\n ): Promise<StreamResponse<StopRTMPBroadcastsResponse>> {\n return this.videoApi.stopRTMPBroadcast({\n id: this.id,\n type: this.type,\n ...request,\n });\n }\n\n startHLSBroadcasting(): Promise<\n StreamResponse<StartHLSBroadcastingResponse>\n > {\n return this.videoApi.startHLSBroadcasting({ id: this.id, type: this.type });\n }\n\n startClosedCaptions(\n request?: StartClosedCaptionsRequest,\n ): Promise<StreamResponse<StartClosedCaptionsResponse>> {\n return this.videoApi.startClosedCaptions({\n id: this.id,\n type: this.type,\n ...request,\n });\n }\n\n startFrameRecording(\n request?: StartFrameRecordingRequest,\n ): Promise<StreamResponse<StartFrameRecordingResponse>> {\n return this.videoApi.startFrameRecording({\n id: this.id,\n type: this.type,\n ...request,\n });\n }\n\n startRecording(\n request?: StartRecordingRequest,\n ): Promise<StreamResponse<StartRecordingResponse>> {\n return this.videoApi.startRecording({\n id: this.id,\n type: this.type,\n ...request,\n });\n }\n\n startTranscription(\n request?: StartTranscriptionRequest,\n ): Promise<StreamResponse<StartTranscriptionResponse>> {\n return this.videoApi.startTranscription({\n id: this.id,\n type: this.type,\n ...request,\n });\n }\n\n stopHLSBroadcasting(): Promise<StreamResponse<StopHLSBroadcastingResponse>> {\n return this.videoApi.stopHLSBroadcasting({ id: this.id, type: this.type });\n }\n\n stopClosedCaptions(\n request?: StopClosedCaptionsRequest,\n ): Promise<StreamResponse<StopClosedCaptionsResponse>> {\n return this.videoApi.stopClosedCaptions({\n id: this.id,\n type: this.type,\n ...request,\n });\n }\n\n stopFrameRecording(): Promise<StreamResponse<StopFrameRecordingResponse>> {\n return this.videoApi.stopFrameRecording({ id: this.id, type: this.type });\n }\n\n stopLive(\n request?: StopLiveRequest,\n ): Promise<StreamResponse<StopLiveResponse>> {\n return this.videoApi.stopLive({ id: this.id, type: this.type, ...request });\n }\n\n stopRecording(): Promise<StreamResponse<StopRecordingResponse>> {\n return this.videoApi.stopRecording({ id: this.id, type: this.type });\n }\n\n stopTranscription(\n request?: StopTranscriptionRequest,\n ): Promise<StreamResponse<StopTranscriptionResponse>> {\n return this.videoApi.stopTranscription({\n id: this.id,\n type: this.type,\n ...request,\n });\n }\n\n listTranscriptions(): Promise<StreamResponse<ListTranscriptionsResponse>> {\n return this.videoApi.listTranscriptions({ id: this.id, type: this.type });\n }\n\n unblockUser(\n request: UnblockUserRequest,\n ): Promise<StreamResponse<UnblockUserResponse>> {\n return this.videoApi.unblockUser({\n id: this.id,\n type: this.type,\n ...request,\n });\n }\n\n videoUnpin(request: UnpinRequest): Promise<StreamResponse<UnpinResponse>> {\n return this.videoApi.videoUnpin({\n id: this.id,\n type: this.type,\n ...request,\n });\n }\n\n updateUserPermissions(\n request: UpdateUserPermissionsRequest,\n ): Promise<StreamResponse<UpdateUserPermissionsResponse>> {\n return this.videoApi.updateUserPermissions({\n id: this.id,\n type: this.type,\n ...request,\n });\n }\n\n deleteRecording(request: {\n session: string;\n filename: string;\n }): Promise<StreamResponse<DeleteRecordingResponse>> {\n return this.videoApi.deleteRecording({\n id: this.id,\n type: this.type,\n ...request,\n });\n }\n\n deleteTranscription(request: {\n session: string;\n filename: string;\n }): Promise<StreamResponse<DeleteTranscriptionResponse>> {\n return this.videoApi.deleteTranscription({\n id: this.id,\n type: this.type,\n ...request,\n });\n }\n}\n","import { VideoApi } from './gen-imports';\nimport {\n CallResponse,\n GetOrCreateCallRequest,\n QueryCallMembersRequest,\n} from './gen/models';\nimport { CallApi } from './gen/video/CallApi';\nimport { StreamClient } from './StreamClient';\nimport { OmitTypeId } from './types';\n\nexport class StreamCall extends CallApi {\n data?: CallResponse;\n\n constructor(\n videoApi: VideoApi,\n readonly type: string,\n readonly id: string,\n private readonly streamClient: StreamClient,\n ) {\n super(videoApi, type, id);\n }\n\n get cid() {\n return `${this.type}:${this.id}`;\n }\n\n create = (request?: GetOrCreateCallRequest) => this.getOrCreate(request);\n\n queryMembers = (request?: OmitTypeId<QueryCallMembersRequest>) => {\n return this.videoApi.queryCallMembers({\n id: this.id,\n type: this.type,\n ...(request ?? {}),\n });\n };\n\n getOrCreate = async (request?: GetOrCreateCallRequest) => {\n const response = await super.getOrCreate(request);\n this.data = response.call;\n return response;\n };\n\n get = async () => {\n const response = await super.get();\n this.data = response.call;\n return response;\n };\n\n createSRTCredentials = (\n userID: string,\n ): {\n address: string;\n } => {\n if (!this.data) {\n throw new Error(\n 'Object is not initialized, call get() or getOrCreate() first',\n );\n }\n\n const token = this.streamClient.generatePermanentUserToken({\n user_id: userID,\n });\n const segments = token.split('.');\n if (segments.length !== 3) {\n throw new Error('Invalid token format');\n }\n\n return {\n address: this.data.ingress.srt.address\n .replace('{passphrase}', segments[2])\n .replace('{token}', token),\n };\n };\n}\n","import { ApiClient } from './ApiClient';\nimport { VideoApi } from './gen/video/VideoApi';\nimport { StreamCall } from './StreamCall';\nimport type { StreamClient } from './StreamClient';\n// eslint-disable-next-line @typescript-eslint/prefer-ts-expect-error\n/** @ts-ignore Optional dependency */\nimport type {\n createRealtimeClient,\n RealtimeAPIModel,\n RealtimeClient,\n} from '@stream-io/openai-realtime-api';\n\nexport class StreamVideoClient extends VideoApi {\n private readonly streamClient: StreamClient;\n\n constructor({\n streamClient,\n apiClient,\n }: {\n streamClient: StreamClient;\n apiClient: ApiClient;\n }) {\n super(apiClient);\n this.streamClient = streamClient;\n }\n\n call = (type: string, id: string) => {\n return new StreamCall(this, type, id, this.streamClient);\n };\n\n connectOpenAi = async (options: {\n call: StreamCall;\n agentUserId: string;\n openAiApiKey: string;\n model?: RealtimeAPIModel;\n validityInSeconds?: number;\n }): Promise<RealtimeClient> => {\n let doCreateRealtimeClient: typeof createRealtimeClient;\n\n try {\n doCreateRealtimeClient = (await import('@stream-io/openai-realtime-api'))\n .createRealtimeClient;\n } catch {\n throw new Error(\n 'Cannot create Realtime API client. Is @stream-io/openai-realtime-api installed?',\n );\n }\n\n if (!options.agentUserId) {\n throw new Error('\"agentUserId\" must by specified in options');\n }\n\n const token = this.streamClient.generateCallToken({\n user_id: options.agentUserId,\n call_cids: [options.call.cid],\n validity_in_seconds: options.validityInSeconds,\n });\n\n const realtimeClient = doCreateRealtimeClient({\n baseUrl: this.streamClient.apiClient.apiConfig.baseUrl,\n call: options.call,\n streamApiKey: this.streamClient.apiClient.apiConfig.apiKey,\n streamUserToken: token,\n openAiApiKey: options.openAiApiKey,\n model: options.model,\n });\n\n await realtimeClient.connect();\n return realtimeClient;\n };\n}\n","import { ApiClient, StreamResponse } from '../../gen-imports';\nimport {\n CampaignResponse,\n CastPollVoteRequest,\n ChannelGetOrCreateRequest,\n ChannelStateResponse,\n CommitMessageRequest,\n CreateChannelTypeRequest,\n CreateChannelTypeResponse,\n CreateCommandRequest,\n CreateCommandResponse,\n CreateReminderRequest,\n DeleteChannelResponse,\n DeleteChannelsRequest,\n DeleteChannelsResponse,\n DeleteCommandResponse,\n DeleteMessageResponse,\n DeleteReactionResponse,\n DeleteReminderResponse,\n DeleteSegmentTargetsRequest,\n EventResponse,\n ExportChannelsRequest,\n ExportChannelsResponse,\n GetCampaignResponse,\n GetChannelTypeResponse,\n GetCommandResponse,\n GetDraftResponse,\n GetManyMessagesResponse,\n GetMessageResponse,\n GetReactionsResponse,\n GetRepliesResponse,\n GetSegmentResponse,\n GetThreadResponse,\n HideChannelRequest,\n HideChannelResponse,\n ListChannelTypesResponse,\n ListCommandsResponse,\n MarkChannelsReadRequest,\n MarkReadRequest,\n MarkReadResponse,\n MarkUnreadRequest,\n MembersResponse,\n MessageActionRequest,\n MessageResponse,\n MuteChannelRequest,\n MuteChannelResponse,\n PollVoteResponse,\n QueryBannedUsersPayload,\n QueryBannedUsersResponse,\n QueryCampaignsRequest,\n QueryCampaignsResponse,\n QueryChannelsRequest,\n QueryChannelsResponse,\n QueryDraftsRequest,\n QueryDraftsResponse,\n QueryMembersPayload,\n QueryMessageFlagsPayload,\n QueryMessageFlagsResponse,\n QueryMessageHistoryRequest,\n QueryMessageHistoryResponse,\n QueryReactionsRequest,\n QueryReactionsResponse,\n QueryRemindersRequest,\n QueryRemindersResponse,\n QuerySegmentTargetsRequest,\n QuerySegmentTargetsResponse,\n QuerySegmentsRequest,\n QuerySegmentsResponse,\n QueryThreadsRequest,\n QueryThreadsResponse,\n ReminderResponseData,\n Response,\n SearchPayload,\n SearchResponse,\n SendEventRequest,\n SendMessageRequest,\n SendMessageResponse,\n SendReactionRequest,\n SendReactionResponse,\n SendUserCustomEventRequest,\n ShowChannelRequest,\n ShowChannelResponse,\n SortParamRequest,\n StartCampaignRequest,\n StartCampaignResponse,\n StopCampaignRequest,\n TranslateMessageRequest,\n TruncateChannelRequest,\n TruncateChannelResponse,\n UnmuteChannelRequest,\n UnmuteResponse,\n UnreadCountsBatchRequest,\n UnreadCountsBatchResponse,\n UpdateChannelPartialRequest,\n UpdateChannelPartialResponse,\n UpdateChannelRequest,\n UpdateChannelResponse,\n UpdateChannelTypeRequest,\n UpdateChannelTypeResponse,\n UpdateCommandRequest,\n UpdateCommandResponse,\n UpdateMemberPartialRequest,\n UpdateMemberPartialResponse,\n UpdateMessagePartialRequest,\n UpdateMessagePartialResponse,\n UpdateMessageRequest,\n UpdateMessageResponse,\n UpdateReminderRequest,\n UpdateReminderResponse,\n UpdateThreadPartialRequest,\n UpdateThreadPartialResponse,\n UploadChannelFileRequest,\n UploadChannelFileResponse,\n UploadChannelRequest,\n UploadChannelResponse,\n WrappedUnreadCountsResponse,\n} from '../models';\nimport { decoders } from '../model-decoders/decoders';\n\nexport class ChatApi {\n constructor(public readonly apiClient: ApiClient) {}\n\n async queryCampaigns(\n request?: QueryCampaignsRequest,\n ): Promise<StreamResponse<QueryCampaignsResponse>> {\n const body = {\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n user_limit: request?.user_limit,\n sort: request?.sort,\n filter: request?.filter,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<QueryCampaignsResponse>\n >(\n 'POST',\n '/api/v2/chat/campaigns/query',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.QueryCampaignsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getCampaign(request: {\n id: string;\n prev?: string;\n next?: string;\n limit?: number;\n }): Promise<StreamResponse<GetCampaignResponse>> {\n const queryParams = {\n prev: request?.prev,\n next: request?.next,\n limit: request?.limit,\n };\n const pathParams = {\n id: request?.id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<GetCampaignResponse>\n >('GET', '/api/v2/chat/campaigns/{id}', pathParams, queryParams);\n\n decoders.GetCampaignResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async startCampaign(\n request: StartCampaignRequest & { id: string },\n ): Promise<StreamResponse<StartCampaignResponse>> {\n const pathParams = {\n id: request?.id,\n };\n const body = {\n scheduled_for: request?.scheduled_for,\n stop_at: request?.stop_at,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<StartCampaignResponse>\n >(\n 'POST',\n '/api/v2/chat/campaigns/{id}/start',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.StartCampaignResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async scheduleCampaign(\n request: StopCampaignRequest & { id: string },\n ): Promise<StreamResponse<CampaignResponse>> {\n const pathParams = {\n id: request?.id,\n };\n const body = {};\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<CampaignResponse>\n >(\n 'POST',\n '/api/v2/chat/campaigns/{id}/stop',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.CampaignResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async queryChannels(\n request?: QueryChannelsRequest,\n ): Promise<StreamResponse<QueryChannelsResponse>> {\n const body = {\n limit: request?.limit,\n member_limit: request?.member_limit,\n message_limit: request?.message_limit,\n offset: request?.offset,\n state: request?.state,\n user_id: request?.user_id,\n sort: request?.sort,\n filter_conditions: request?.filter_conditions,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<QueryChannelsResponse>\n >(\n 'POST',\n '/api/v2/chat/channels',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.QueryChannelsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deleteChannels(\n request: DeleteChannelsRequest,\n ): Promise<StreamResponse<DeleteChannelsResponse>> {\n const body = {\n cids: request?.cids,\n hard_delete: request?.hard_delete,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<DeleteChannelsResponse>\n >(\n 'POST',\n '/api/v2/chat/channels/delete',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.DeleteChannelsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async markChannelsRead(\n request?: MarkChannelsReadRequest,\n ): Promise<StreamResponse<MarkReadResponse>> {\n const body = {\n user_id: request?.user_id,\n read_by_channel: request?.read_by_channel,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<MarkReadResponse>\n >(\n 'POST',\n '/api/v2/chat/channels/read',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.MarkReadResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getOrCreateDistinctChannel(\n request: ChannelGetOrCreateRequest & { type: string },\n ): Promise<StreamResponse<ChannelStateResponse>> {\n const pathParams = {\n type: request?.type,\n };\n const body = {\n hide_for_creator: request?.hide_for_creator,\n state: request?.state,\n thread_unread_counts: request?.thread_unread_counts,\n data: request?.data,\n members: request?.members,\n messages: request?.messages,\n watchers: request?.watchers,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<ChannelStateResponse>\n >(\n 'POST',\n '/api/v2/chat/channels/{type}/query',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.ChannelStateResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deleteChannel(request: {\n type: string;\n id: string;\n hard_delete?: boolean;\n }): Promise<StreamResponse<DeleteChannelResponse>> {\n const queryParams = {\n hard_delete: request?.hard_delete,\n };\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<DeleteChannelResponse>\n >('DELETE', '/api/v2/chat/channels/{type}/{id}', pathParams, queryParams);\n\n decoders.DeleteChannelResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async updateChannelPartial(\n request: UpdateChannelPartialRequest & { type: string; id: string },\n ): Promise<StreamResponse<UpdateChannelPartialResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n user_id: request?.user_id,\n unset: request?.unset,\n set: request?.set,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UpdateChannelPartialResponse>\n >(\n 'PATCH',\n '/api/v2/chat/channels/{type}/{id}',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UpdateChannelPartialResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async updateChannel(\n request: UpdateChannelRequest & { type: string; id: string },\n ): Promise<StreamResponse<UpdateChannelResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n accept_invite: request?.accept_invite,\n cooldown: request?.cooldown,\n hide_history: request?.hide_history,\n reject_invite: request?.reject_invite,\n skip_push: request?.skip_push,\n user_id: request?.user_id,\n add_members: request?.add_members,\n add_moderators: request?.add_moderators,\n assign_roles: request?.assign_roles,\n demote_moderators: request?.demote_moderators,\n invites: request?.invites,\n remove_members: request?.remove_members,\n data: request?.data,\n message: request?.message,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UpdateChannelResponse>\n >(\n 'POST',\n '/api/v2/chat/channels/{type}/{id}',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UpdateChannelResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deleteDraft(request: {\n type: string;\n id: string;\n parent_id?: string;\n user_id?: string;\n }): Promise<StreamResponse<Response>> {\n const queryParams = {\n parent_id: request?.parent_id,\n user_id: request?.user_id,\n };\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n\n const response = await this.apiClient.sendRequest<StreamResponse<Response>>(\n 'DELETE',\n '/api/v2/chat/channels/{type}/{id}/draft',\n pathParams,\n queryParams,\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getDraft(request: {\n type: string;\n id: string;\n parent_id?: string;\n user_id?: string;\n }): Promise<StreamResponse<GetDraftResponse>> {\n const queryParams = {\n parent_id: request?.parent_id,\n user_id: request?.user_id,\n };\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<GetDraftResponse>\n >(\n 'GET',\n '/api/v2/chat/channels/{type}/{id}/draft',\n pathParams,\n queryParams,\n );\n\n decoders.GetDraftResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async sendEvent(\n request: SendEventRequest & { type: string; id: string },\n ): Promise<StreamResponse<EventResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n event: request?.event,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<EventResponse>\n >(\n 'POST',\n '/api/v2/chat/channels/{type}/{id}/event',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.EventResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deleteChannelFile(request: {\n type: string;\n id: string;\n url?: string;\n }): Promise<StreamResponse<Response>> {\n const queryParams = {\n url: request?.url,\n };\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n\n const response = await this.apiClient.sendRequest<StreamResponse<Response>>(\n 'DELETE',\n '/api/v2/chat/channels/{type}/{id}/file',\n pathParams,\n queryParams,\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async uploadChannelFile(\n request: UploadChannelFileRequest & { type: string; id: string },\n ): Promise<StreamResponse<UploadChannelFileResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n file: request?.file,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UploadChannelFileResponse>\n >(\n 'POST',\n '/api/v2/chat/channels/{type}/{id}/file',\n pathParams,\n undefined,\n body,\n 'multipart/form-data',\n );\n\n decoders.UploadChannelFileResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async hideChannel(\n request: HideChannelRequest & { type: string; id: string },\n ): Promise<StreamResponse<HideChannelResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n clear_history: request?.clear_history,\n user_id: request?.user_id,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<HideChannelResponse>\n >(\n 'POST',\n '/api/v2/chat/channels/{type}/{id}/hide',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.HideChannelResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deleteChannelImage(request: {\n type: string;\n id: string;\n url?: string;\n }): Promise<StreamResponse<Response>> {\n const queryParams = {\n url: request?.url,\n };\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n\n const response = await this.apiClient.sendRequest<StreamResponse<Response>>(\n 'DELETE',\n '/api/v2/chat/channels/{type}/{id}/image',\n pathParams,\n queryParams,\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async uploadChannelImage(\n request: UploadChannelRequest & { type: string; id: string },\n ): Promise<StreamResponse<UploadChannelResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n file: request?.file,\n upload_sizes: request?.upload_sizes,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UploadChannelResponse>\n >(\n 'POST',\n '/api/v2/chat/channels/{type}/{id}/image',\n pathParams,\n undefined,\n body,\n 'multipart/form-data',\n );\n\n decoders.UploadChannelResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async updateMemberPartial(\n request: UpdateMemberPartialRequest & {\n type: string;\n id: string;\n user_id?: string;\n },\n ): Promise<StreamResponse<UpdateMemberPartialResponse>> {\n const queryParams = {\n user_id: request?.user_id,\n };\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n unset: request?.unset,\n set: request?.set,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UpdateMemberPartialResponse>\n >(\n 'PATCH',\n '/api/v2/chat/channels/{type}/{id}/member',\n pathParams,\n queryParams,\n body,\n 'application/json',\n );\n\n decoders.UpdateMemberPartialResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async sendMessage(\n request: SendMessageRequest & { type: string; id: string },\n ): Promise<StreamResponse<SendMessageResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n message: request?.message,\n force_moderation: request?.force_moderation,\n keep_channel_hidden: request?.keep_channel_hidden,\n pending: request?.pending,\n skip_enrich_url: request?.skip_enrich_url,\n skip_push: request?.skip_push,\n pending_message_metadata: request?.pending_message_metadata,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<SendMessageResponse>\n >(\n 'POST',\n '/api/v2/chat/channels/{type}/{id}/message',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.SendMessageResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getManyMessages(request: {\n type: string;\n id: string;\n ids: string[];\n }): Promise<StreamResponse<GetManyMessagesResponse>> {\n const queryParams = {\n ids: request?.ids,\n };\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<GetManyMessagesResponse>\n >(\n 'GET',\n '/api/v2/chat/channels/{type}/{id}/messages',\n pathParams,\n queryParams,\n );\n\n decoders.GetManyMessagesResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getOrCreateChannel(\n request: ChannelGetOrCreateRequest & { type: string; id: string },\n ): Promise<StreamResponse<ChannelStateResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n hide_for_creator: request?.hide_for_creator,\n state: request?.state,\n thread_unread_counts: request?.thread_unread_counts,\n data: request?.data,\n members: request?.members,\n messages: request?.messages,\n watchers: request?.watchers,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<ChannelStateResponse>\n >(\n 'POST',\n '/api/v2/chat/channels/{type}/{id}/query',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.ChannelStateResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async markRead(\n request: MarkReadRequest & { type: string; id: string },\n ): Promise<StreamResponse<MarkReadResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n message_id: request?.message_id,\n thread_id: request?.thread_id,\n user_id: request?.user_id,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<MarkReadResponse>\n >(\n 'POST',\n '/api/v2/chat/channels/{type}/{id}/read',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.MarkReadResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async showChannel(\n request: ShowChannelRequest & { type: string; id: string },\n ): Promise<StreamResponse<ShowChannelResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n user_id: request?.user_id,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<ShowChannelResponse>\n >(\n 'POST',\n '/api/v2/chat/channels/{type}/{id}/show',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.ShowChannelResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async truncateChannel(\n request: TruncateChannelRequest & { type: string; id: string },\n ): Promise<StreamResponse<TruncateChannelResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n hard_delete: request?.hard_delete,\n skip_push: request?.skip_push,\n truncated_at: request?.truncated_at,\n user_id: request?.user_id,\n member_ids: request?.member_ids,\n message: request?.message,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<TruncateChannelResponse>\n >(\n 'POST',\n '/api/v2/chat/channels/{type}/{id}/truncate',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.TruncateChannelResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async markUnread(\n request: MarkUnreadRequest & { type: string; id: string },\n ): Promise<StreamResponse<Response>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n message_id: request?.message_id,\n thread_id: request?.thread_id,\n user_id: request?.user_id,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<StreamResponse<Response>>(\n 'POST',\n '/api/v2/chat/channels/{type}/{id}/unread',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async listChannelTypes(): Promise<StreamResponse<ListChannelTypesResponse>> {\n const response = await this.apiClient.sendRequest<\n StreamResponse<ListChannelTypesResponse>\n >('GET', '/api/v2/chat/channeltypes', undefined, undefined);\n\n decoders.ListChannelTypesResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async createChannelType(\n request: CreateChannelTypeRequest,\n ): Promise<StreamResponse<CreateChannelTypeResponse>> {\n const body = {\n automod: request?.automod,\n automod_behavior: request?.automod_behavior,\n max_message_length: request?.max_message_length,\n name: request?.name,\n blocklist: request?.blocklist,\n blocklist_behavior: request?.blocklist_behavior,\n connect_events: request?.connect_events,\n count_messages: request?.count_messages,\n custom_events: request?.custom_events,\n delivery_events: request?.delivery_events,\n mark_messages_pending: request?.mark_messages_pending,\n message_retention: request?.message_retention,\n mutes: request?.mutes,\n partition_size: request?.partition_size,\n partition_ttl: request?.partition_ttl,\n polls: request?.polls,\n push_notifications: request?.push_notifications,\n reactions: request?.reactions,\n read_events: request?.read_events,\n replies: request?.replies,\n search: request?.search,\n shared_locations: request?.shared_locations,\n skip_last_msg_update_for_system_msgs:\n request?.skip_last_msg_update_for_system_msgs,\n typing_events: request?.typing_events,\n uploads: request?.uploads,\n url_enrichment: request?.url_enrichment,\n user_message_reminders: request?.user_message_reminders,\n blocklists: request?.blocklists,\n commands: request?.commands,\n permissions: request?.permissions,\n grants: request?.grants,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<CreateChannelTypeResponse>\n >(\n 'POST',\n '/api/v2/chat/channeltypes',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.CreateChannelTypeResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deleteChannelType(request: {\n name: string;\n }): Promise<StreamResponse<Response>> {\n const pathParams = {\n name: request?.name,\n };\n\n const response = await this.apiClient.sendRequest<StreamResponse<Response>>(\n 'DELETE',\n '/api/v2/chat/channeltypes/{name}',\n pathParams,\n undefined,\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getChannelType(request: {\n name: string;\n }): Promise<StreamResponse<GetChannelTypeResponse>> {\n const pathParams = {\n name: request?.name,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<GetChannelTypeResponse>\n >('GET', '/api/v2/chat/channeltypes/{name}', pathParams, undefined);\n\n decoders.GetChannelTypeResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async updateChannelType(\n request: UpdateChannelTypeRequest & { name: string },\n ): Promise<StreamResponse<UpdateChannelTypeResponse>> {\n const pathParams = {\n name: request?.name,\n };\n const body = {\n automod: request?.automod,\n automod_behavior: request?.automod_behavior,\n max_message_length: request?.max_message_length,\n blocklist: request?.blocklist,\n blocklist_behavior: request?.blocklist_behavior,\n connect_events: request?.connect_events,\n count_messages: request?.count_messages,\n custom_events: request?.custom_events,\n delivery_events: request?.delivery_events,\n mark_messages_pending: request?.mark_messages_pending,\n mutes: request?.mutes,\n partition_size: request?.partition_size,\n partition_ttl: request?.partition_ttl,\n polls: request?.polls,\n push_notifications: request?.push_notifications,\n quotes: request?.quotes,\n reactions: request?.reactions,\n read_events: request?.read_events,\n reminders: request?.reminders,\n replies: request?.replies,\n search: request?.search,\n shared_locations: request?.shared_locations,\n skip_last_msg_update_for_system_msgs:\n request?.skip_last_msg_update_for_system_msgs,\n typing_events: request?.typing_events,\n uploads: request?.uploads,\n url_enrichment: request?.url_enrichment,\n user_message_reminders: request?.user_message_reminders,\n allowed_flag_reasons: request?.allowed_flag_reasons,\n blocklists: request?.blocklists,\n commands: request?.commands,\n permissions: request?.permissions,\n automod_thresholds: request?.automod_thresholds,\n grants: request?.grants,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UpdateChannelTypeResponse>\n >(\n 'PUT',\n '/api/v2/chat/channeltypes/{name}',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UpdateChannelTypeResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async listCommands(): Promise<StreamResponse<ListCommandsResponse>> {\n const response = await this.apiClient.sendRequest<\n StreamResponse<ListCommandsResponse>\n >('GET', '/api/v2/chat/commands', undefined, undefined);\n\n decoders.ListCommandsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async createCommand(\n request: CreateCommandRequest,\n ): Promise<StreamResponse<CreateCommandResponse>> {\n const body = {\n description: request?.description,\n name: request?.name,\n args: request?.args,\n set: request?.set,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<CreateCommandResponse>\n >(\n 'POST',\n '/api/v2/chat/commands',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.CreateCommandResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deleteCommand(request: {\n name: string;\n }): Promise<StreamResponse<DeleteCommandResponse>> {\n const pathParams = {\n name: request?.name,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<DeleteCommandResponse>\n >('DELETE', '/api/v2/chat/commands/{name}', pathParams, undefined);\n\n decoders.DeleteCommandResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getCommand(request: {\n name: string;\n }): Promise<StreamResponse<GetCommandResponse>> {\n const pathParams = {\n name: request?.name,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<GetCommandResponse>\n >('GET', '/api/v2/chat/commands/{name}', pathParams, undefined);\n\n decoders.GetCommandResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async updateCommand(\n request: UpdateCommandRequest & { name: string },\n ): Promise<StreamResponse<UpdateCommandResponse>> {\n const pathParams = {\n name: request?.name,\n };\n const body = {\n description: request?.description,\n args: request?.args,\n set: request?.set,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UpdateCommandResponse>\n >(\n 'PUT',\n '/api/v2/chat/commands/{name}',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UpdateCommandResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async queryDrafts(\n request?: QueryDraftsRequest,\n ): Promise<StreamResponse<QueryDraftsResponse>> {\n const body = {\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n user_id: request?.user_id,\n sort: request?.sort,\n filter: request?.filter,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<QueryDraftsResponse>\n >(\n 'POST',\n '/api/v2/chat/drafts/query',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.QueryDraftsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async exportChannels(\n request: ExportChannelsRequest,\n ): Promise<StreamResponse<ExportChannelsResponse>> {\n const body = {\n channels: request?.channels,\n clear_deleted_message_text: request?.clear_deleted_message_text,\n export_users: request?.export_users,\n include_soft_deleted_channels: request?.include_soft_deleted_channels,\n include_truncated_messages: request?.include_truncated_messages,\n version: request?.version,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<ExportChannelsResponse>\n >(\n 'POST',\n '/api/v2/chat/export_channels',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.ExportChannelsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async queryMembers(request?: {\n payload?: QueryMembersPayload;\n }): Promise<StreamResponse<MembersResponse>> {\n const queryParams = {\n payload: request?.payload,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<MembersResponse>\n >('GET', '/api/v2/chat/members', undefined, queryParams);\n\n decoders.MembersResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async queryMessageHistory(\n request: QueryMessageHistoryRequest,\n ): Promise<StreamResponse<QueryMessageHistoryResponse>> {\n const body = {\n filter: request?.filter,\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n sort: request?.sort,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<QueryMessageHistoryResponse>\n >(\n 'POST',\n '/api/v2/chat/messages/history',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.QueryMessageHistoryResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deleteMessage(request: {\n id: string;\n hard?: boolean;\n deleted_by?: string;\n delete_for_me?: boolean;\n }): Promise<StreamResponse<DeleteMessageResponse>> {\n const queryParams = {\n hard: request?.hard,\n deleted_by: request?.deleted_by,\n delete_for_me: request?.delete_for_me,\n };\n const pathParams = {\n id: request?.id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<DeleteMessageResponse>\n >('DELETE', '/api/v2/chat/messages/{id}', pathParams, queryParams);\n\n decoders.DeleteMessageResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getMessage(request: {\n id: string;\n show_deleted_message?: boolean;\n }): Promise<StreamResponse<GetMessageResponse>> {\n const queryParams = {\n show_deleted_message: request?.show_deleted_message,\n };\n const pathParams = {\n id: request?.id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<GetMessageResponse>\n >('GET', '/api/v2/chat/messages/{id}', pathParams, queryParams);\n\n decoders.GetMessageResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async updateMessage(\n request: UpdateMessageRequest & { id: string },\n ): Promise<StreamResponse<UpdateMessageResponse>> {\n const pathParams = {\n id: request?.id,\n };\n const body = {\n message: request?.message,\n skip_enrich_url: request?.skip_enrich_url,\n skip_push: request?.skip_push,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UpdateMessageResponse>\n >(\n 'POST',\n '/api/v2/chat/messages/{id}',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UpdateMessageResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async updateMessagePartial(\n request: UpdateMessagePartialRequest & { id: string },\n ): Promise<StreamResponse<UpdateMessagePartialResponse>> {\n const pathParams = {\n id: request?.id,\n };\n const body = {\n skip_enrich_url: request?.skip_enrich_url,\n user_id: request?.user_id,\n unset: request?.unset,\n set: request?.set,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UpdateMessagePartialResponse>\n >(\n 'PUT',\n '/api/v2/chat/messages/{id}',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UpdateMessagePartialResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async runMessageAction(\n request: MessageActionRequest & { id: string },\n ): Promise<StreamResponse<MessageResponse>> {\n const pathParams = {\n id: request?.id,\n };\n const body = {\n form_data: request?.form_data,\n user_id: request?.user_id,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<MessageResponse>\n >(\n 'POST',\n '/api/v2/chat/messages/{id}/action',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.MessageResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async commitMessage(\n request: CommitMessageRequest & { id: string },\n ): Promise<StreamResponse<MessageResponse>> {\n const pathParams = {\n id: request?.id,\n };\n const body = {};\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<MessageResponse>\n >(\n 'POST',\n '/api/v2/chat/messages/{id}/commit',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.MessageResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async ephemeralMessageUpdate(\n request: UpdateMessagePartialRequest & { id: string },\n ): Promise<StreamResponse<UpdateMessagePartialResponse>> {\n const pathParams = {\n id: request?.id,\n };\n const body = {\n skip_enrich_url: request?.skip_enrich_url,\n user_id: request?.user_id,\n unset: request?.unset,\n set: request?.set,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UpdateMessagePartialResponse>\n >(\n 'PATCH',\n '/api/v2/chat/messages/{id}/ephemeral',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UpdateMessagePartialResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async sendReaction(\n request: SendReactionRequest & { id: string },\n ): Promise<StreamResponse<SendReactionResponse>> {\n const pathParams = {\n id: request?.id,\n };\n const body = {\n reaction: request?.reaction,\n enforce_unique: request?.enforce_unique,\n skip_push: request?.skip_push,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<SendReactionResponse>\n >(\n 'POST',\n '/api/v2/chat/messages/{id}/reaction',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.SendReactionResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deleteReaction(request: {\n id: string;\n type: string;\n user_id?: string;\n }): Promise<StreamResponse<DeleteReactionResponse>> {\n const queryParams = {\n user_id: request?.user_id,\n };\n const pathParams = {\n id: request?.id,\n type: request?.type,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<DeleteReactionResponse>\n >(\n 'DELETE',\n '/api/v2/chat/messages/{id}/reaction/{type}',\n pathParams,\n queryParams,\n );\n\n decoders.DeleteReactionResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getReactions(request: {\n id: string;\n limit?: number;\n offset?: number;\n }): Promise<StreamResponse<GetReactionsResponse>> {\n const queryParams = {\n limit: request?.limit,\n offset: request?.offset,\n };\n const pathParams = {\n id: request?.id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<GetReactionsResponse>\n >('GET', '/api/v2/chat/messages/{id}/reactions', pathParams, queryParams);\n\n decoders.GetReactionsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async queryReactions(\n request: QueryReactionsRequest & { id: string },\n ): Promise<StreamResponse<QueryReactionsResponse>> {\n const pathParams = {\n id: request?.id,\n };\n const body = {\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n user_id: request?.user_id,\n sort: request?.sort,\n filter: request?.filter,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<QueryReactionsResponse>\n >(\n 'POST',\n '/api/v2/chat/messages/{id}/reactions',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.QueryReactionsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async translateMessage(\n request: TranslateMessageRequest & { id: string },\n ): Promise<StreamResponse<MessageResponse>> {\n const pathParams = {\n id: request?.id,\n };\n const body = {\n language: request?.language,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<MessageResponse>\n >(\n 'POST',\n '/api/v2/chat/messages/{id}/translate',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.MessageResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async undeleteMessage(\n request: UpdateMessageRequest & { id: string },\n ): Promise<StreamResponse<UpdateMessageResponse>> {\n const pathParams = {\n id: request?.id,\n };\n const body = {\n message: request?.message,\n skip_enrich_url: request?.skip_enrich_url,\n skip_push: request?.skip_push,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UpdateMessageResponse>\n >(\n 'POST',\n '/api/v2/chat/messages/{id}/undelete',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UpdateMessageResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async castPollVote(\n request: CastPollVoteRequest & { message_id: string; poll_id: string },\n ): Promise<StreamResponse<PollVoteResponse>> {\n const pathParams = {\n message_id: request?.message_id,\n poll_id: request?.poll_id,\n };\n const body = {\n user_id: request?.user_id,\n user: request?.user,\n vote: request?.vote,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<PollVoteResponse>\n >(\n 'POST',\n '/api/v2/chat/messages/{message_id}/polls/{poll_id}/vote',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.PollVoteResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deletePollVote(request: {\n message_id: string;\n poll_id: string;\n vote_id: string;\n user_id?: string;\n }): Promise<StreamResponse<PollVoteResponse>> {\n const queryParams = {\n user_id: request?.user_id,\n };\n const pathParams = {\n message_id: request?.message_id,\n poll_id: request?.poll_id,\n vote_id: request?.vote_id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<PollVoteResponse>\n >(\n 'DELETE',\n '/api/v2/chat/messages/{message_id}/polls/{poll_id}/vote/{vote_id}',\n pathParams,\n queryParams,\n );\n\n decoders.PollVoteResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deleteReminder(request: {\n message_id: string;\n user_id?: string;\n }): Promise<StreamResponse<DeleteReminderResponse>> {\n const queryParams = {\n user_id: request?.user_id,\n };\n const pathParams = {\n message_id: request?.message_id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<DeleteReminderResponse>\n >(\n 'DELETE',\n '/api/v2/chat/messages/{message_id}/reminders',\n pathParams,\n queryParams,\n );\n\n decoders.DeleteReminderResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async updateReminder(\n request: UpdateReminderRequest & { message_id: string },\n ): Promise<StreamResponse<UpdateReminderResponse>> {\n const pathParams = {\n message_id: request?.message_id,\n };\n const body = {\n remind_at: request?.remind_at,\n user_id: request?.user_id,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UpdateReminderResponse>\n >(\n 'PATCH',\n '/api/v2/chat/messages/{message_id}/reminders',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UpdateReminderResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async createReminder(\n request: CreateReminderRequest & { message_id: string },\n ): Promise<StreamResponse<ReminderResponseData>> {\n const pathParams = {\n message_id: request?.message_id,\n };\n const body = {\n remind_at: request?.remind_at,\n user_id: request?.user_id,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<ReminderResponseData>\n >(\n 'POST',\n '/api/v2/chat/messages/{message_id}/reminders',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.ReminderResponseData?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getReplies(request: {\n parent_id: string;\n limit?: number;\n id_gte?: string;\n id_gt?: string;\n id_lte?: string;\n id_lt?: string;\n id_around?: string;\n sort?: SortParamRequest[];\n }): Promise<StreamResponse<GetRepliesResponse>> {\n const queryParams = {\n limit: request?.limit,\n id_gte: request?.id_gte,\n id_gt: request?.id_gt,\n id_lte: request?.id_lte,\n id_lt: request?.id_lt,\n id_around: request?.id_around,\n sort: request?.sort,\n };\n const pathParams = {\n parent_id: request?.parent_id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<GetRepliesResponse>\n >(\n 'GET',\n '/api/v2/chat/messages/{parent_id}/replies',\n pathParams,\n queryParams,\n );\n\n decoders.GetRepliesResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async queryMessageFlags(request?: {\n payload?: QueryMessageFlagsPayload;\n }): Promise<StreamResponse<QueryMessageFlagsResponse>> {\n const queryParams = {\n payload: request?.payload,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<QueryMessageFlagsResponse>\n >('GET', '/api/v2/chat/moderation/flags/message', undefined, queryParams);\n\n decoders.QueryMessageFlagsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async muteChannel(\n request?: MuteChannelRequest,\n ): Promise<StreamResponse<MuteChannelResponse>> {\n const body = {\n expiration: request?.expiration,\n user_id: request?.user_id,\n channel_cids: request?.channel_cids,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<MuteChannelResponse>\n >(\n 'POST',\n '/api/v2/chat/moderation/mute/channel',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.MuteChannelResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async unmuteChannel(\n request?: UnmuteChannelRequest,\n ): Promise<StreamResponse<UnmuteResponse>> {\n const body = {\n expiration: request?.expiration,\n user_id: request?.user_id,\n channel_cids: request?.channel_cids,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UnmuteResponse>\n >(\n 'POST',\n '/api/v2/chat/moderation/unmute/channel',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UnmuteResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async queryBannedUsers(request?: {\n payload?: QueryBannedUsersPayload;\n }): Promise<StreamResponse<QueryBannedUsersResponse>> {\n const queryParams = {\n payload: request?.payload,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<QueryBannedUsersResponse>\n >('GET', '/api/v2/chat/query_banned_users', undefined, queryParams);\n\n decoders.QueryBannedUsersResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async queryReminders(\n request?: QueryRemindersRequest,\n ): Promise<StreamResponse<QueryRemindersResponse>> {\n const body = {\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n user_id: request?.user_id,\n sort: request?.sort,\n filter: request?.filter,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<QueryRemindersResponse>\n >(\n 'POST',\n '/api/v2/chat/reminders/query',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.QueryRemindersResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async search(request?: {\n payload?: SearchPayload;\n }): Promise<StreamResponse<SearchResponse>> {\n const queryParams = {\n payload: request?.payload,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<SearchResponse>\n >('GET', '/api/v2/chat/search', undefined, queryParams);\n\n decoders.SearchResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async querySegments(\n request: QuerySegmentsRequest,\n ): Promise<StreamResponse<QuerySegmentsResponse>> {\n const body = {\n filter: request?.filter,\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n sort: request?.sort,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<QuerySegmentsResponse>\n >(\n 'POST',\n '/api/v2/chat/segments/query',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.QuerySegmentsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deleteSegment(request: {\n id: string;\n }): Promise<StreamResponse<Response>> {\n const pathParams = {\n id: request?.id,\n };\n\n const response = await this.apiClient.sendRequest<StreamResponse<Response>>(\n 'DELETE',\n '/api/v2/chat/segments/{id}',\n pathParams,\n undefined,\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getSegment(request: {\n id: string;\n }): Promise<StreamResponse<GetSegmentResponse>> {\n const pathParams = {\n id: request?.id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<GetSegmentResponse>\n >('GET', '/api/v2/chat/segments/{id}', pathParams, undefined);\n\n decoders.GetSegmentResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deleteSegmentTargets(\n request: DeleteSegmentTargetsRequest & { id: string },\n ): Promise<StreamResponse<Response>> {\n const pathParams = {\n id: request?.id,\n };\n const body = {\n target_ids: request?.target_ids,\n };\n\n const response = await this.apiClient.sendRequest<StreamResponse<Response>>(\n 'POST',\n '/api/v2/chat/segments/{id}/deletetargets',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async segmentTargetExists(request: {\n id: string;\n target_id: string;\n }): Promise<StreamResponse<Response>> {\n const pathParams = {\n id: request?.id,\n target_id: request?.target_id,\n };\n\n const response = await this.apiClient.sendRequest<StreamResponse<Response>>(\n 'GET',\n '/api/v2/chat/segments/{id}/target/{target_id}',\n pathParams,\n undefined,\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async querySegmentTargets(\n request: QuerySegmentTargetsRequest & { id: string },\n ): Promise<StreamResponse<QuerySegmentTargetsResponse>> {\n const pathParams = {\n id: request?.id,\n };\n const body = {\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n sort: request?.sort,\n filter: request?.filter,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<QuerySegmentTargetsResponse>\n >(\n 'POST',\n '/api/v2/chat/segments/{id}/targets/query',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.QuerySegmentTargetsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async queryThreads(\n request?: QueryThreadsRequest,\n ): Promise<StreamResponse<QueryThreadsResponse>> {\n const body = {\n limit: request?.limit,\n member_limit: request?.member_limit,\n next: request?.next,\n participant_limit: request?.participant_limit,\n prev: request?.prev,\n reply_limit: request?.reply_limit,\n user_id: request?.user_id,\n sort: request?.sort,\n filter: request?.filter,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<QueryThreadsResponse>\n >(\n 'POST',\n '/api/v2/chat/threads',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.QueryThreadsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getThread(request: {\n message_id: string;\n reply_limit?: number;\n participant_limit?: number;\n member_limit?: number;\n }): Promise<StreamResponse<GetThreadResponse>> {\n const queryParams = {\n reply_limit: request?.reply_limit,\n participant_limit: request?.participant_limit,\n member_limit: request?.member_limit,\n };\n const pathParams = {\n message_id: request?.message_id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<GetThreadResponse>\n >('GET', '/api/v2/chat/threads/{message_id}', pathParams, queryParams);\n\n decoders.GetThreadResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async updateThreadPartial(\n request: UpdateThreadPartialRequest & { message_id: string },\n ): Promise<StreamResponse<UpdateThreadPartialResponse>> {\n const pathParams = {\n message_id: request?.message_id,\n };\n const body = {\n user_id: request?.user_id,\n unset: request?.unset,\n set: request?.set,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UpdateThreadPartialResponse>\n >(\n 'PATCH',\n '/api/v2/chat/threads/{message_id}',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UpdateThreadPartialResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async unreadCounts(): Promise<StreamResponse<WrappedUnreadCountsResponse>> {\n const response = await this.apiClient.sendRequest<\n StreamResponse<WrappedUnreadCountsResponse>\n >('GET', '/api/v2/chat/unread', undefined, undefined);\n\n decoders.WrappedUnreadCountsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async unreadCountsBatch(\n request: UnreadCountsBatchRequest,\n ): Promise<StreamResponse<UnreadCountsBatchResponse>> {\n const body = {\n user_ids: request?.user_ids,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UnreadCountsBatchResponse>\n >(\n 'POST',\n '/api/v2/chat/unread_batch',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UnreadCountsBatchResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async sendUserCustomEvent(\n request: SendUserCustomEventRequest & { user_id: string },\n ): Promise<StreamResponse<Response>> {\n const pathParams = {\n user_id: request?.user_id,\n };\n const body = {\n event: request?.event,\n };\n\n const response = await this.apiClient.sendRequest<StreamResponse<Response>>(\n 'POST',\n '/api/v2/chat/users/{user_id}/event',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n}\n","import { StreamResponse, ChatApi } from '../../gen-imports';\nimport {\n ChannelGetOrCreateRequest,\n ChannelStateResponse,\n DeleteChannelResponse,\n EventResponse,\n GetDraftResponse,\n GetManyMessagesResponse,\n HideChannelRequest,\n HideChannelResponse,\n MarkReadRequest,\n MarkReadResponse,\n MarkUnreadRequest,\n Response,\n SendEventRequest,\n SendMessageRequest,\n SendMessageResponse,\n ShowChannelRequest,\n ShowChannelResponse,\n TruncateChannelRequest,\n TruncateChannelResponse,\n UpdateChannelPartialRequest,\n UpdateChannelPartialResponse,\n UpdateChannelRequest,\n UpdateChannelResponse,\n UpdateMemberPartialRequest,\n UpdateMemberPartialResponse,\n UploadChannelFileRequest,\n UploadChannelFileResponse,\n UploadChannelRequest,\n UploadChannelResponse,\n} from '../models';\n\nexport class ChannelApi {\n constructor(\n protected chatApi: ChatApi,\n public readonly type: string,\n public id: string | undefined,\n ) {}\n\n delete(request?: {\n hard_delete?: boolean;\n }): Promise<StreamResponse<DeleteChannelResponse>> {\n if (!this.id) {\n throw new Error(\n `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,\n );\n }\n\n return this.chatApi.deleteChannel({\n id: this.id,\n type: this.type,\n ...request,\n });\n }\n\n updateChannelPartial(\n request?: UpdateChannelPartialRequest,\n ): Promise<StreamResponse<UpdateChannelPartialResponse>> {\n if (!this.id) {\n throw new Error(\n `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,\n );\n }\n\n return this.chatApi.updateChannelPartial({\n id: this.id,\n type: this.type,\n ...request,\n });\n }\n\n update(\n request?: UpdateChannelRequest,\n ): Promise<StreamResponse<UpdateChannelResponse>> {\n if (!this.id) {\n throw new Error(\n `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,\n );\n }\n\n return this.chatApi.updateChannel({\n id: this.id,\n type: this.type,\n ...request,\n });\n }\n\n deleteDraft(request?: {\n parent_id?: string;\n user_id?: string;\n }): Promise<StreamResponse<Response>> {\n if (!this.id) {\n throw new Error(\n `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,\n );\n }\n\n return this.chatApi.deleteDraft({\n id: this.id,\n type: this.type,\n ...request,\n });\n }\n\n getDraft(request?: {\n parent_id?: string;\n user_id?: string;\n }): Promise<StreamResponse<GetDraftResponse>> {\n if (!this.id) {\n throw new Error(\n `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,\n );\n }\n\n return this.chatApi.getDraft({ id: this.id, type: this.type, ...request });\n }\n\n sendEvent(request: SendEventRequest): Promise<StreamResponse<EventResponse>> {\n if (!this.id) {\n throw new Error(\n `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,\n );\n }\n\n return this.chatApi.sendEvent({ id: this.id, type: this.type, ...request });\n }\n\n deleteChannelFile(request?: {\n url?: string;\n }): Promise<StreamResponse<Response>> {\n if (!this.id) {\n throw new Error(\n `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,\n );\n }\n\n return this.chatApi.deleteChannelFile({\n id: this.id,\n type: this.type,\n ...request,\n });\n }\n\n uploadChannelFile(\n request?: UploadChannelFileRequest,\n ): Promise<StreamResponse<UploadChannelFileResponse>> {\n if (!this.id) {\n throw new Error(\n `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,\n );\n }\n\n return this.chatApi.uploadChannelFile({\n id: this.id,\n type: this.type,\n ...request,\n });\n }\n\n hide(\n request?: HideChannelRequest,\n ): Promise<StreamResponse<HideChannelResponse>> {\n if (!this.id) {\n throw new Error(\n `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,\n );\n }\n\n return this.chatApi.hideChannel({\n id: this.id,\n type: this.type,\n ...request,\n });\n }\n\n deleteChannelImage(request?: {\n url?: string;\n }): Promise<StreamResponse<Response>> {\n if (!this.id) {\n throw new Error(\n `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,\n );\n }\n\n return this.chatApi.deleteChannelImage({\n id: this.id,\n type: this.type,\n ...request,\n });\n }\n\n uploadChannelImage(\n request?: UploadChannelRequest,\n ): Promise<StreamResponse<UploadChannelResponse>> {\n if (!this.id) {\n throw new Error(\n `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,\n );\n }\n\n return this.chatApi.uploadChannelImage({\n id: this.id,\n type: this.type,\n ...request,\n });\n }\n\n updateMemberPartial(\n request?: UpdateMemberPartialRequest & { user_id?: string },\n ): Promise<StreamResponse<UpdateMemberPartialResponse>> {\n if (!this.id) {\n throw new Error(\n `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,\n );\n }\n\n return this.chatApi.updateMemberPartial({\n id: this.id,\n type: this.type,\n ...request,\n });\n }\n\n sendMessage(\n request: SendMessageRequest,\n ): Promise<StreamResponse<SendMessageResponse>> {\n if (!this.id) {\n throw new Error(\n `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,\n );\n }\n\n return this.chatApi.sendMessage({\n id: this.id,\n type: this.type,\n ...request,\n });\n }\n\n getManyMessages(request: {\n ids: string[];\n }): Promise<StreamResponse<GetManyMessagesResponse>> {\n if (!this.id) {\n throw new Error(\n `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,\n );\n }\n\n return this.chatApi.getManyMessages({\n id: this.id,\n type: this.type,\n ...request,\n });\n }\n\n getOrCreate(\n request?: ChannelGetOrCreateRequest,\n ): Promise<StreamResponse<ChannelStateResponse>> {\n if (!this.id) {\n throw new Error(\n `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,\n );\n }\n\n return this.chatApi.getOrCreateChannel({\n id: this.id,\n type: this.type,\n ...request,\n });\n }\n\n markRead(\n request?: MarkReadRequest,\n ): Promise<StreamResponse<MarkReadResponse>> {\n if (!this.id) {\n throw new Error(\n `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,\n );\n }\n\n return this.chatApi.markRead({ id: this.id, type: this.type, ...request });\n }\n\n show(\n request?: ShowChannelRequest,\n ): Promise<StreamResponse<ShowChannelResponse>> {\n if (!this.id) {\n throw new Error(\n `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,\n );\n }\n\n return this.chatApi.showChannel({\n id: this.id,\n type: this.type,\n ...request,\n });\n }\n\n truncate(\n request?: TruncateChannelRequest,\n ): Promise<StreamResponse<TruncateChannelResponse>> {\n if (!this.id) {\n throw new Error(\n `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,\n );\n }\n\n return this.chatApi.truncateChannel({\n id: this.id,\n type: this.type,\n ...request,\n });\n }\n\n markUnread(request?: MarkUnreadRequest): Promise<StreamResponse<Response>> {\n if (!this.id) {\n throw new Error(\n `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,\n );\n }\n\n return this.chatApi.markUnread({\n id: this.id,\n type: this.type,\n ...request,\n });\n }\n}\n","import { ChannelApi } from './gen/chat/ChannelApi';\nimport { ChannelGetOrCreateRequest, QueryMembersPayload } from './gen/models';\nimport { OmitTypeId } from './types';\n\nexport class StreamChannel extends ChannelApi {\n get cid() {\n return `${this.type}:${this.id}`;\n }\n\n getOrCreate = (channel_get_or_create_request?: ChannelGetOrCreateRequest) => {\n if (!this.id) {\n return this.chatApi\n .getOrCreateDistinctChannel({\n type: this.type,\n ...channel_get_or_create_request,\n })\n .then((response) => {\n this.id = response.channel?.id;\n return response;\n });\n } else {\n return this.chatApi.getOrCreateChannel({\n id: this.id,\n type: this.type,\n ...channel_get_or_create_request,\n });\n }\n };\n\n queryMembers(request?: { payload?: OmitTypeId<QueryMembersPayload> }) {\n return this.chatApi.queryMembers({\n payload: {\n id: this.id,\n type: this.type,\n ...(request?.payload ?? { filter_conditions: {} }),\n },\n });\n }\n}\n","import { ChatApi } from './gen/chat/ChatApi';\nimport { StreamChannel } from './StreamChannel';\n\nexport class StreamChatClient extends ChatApi {\n channel = (type: string, id?: string) => {\n return new StreamChannel(this, type, id);\n };\n}\n","import { ApiClient, StreamResponse } from '../../gen-imports';\nimport {\n BanRequest,\n BanResponse,\n BulkImageModerationRequest,\n BulkImageModerationResponse,\n CheckRequest,\n CheckResponse,\n CustomCheckRequest,\n CustomCheckResponse,\n DeleteModerationConfigResponse,\n DeleteModerationRuleResponse,\n DeleteModerationTemplateResponse,\n FlagRequest,\n FlagResponse,\n GetConfigResponse,\n GetModerationRuleResponse,\n GetReviewQueueItemResponse,\n MuteRequest,\n MuteResponse,\n QueryFeedModerationTemplatesResponse,\n QueryModerationConfigsRequest,\n QueryModerationConfigsResponse,\n QueryModerationFlagsRequest,\n QueryModerationFlagsResponse,\n QueryModerationLogsRequest,\n QueryModerationLogsResponse,\n QueryModerationRulesRequest,\n QueryModerationRulesResponse,\n QueryReviewQueueRequest,\n QueryReviewQueueResponse,\n SubmitActionRequest,\n SubmitActionResponse,\n UnbanRequest,\n UnbanResponse,\n UnmuteRequest,\n UnmuteResponse,\n UpsertConfigRequest,\n UpsertConfigResponse,\n UpsertModerationRuleRequest,\n UpsertModerationRuleResponse,\n UpsertModerationTemplateRequest,\n UpsertModerationTemplateResponse,\n} from '../models';\nimport { decoders } from '../model-decoders/decoders';\n\nexport class ModerationApi {\n constructor(public readonly apiClient: ApiClient) {}\n\n async ban(request: BanRequest): Promise<StreamResponse<BanResponse>> {\n const body = {\n target_user_id: request?.target_user_id,\n banned_by_id: request?.banned_by_id,\n channel_cid: request?.channel_cid,\n delete_messages: request?.delete_messages,\n ip_ban: request?.ip_ban,\n reason: request?.reason,\n shadow: request?.shadow,\n timeout: request?.timeout,\n banned_by: request?.banned_by,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<BanResponse>\n >(\n 'POST',\n '/api/v2/moderation/ban',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.BanResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async bulkImageModeration(\n request: BulkImageModerationRequest,\n ): Promise<StreamResponse<BulkImageModerationResponse>> {\n const body = {\n csv_file: request?.csv_file,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<BulkImageModerationResponse>\n >(\n 'POST',\n '/api/v2/moderation/bulk_image_moderation',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.BulkImageModerationResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async check(request: CheckRequest): Promise<StreamResponse<CheckResponse>> {\n const body = {\n entity_creator_id: request?.entity_creator_id,\n entity_id: request?.entity_id,\n entity_type: request?.entity_type,\n config_key: request?.config_key,\n config_team: request?.config_team,\n test_mode: request?.test_mode,\n user_id: request?.user_id,\n config: request?.config,\n moderation_payload: request?.moderation_payload,\n options: request?.options,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<CheckResponse>\n >(\n 'POST',\n '/api/v2/moderation/check',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.CheckResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async upsertConfig(\n request: UpsertConfigRequest,\n ): Promise<StreamResponse<UpsertConfigResponse>> {\n const body = {\n key: request?.key,\n async: request?.async,\n team: request?.team,\n user_id: request?.user_id,\n ai_image_config: request?.ai_image_config,\n ai_text_config: request?.ai_text_config,\n ai_video_config: request?.ai_video_config,\n automod_platform_circumvention_config:\n request?.automod_platform_circumvention_config,\n automod_semantic_filters_config: request?.automod_semantic_filters_config,\n automod_toxicity_config: request?.automod_toxicity_config,\n aws_rekognition_config: request?.aws_rekognition_config,\n block_list_config: request?.block_list_config,\n bodyguard_config: request?.bodyguard_config,\n google_vision_config: request?.google_vision_config,\n llm_config: request?.llm_config,\n rule_builder_config: request?.rule_builder_config,\n user: request?.user,\n velocity_filter_config: request?.velocity_filter_config,\n video_call_rule_config: request?.video_call_rule_config,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UpsertConfigResponse>\n >(\n 'POST',\n '/api/v2/moderation/config',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UpsertConfigResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deleteConfig(request: {\n key: string;\n team?: string;\n }): Promise<StreamResponse<DeleteModerationConfigResponse>> {\n const queryParams = {\n team: request?.team,\n };\n const pathParams = {\n key: request?.key,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<DeleteModerationConfigResponse>\n >('DELETE', '/api/v2/moderation/config/{key}', pathParams, queryParams);\n\n decoders.DeleteModerationConfigResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getConfig(request: {\n key: string;\n team?: string;\n }): Promise<StreamResponse<GetConfigResponse>> {\n const queryParams = {\n team: request?.team,\n };\n const pathParams = {\n key: request?.key,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<GetConfigResponse>\n >('GET', '/api/v2/moderation/config/{key}', pathParams, queryParams);\n\n decoders.GetConfigResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async queryModerationConfigs(\n request?: QueryModerationConfigsRequest,\n ): Promise<StreamResponse<QueryModerationConfigsResponse>> {\n const body = {\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n user_id: request?.user_id,\n sort: request?.sort,\n filter: request?.filter,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<QueryModerationConfigsResponse>\n >(\n 'POST',\n '/api/v2/moderation/configs',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.QueryModerationConfigsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async customCheck(\n request: CustomCheckRequest,\n ): Promise<StreamResponse<CustomCheckResponse>> {\n const body = {\n entity_id: request?.entity_id,\n entity_type: request?.entity_type,\n flags: request?.flags,\n entity_creator_id: request?.entity_creator_id,\n user_id: request?.user_id,\n moderation_payload: request?.moderation_payload,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<CustomCheckResponse>\n >(\n 'POST',\n '/api/v2/moderation/custom_check',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.CustomCheckResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async v2DeleteTemplate(): Promise<\n StreamResponse<DeleteModerationTemplateResponse>\n > {\n const response = await this.apiClient.sendRequest<\n StreamResponse<DeleteModerationTemplateResponse>\n >(\n 'DELETE',\n '/api/v2/moderation/feeds_moderation_template',\n undefined,\n undefined,\n );\n\n decoders.DeleteModerationTemplateResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async v2QueryTemplates(): Promise<\n StreamResponse<QueryFeedModerationTemplatesResponse>\n > {\n const response = await this.apiClient.sendRequest<\n StreamResponse<QueryFeedModerationTemplatesResponse>\n >(\n 'GET',\n '/api/v2/moderation/feeds_moderation_template',\n undefined,\n undefined,\n );\n\n decoders.QueryFeedModerationTemplatesResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async v2UpsertTemplate(\n request: UpsertModerationTemplateRequest,\n ): Promise<StreamResponse<UpsertModerationTemplateResponse>> {\n const body = {\n name: request?.name,\n config: request?.config,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UpsertModerationTemplateResponse>\n >(\n 'POST',\n '/api/v2/moderation/feeds_moderation_template',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UpsertModerationTemplateResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async flag(request: FlagRequest): Promise<StreamResponse<FlagResponse>> {\n const body = {\n entity_id: request?.entity_id,\n entity_type: request?.entity_type,\n entity_creator_id: request?.entity_creator_id,\n reason: request?.reason,\n user_id: request?.user_id,\n custom: request?.custom,\n moderation_payload: request?.moderation_payload,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<FlagResponse>\n >(\n 'POST',\n '/api/v2/moderation/flag',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.FlagResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async queryModerationFlags(\n request?: QueryModerationFlagsRequest,\n ): Promise<StreamResponse<QueryModerationFlagsResponse>> {\n const body = {\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n sort: request?.sort,\n filter: request?.filter,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<QueryModerationFlagsResponse>\n >(\n 'POST',\n '/api/v2/moderation/flags',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.QueryModerationFlagsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async queryModerationLogs(\n request?: QueryModerationLogsRequest,\n ): Promise<StreamResponse<QueryModerationLogsResponse>> {\n const body = {\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n user_id: request?.user_id,\n sort: request?.sort,\n filter: request?.filter,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<QueryModerationLogsResponse>\n >(\n 'POST',\n '/api/v2/moderation/logs',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.QueryModerationLogsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async upsertModerationRule(\n request: UpsertModerationRuleRequest,\n ): Promise<StreamResponse<UpsertModerationRuleResponse>> {\n const body = {\n name: request?.name,\n rule_type: request?.rule_type,\n action: request?.action,\n cooldown_period: request?.cooldown_period,\n description: request?.description,\n enabled: request?.enabled,\n logic: request?.logic,\n team: request?.team,\n conditions: request?.conditions,\n config_keys: request?.config_keys,\n groups: request?.groups,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UpsertModerationRuleResponse>\n >(\n 'POST',\n '/api/v2/moderation/moderation_rule',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UpsertModerationRuleResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deleteModerationRule(): Promise<\n StreamResponse<DeleteModerationRuleResponse>\n > {\n const response = await this.apiClient.sendRequest<\n StreamResponse<DeleteModerationRuleResponse>\n >(\n 'DELETE',\n '/api/v2/moderation/moderation_rule/{id}',\n undefined,\n undefined,\n );\n\n decoders.DeleteModerationRuleResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getModerationRule(): Promise<\n StreamResponse<GetModerationRuleResponse>\n > {\n const response = await this.apiClient.sendRequest<\n StreamResponse<GetModerationRuleResponse>\n >('GET', '/api/v2/moderation/moderation_rule/{id}', undefined, undefined);\n\n decoders.GetModerationRuleResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async queryModerationRules(\n request?: QueryModerationRulesRequest,\n ): Promise<StreamResponse<QueryModerationRulesResponse>> {\n const body = {\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n user_id: request?.user_id,\n sort: request?.sort,\n filter: request?.filter,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<QueryModerationRulesResponse>\n >(\n 'POST',\n '/api/v2/moderation/moderation_rules',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.QueryModerationRulesResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async mute(request: MuteRequest): Promise<StreamResponse<MuteResponse>> {\n const body = {\n target_ids: request?.target_ids,\n timeout: request?.timeout,\n user_id: request?.user_id,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<MuteResponse>\n >(\n 'POST',\n '/api/v2/moderation/mute',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.MuteResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async queryReviewQueue(\n request?: QueryReviewQueueRequest,\n ): Promise<StreamResponse<QueryReviewQueueResponse>> {\n const body = {\n limit: request?.limit,\n lock_count: request?.lock_count,\n lock_duration: request?.lock_duration,\n lock_items: request?.lock_items,\n next: request?.next,\n prev: request?.prev,\n stats_only: request?.stats_only,\n user_id: request?.user_id,\n sort: request?.sort,\n filter: request?.filter,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<QueryReviewQueueResponse>\n >(\n 'POST',\n '/api/v2/moderation/review_queue',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.QueryReviewQueueResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getReviewQueueItem(request: {\n id: string;\n }): Promise<StreamResponse<GetReviewQueueItemResponse>> {\n const pathParams = {\n id: request?.id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<GetReviewQueueItemResponse>\n >('GET', '/api/v2/moderation/review_queue/{id}', pathParams, undefined);\n\n decoders.GetReviewQueueItemResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async submitAction(\n request: SubmitActionRequest,\n ): Promise<StreamResponse<SubmitActionResponse>> {\n const body = {\n action_type: request?.action_type,\n item_id: request?.item_id,\n user_id: request?.user_id,\n ban: request?.ban,\n block: request?.block,\n custom: request?.custom,\n delete_activity: request?.delete_activity,\n delete_comment: request?.delete_comment,\n delete_message: request?.delete_message,\n delete_reaction: request?.delete_reaction,\n delete_user: request?.delete_user,\n mark_reviewed: request?.mark_reviewed,\n shadow_block: request?.shadow_block,\n unban: request?.unban,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<SubmitActionResponse>\n >(\n 'POST',\n '/api/v2/moderation/submit_action',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.SubmitActionResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async unban(\n request: UnbanRequest & {\n target_user_id: string;\n channel_cid?: string;\n created_by?: string;\n },\n ): Promise<StreamResponse<UnbanResponse>> {\n const queryParams = {\n target_user_id: request?.target_user_id,\n channel_cid: request?.channel_cid,\n created_by: request?.created_by,\n };\n const body = {\n unbanned_by_id: request?.unbanned_by_id,\n unbanned_by: request?.unbanned_by,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UnbanResponse>\n >(\n 'POST',\n '/api/v2/moderation/unban',\n undefined,\n queryParams,\n body,\n 'application/json',\n );\n\n decoders.UnbanResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async unmute(\n request: UnmuteRequest,\n ): Promise<StreamResponse<UnmuteResponse>> {\n const body = {\n target_ids: request?.target_ids,\n user_id: request?.user_id,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UnmuteResponse>\n >(\n 'POST',\n '/api/v2/moderation/unmute',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UnmuteResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n}\n","import { ModerationApi } from './gen/moderation/ModerationApi';\n\nexport class StreamModerationClient extends ModerationApi {}\n","export type OmitTypeId<T> = Omit<T, 'type' | 'id' | 'connection_id'>;\n\nexport interface ApiConfig {\n apiKey: string;\n token: string;\n baseUrl: string;\n /** The timeout for requests in milliseconds. The default is 3000. */\n timeout: number;\n agent?: RequestInit['dispatcher'];\n secret?: string;\n}\n\nexport interface RequestMetadata {\n responseHeaders: Headers;\n rateLimit: RateLimit;\n responseCode: number;\n clientRequestId: string;\n}\n\nexport type StreamResponse<T> = T & {\n metadata: RequestMetadata;\n};\n\nexport class StreamError extends Error {\n constructor(\n message: string,\n public metadata: Partial<RequestMetadata>,\n public code?: number,\n errorOptions?: ErrorOptions,\n ) {\n super(message, errorOptions);\n }\n}\n\nexport interface RateLimit {\n rateLimit?: number;\n rateLimitRemaining?: number;\n rateLimitReset?: Date;\n}\n\ninterface BaseTokenPayload {\n user_id: string;\n exp?: number;\n iat: number;\n call_cids?: string[];\n}\n\nexport type UserTokenPayload = BaseTokenPayload;\n\nexport type CallTokenPayload = BaseTokenPayload & {\n call_cids: string[];\n role?: string;\n};\n","import { RateLimit } from '../types';\n\nexport const getRateLimitFromResponseHeader = (responseHeaders: Headers) => {\n const rateLimit = responseHeaders.has('x-ratelimit-limit')\n ? +responseHeaders.get('x-ratelimit-limit')!\n : undefined;\n const rateLimitRemaining = responseHeaders.has('x-ratelimit-remaining')\n ? +responseHeaders.get('x-ratelimit-remaining')!\n : undefined;\n const rateLimitReset = responseHeaders.has('x-ratelimit-reset')\n ? new Date(+responseHeaders.get('x-ratelimit-reset')! * 1000)\n : undefined;\n\n const result: RateLimit = {\n rateLimit,\n rateLimitRemaining,\n rateLimitReset,\n };\n\n return result;\n};\n","import { v4 as uuidv4 } from 'uuid';\nimport { ApiConfig, RequestMetadata, StreamError } from './types';\nimport { APIError } from './gen/models';\nimport { getRateLimitFromResponseHeader } from './utils/rate-limit';\n\nexport class ApiClient {\n private readonly dispatcher?: RequestInit['dispatcher'];\n\n constructor(public readonly apiConfig: ApiConfig) {\n this.dispatcher = this.apiConfig.agent;\n }\n\n /**\n *\n * @internal\n */\n sendRequest = async <T>(\n method: string,\n url: string,\n pathParams?: Record<string, string>,\n queryParams?: Record<string, any>,\n body?: any,\n requestContentType?: string,\n ) => {\n queryParams = queryParams ?? {};\n queryParams.api_key = this.apiConfig.apiKey;\n const encodedParams = this.queryParamsStringify(queryParams);\n if (pathParams) {\n Object.keys(pathParams).forEach((paramName) => {\n url = url.replace(`{${paramName}}`, pathParams[paramName]);\n });\n }\n\n url += `?${encodedParams}`;\n const clientRequestId = uuidv4();\n const headers: Record<string, string> = {\n Authorization: this.apiConfig.token,\n 'stream-auth-type': 'jwt',\n 'X-Stream-Client': 'stream-node-' + process.env.PKG_VERSION,\n 'Accept-Encoding': 'gzip',\n 'x-client-request-id': clientRequestId,\n };\n\n // https://stackoverflow.com/questions/39280438/fetch-missing-boundary-in-multipart-form-data-post\n if (requestContentType !== 'multipart/form-data') {\n headers['Content-Type'] = requestContentType ?? 'application/json';\n }\n\n const signal = AbortSignal.timeout(this.apiConfig.timeout);\n\n const encodedBody =\n requestContentType === 'multipart/form-data'\n ? new FormData()\n : JSON.stringify(body);\n if (requestContentType === 'multipart/form-data') {\n Object.keys(body).forEach((key) => {\n (encodedBody as FormData).append(key, body[key]);\n });\n }\n\n try {\n const response = await fetch(`${this.apiConfig.baseUrl}${url}`, {\n signal:\n requestContentType === 'multipart/form-data' ? undefined : signal,\n method,\n body: encodedBody,\n headers,\n dispatcher: this.dispatcher,\n });\n\n const responseHeaders = response.headers;\n\n const metadata: RequestMetadata = {\n clientRequestId,\n responseHeaders,\n responseCode: response.status,\n rateLimit: getRateLimitFromResponseHeader(responseHeaders),\n };\n\n if (response.status < 200 || response.status >= 300) {\n let error: APIError;\n try {\n error = (await response.json()) as APIError;\n } catch (_) {\n throw new StreamError(\n `Stream error: ${response.status} - ${response.statusText}`,\n metadata,\n response.status,\n );\n }\n throw new StreamError(\n `Stream error code ${error!.code}: ${error!.message}`,\n metadata,\n error!.code,\n undefined,\n );\n }\n\n const responseBody = (await response.json()) as T;\n\n return { body: responseBody, metadata };\n } catch (error: any) {\n if (error instanceof StreamError) {\n throw error;\n }\n const metadata: Partial<RequestMetadata> = {\n clientRequestId,\n responseCode: error.status,\n };\n if (error.name === 'AbortError' || error.name === 'TimeoutError') {\n throw new StreamError(\n `The request was aborted due to to the ${this.apiConfig.timeout}ms timeout, you can set the timeout in the StreamClient constructor`,\n metadata,\n undefined,\n error,\n );\n } else {\n throw new StreamError(\n `The request failed due to an unexpected error`,\n metadata,\n error,\n );\n }\n }\n };\n\n protected queryParamsStringify = (params: Record<string, any>) => {\n const newParams = [];\n for (const k in params) {\n const param = params[k];\n if (Array.isArray(param)) {\n newParams.push(`${k}=${encodeURIComponent(param.join(','))}`);\n } else if (param instanceof Date) {\n newParams.push(param.toISOString());\n } else if (typeof param === 'object') {\n newParams.push(`${k}=${encodeURIComponent(JSON.stringify(param))}`);\n } else {\n if (\n typeof param === 'string' ||\n typeof param === 'number' ||\n typeof param === 'boolean'\n ) {\n newParams.push(`${k}=${encodeURIComponent(param)}`);\n }\n }\n }\n\n return newParams.join('&');\n };\n}\n","import { ApiClient, StreamResponse } from '../../gen-imports';\nimport {\n AcceptFeedMemberInviteRequest,\n AcceptFeedMemberInviteResponse,\n AcceptFollowRequest,\n AcceptFollowResponse,\n ActivityFeedbackRequest,\n ActivityFeedbackResponse,\n AddActivityRequest,\n AddActivityResponse,\n AddBookmarkRequest,\n AddBookmarkResponse,\n AddCommentReactionRequest,\n AddCommentReactionResponse,\n AddCommentRequest,\n AddCommentResponse,\n AddCommentsBatchRequest,\n AddCommentsBatchResponse,\n AddReactionRequest,\n AddReactionResponse,\n CastPollVoteRequest,\n CreateFeedGroupRequest,\n CreateFeedGroupResponse,\n CreateFeedViewRequest,\n CreateFeedViewResponse,\n CreateFeedsBatchRequest,\n CreateFeedsBatchResponse,\n CreateMembershipLevelRequest,\n CreateMembershipLevelResponse,\n DeleteActivitiesRequest,\n DeleteActivitiesResponse,\n DeleteActivityReactionResponse,\n DeleteActivityResponse,\n DeleteBookmarkFolderResponse,\n DeleteBookmarkResponse,\n DeleteCommentReactionResponse,\n DeleteCommentResponse,\n DeleteFeedGroupResponse,\n DeleteFeedResponse,\n DeleteFeedUserDataResponse,\n DeleteFeedViewResponse,\n ExportFeedUserDataResponse,\n FollowBatchRequest,\n FollowBatchResponse,\n FollowRequest,\n GetActivityResponse,\n GetCommentRepliesResponse,\n GetCommentResponse,\n GetCommentsResponse,\n GetFeedGroupResponse,\n GetFeedViewResponse,\n GetFeedVisibilityResponse,\n GetFeedsRateLimitsResponse,\n GetFollowSuggestionsResponse,\n GetOrCreateFeedGroupRequest,\n GetOrCreateFeedGroupResponse,\n GetOrCreateFeedRequest,\n GetOrCreateFeedResponse,\n GetOrCreateFeedViewRequest,\n GetOrCreateFeedViewResponse,\n ListFeedGroupsResponse,\n ListFeedViewsResponse,\n ListFeedVisibilitiesResponse,\n MarkActivityRequest,\n OwnCapabilitiesBatchRequest,\n OwnCapabilitiesBatchResponse,\n PinActivityRequest,\n PinActivityResponse,\n PollVoteResponse,\n QueryActivitiesRequest,\n QueryActivitiesResponse,\n QueryActivityReactionsRequest,\n QueryActivityReactionsResponse,\n QueryBookmarkFoldersRequest,\n QueryBookmarkFoldersResponse,\n QueryBookmarksRequest,\n QueryBookmarksResponse,\n QueryCommentReactionsRequest,\n QueryCommentReactionsResponse,\n QueryCommentsRequest,\n QueryCommentsResponse,\n QueryFeedMembersRequest,\n QueryFeedMembersResponse,\n QueryFeedsRequest,\n QueryFeedsResponse,\n QueryFeedsUsageStatsRequest,\n QueryFeedsUsageStatsResponse,\n QueryFollowsRequest,\n QueryFollowsResponse,\n QueryMembershipLevelsRequest,\n QueryMembershipLevelsResponse,\n RejectFeedMemberInviteRequest,\n RejectFeedMemberInviteResponse,\n RejectFollowRequest,\n RejectFollowResponse,\n Response,\n SingleFollowResponse,\n UnfollowBatchRequest,\n UnfollowBatchResponse,\n UnfollowResponse,\n UnpinActivityResponse,\n UpdateActivityPartialRequest,\n UpdateActivityPartialResponse,\n UpdateActivityRequest,\n UpdateActivityResponse,\n UpdateBookmarkFolderRequest,\n UpdateBookmarkFolderResponse,\n UpdateBookmarkRequest,\n UpdateBookmarkResponse,\n UpdateCommentRequest,\n UpdateCommentResponse,\n UpdateFeedGroupRequest,\n UpdateFeedGroupResponse,\n UpdateFeedMembersRequest,\n UpdateFeedMembersResponse,\n UpdateFeedRequest,\n UpdateFeedResponse,\n UpdateFeedViewRequest,\n UpdateFeedViewResponse,\n UpdateFeedVisibilityRequest,\n UpdateFeedVisibilityResponse,\n UpdateFollowRequest,\n UpdateFollowResponse,\n UpdateMembershipLevelRequest,\n UpdateMembershipLevelResponse,\n UpsertActivitiesRequest,\n UpsertActivitiesResponse,\n} from '../models';\nimport { decoders } from '../model-decoders/decoders';\n\nexport class FeedsApi {\n constructor(public readonly apiClient: ApiClient) {}\n\n async addActivity(\n request: AddActivityRequest,\n ): Promise<StreamResponse<AddActivityResponse>> {\n const body = {\n type: request?.type,\n feeds: request?.feeds,\n expires_at: request?.expires_at,\n id: request?.id,\n parent_id: request?.parent_id,\n poll_id: request?.poll_id,\n restrict_replies: request?.restrict_replies,\n text: request?.text,\n user_id: request?.user_id,\n visibility: request?.visibility,\n visibility_tag: request?.visibility_tag,\n attachments: request?.attachments,\n filter_tags: request?.filter_tags,\n interest_tags: request?.interest_tags,\n mentioned_user_ids: request?.mentioned_user_ids,\n custom: request?.custom,\n location: request?.location,\n search_data: request?.search_data,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<AddActivityResponse>\n >(\n 'POST',\n '/api/v2/feeds/activities',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.AddActivityResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async upsertActivities(\n request: UpsertActivitiesRequest,\n ): Promise<StreamResponse<UpsertActivitiesResponse>> {\n const body = {\n activities: request?.activities,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UpsertActivitiesResponse>\n >(\n 'POST',\n '/api/v2/feeds/activities/batch',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UpsertActivitiesResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deleteActivities(\n request: DeleteActivitiesRequest,\n ): Promise<StreamResponse<DeleteActivitiesResponse>> {\n const body = {\n ids: request?.ids,\n hard_delete: request?.hard_delete,\n user_id: request?.user_id,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<DeleteActivitiesResponse>\n >(\n 'POST',\n '/api/v2/feeds/activities/delete',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.DeleteActivitiesResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async queryActivities(\n request?: QueryActivitiesRequest,\n ): Promise<StreamResponse<QueryActivitiesResponse>> {\n const body = {\n include_private_activities: request?.include_private_activities,\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n user_id: request?.user_id,\n sort: request?.sort,\n filter: request?.filter,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<QueryActivitiesResponse>\n >(\n 'POST',\n '/api/v2/feeds/activities/query',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.QueryActivitiesResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deleteBookmark(request: {\n activity_id: string;\n folder_id?: string;\n user_id?: string;\n }): Promise<StreamResponse<DeleteBookmarkResponse>> {\n const queryParams = {\n folder_id: request?.folder_id,\n user_id: request?.user_id,\n };\n const pathParams = {\n activity_id: request?.activity_id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<DeleteBookmarkResponse>\n >(\n 'DELETE',\n '/api/v2/feeds/activities/{activity_id}/bookmarks',\n pathParams,\n queryParams,\n );\n\n decoders.DeleteBookmarkResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async updateBookmark(\n request: UpdateBookmarkRequest & { activity_id: string },\n ): Promise<StreamResponse<UpdateBookmarkResponse>> {\n const pathParams = {\n activity_id: request?.activity_id,\n };\n const body = {\n folder_id: request?.folder_id,\n new_folder_id: request?.new_folder_id,\n user_id: request?.user_id,\n custom: request?.custom,\n new_folder: request?.new_folder,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UpdateBookmarkResponse>\n >(\n 'PATCH',\n '/api/v2/feeds/activities/{activity_id}/bookmarks',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UpdateBookmarkResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async addBookmark(\n request: AddBookmarkRequest & { activity_id: string },\n ): Promise<StreamResponse<AddBookmarkResponse>> {\n const pathParams = {\n activity_id: request?.activity_id,\n };\n const body = {\n folder_id: request?.folder_id,\n user_id: request?.user_id,\n custom: request?.custom,\n new_folder: request?.new_folder,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<AddBookmarkResponse>\n >(\n 'POST',\n '/api/v2/feeds/activities/{activity_id}/bookmarks',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.AddBookmarkResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async activityFeedback(\n request: ActivityFeedbackRequest & { activity_id: string },\n ): Promise<StreamResponse<ActivityFeedbackResponse>> {\n const pathParams = {\n activity_id: request?.activity_id,\n };\n const body = {\n hide: request?.hide,\n show_less: request?.show_less,\n show_more: request?.show_more,\n user_id: request?.user_id,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<ActivityFeedbackResponse>\n >(\n 'POST',\n '/api/v2/feeds/activities/{activity_id}/feedback',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.ActivityFeedbackResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async castPollVote(\n request: CastPollVoteRequest & { activity_id: string; poll_id: string },\n ): Promise<StreamResponse<PollVoteResponse>> {\n const pathParams = {\n activity_id: request?.activity_id,\n poll_id: request?.poll_id,\n };\n const body = {\n user_id: request?.user_id,\n user: request?.user,\n vote: request?.vote,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<PollVoteResponse>\n >(\n 'POST',\n '/api/v2/feeds/activities/{activity_id}/polls/{poll_id}/vote',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.PollVoteResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deletePollVote(request: {\n activity_id: string;\n poll_id: string;\n vote_id: string;\n user_id?: string;\n }): Promise<StreamResponse<PollVoteResponse>> {\n const queryParams = {\n user_id: request?.user_id,\n };\n const pathParams = {\n activity_id: request?.activity_id,\n poll_id: request?.poll_id,\n vote_id: request?.vote_id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<PollVoteResponse>\n >(\n 'DELETE',\n '/api/v2/feeds/activities/{activity_id}/polls/{poll_id}/vote/{vote_id}',\n pathParams,\n queryParams,\n );\n\n decoders.PollVoteResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async addActivityReaction(\n request: AddReactionRequest & { activity_id: string },\n ): Promise<StreamResponse<AddReactionResponse>> {\n const pathParams = {\n activity_id: request?.activity_id,\n };\n const body = {\n type: request?.type,\n create_notification_activity: request?.create_notification_activity,\n enforce_unique: request?.enforce_unique,\n skip_push: request?.skip_push,\n user_id: request?.user_id,\n custom: request?.custom,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<AddReactionResponse>\n >(\n 'POST',\n '/api/v2/feeds/activities/{activity_id}/reactions',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.AddReactionResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async queryActivityReactions(\n request: QueryActivityReactionsRequest & { activity_id: string },\n ): Promise<StreamResponse<QueryActivityReactionsResponse>> {\n const pathParams = {\n activity_id: request?.activity_id,\n };\n const body = {\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n sort: request?.sort,\n filter: request?.filter,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<QueryActivityReactionsResponse>\n >(\n 'POST',\n '/api/v2/feeds/activities/{activity_id}/reactions/query',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.QueryActivityReactionsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deleteActivityReaction(request: {\n activity_id: string;\n type: string;\n user_id?: string;\n }): Promise<StreamResponse<DeleteActivityReactionResponse>> {\n const queryParams = {\n user_id: request?.user_id,\n };\n const pathParams = {\n activity_id: request?.activity_id,\n type: request?.type,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<DeleteActivityReactionResponse>\n >(\n 'DELETE',\n '/api/v2/feeds/activities/{activity_id}/reactions/{type}',\n pathParams,\n queryParams,\n );\n\n decoders.DeleteActivityReactionResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deleteActivity(request: {\n id: string;\n hard_delete?: boolean;\n }): Promise<StreamResponse<DeleteActivityResponse>> {\n const queryParams = {\n hard_delete: request?.hard_delete,\n };\n const pathParams = {\n id: request?.id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<DeleteActivityResponse>\n >('DELETE', '/api/v2/feeds/activities/{id}', pathParams, queryParams);\n\n decoders.DeleteActivityResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getActivity(request: {\n id: string;\n }): Promise<StreamResponse<GetActivityResponse>> {\n const pathParams = {\n id: request?.id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<GetActivityResponse>\n >('GET', '/api/v2/feeds/activities/{id}', pathParams, undefined);\n\n decoders.GetActivityResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async updateActivityPartial(\n request: UpdateActivityPartialRequest & { id: string },\n ): Promise<StreamResponse<UpdateActivityPartialResponse>> {\n const pathParams = {\n id: request?.id,\n };\n const body = {\n user_id: request?.user_id,\n unset: request?.unset,\n set: request?.set,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UpdateActivityPartialResponse>\n >(\n 'PATCH',\n '/api/v2/feeds/activities/{id}',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UpdateActivityPartialResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async updateActivity(\n request: UpdateActivityRequest & { id: string },\n ): Promise<StreamResponse<UpdateActivityResponse>> {\n const pathParams = {\n id: request?.id,\n };\n const body = {\n expires_at: request?.expires_at,\n poll_id: request?.poll_id,\n restrict_replies: request?.restrict_replies,\n text: request?.text,\n user_id: request?.user_id,\n visibility: request?.visibility,\n attachments: request?.attachments,\n feeds: request?.feeds,\n filter_tags: request?.filter_tags,\n interest_tags: request?.interest_tags,\n custom: request?.custom,\n location: request?.location,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UpdateActivityResponse>\n >(\n 'PUT',\n '/api/v2/feeds/activities/{id}',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UpdateActivityResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async queryBookmarkFolders(\n request?: QueryBookmarkFoldersRequest,\n ): Promise<StreamResponse<QueryBookmarkFoldersResponse>> {\n const body = {\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n sort: request?.sort,\n filter: request?.filter,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<QueryBookmarkFoldersResponse>\n >(\n 'POST',\n '/api/v2/feeds/bookmark_folders/query',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.QueryBookmarkFoldersResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deleteBookmarkFolder(request: {\n folder_id: string;\n }): Promise<StreamResponse<DeleteBookmarkFolderResponse>> {\n const pathParams = {\n folder_id: request?.folder_id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<DeleteBookmarkFolderResponse>\n >(\n 'DELETE',\n '/api/v2/feeds/bookmark_folders/{folder_id}',\n pathParams,\n undefined,\n );\n\n decoders.DeleteBookmarkFolderResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async updateBookmarkFolder(\n request: UpdateBookmarkFolderRequest & { folder_id: string },\n ): Promise<StreamResponse<UpdateBookmarkFolderResponse>> {\n const pathParams = {\n folder_id: request?.folder_id,\n };\n const body = {\n name: request?.name,\n user_id: request?.user_id,\n custom: request?.custom,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UpdateBookmarkFolderResponse>\n >(\n 'PATCH',\n '/api/v2/feeds/bookmark_folders/{folder_id}',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UpdateBookmarkFolderResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async queryBookmarks(\n request?: QueryBookmarksRequest,\n ): Promise<StreamResponse<QueryBookmarksResponse>> {\n const body = {\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n sort: request?.sort,\n filter: request?.filter,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<QueryBookmarksResponse>\n >(\n 'POST',\n '/api/v2/feeds/bookmarks/query',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.QueryBookmarksResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getComments(request: {\n object_id: string;\n object_type: string;\n depth?: number;\n sort?: string;\n replies_limit?: number;\n limit?: number;\n prev?: string;\n next?: string;\n }): Promise<StreamResponse<GetCommentsResponse>> {\n const queryParams = {\n object_id: request?.object_id,\n object_type: request?.object_type,\n depth: request?.depth,\n sort: request?.sort,\n replies_limit: request?.replies_limit,\n limit: request?.limit,\n prev: request?.prev,\n next: request?.next,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<GetCommentsResponse>\n >('GET', '/api/v2/feeds/comments', undefined, queryParams);\n\n decoders.GetCommentsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async addComment(\n request: AddCommentRequest,\n ): Promise<StreamResponse<AddCommentResponse>> {\n const body = {\n object_id: request?.object_id,\n object_type: request?.object_type,\n comment: request?.comment,\n create_notification_activity: request?.create_notification_activity,\n id: request?.id,\n parent_id: request?.parent_id,\n skip_push: request?.skip_push,\n user_id: request?.user_id,\n attachments: request?.attachments,\n mentioned_user_ids: request?.mentioned_user_ids,\n custom: request?.custom,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<AddCommentResponse>\n >(\n 'POST',\n '/api/v2/feeds/comments',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.AddCommentResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async addCommentsBatch(\n request: AddCommentsBatchRequest,\n ): Promise<StreamResponse<AddCommentsBatchResponse>> {\n const body = {\n comments: request?.comments,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<AddCommentsBatchResponse>\n >(\n 'POST',\n '/api/v2/feeds/comments/batch',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.AddCommentsBatchResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async queryComments(\n request: QueryCommentsRequest,\n ): Promise<StreamResponse<QueryCommentsResponse>> {\n const body = {\n filter: request?.filter,\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n sort: request?.sort,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<QueryCommentsResponse>\n >(\n 'POST',\n '/api/v2/feeds/comments/query',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.QueryCommentsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deleteComment(request: {\n id: string;\n hard_delete?: boolean;\n }): Promise<StreamResponse<DeleteCommentResponse>> {\n const queryParams = {\n hard_delete: request?.hard_delete,\n };\n const pathParams = {\n id: request?.id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<DeleteCommentResponse>\n >('DELETE', '/api/v2/feeds/comments/{id}', pathParams, queryParams);\n\n decoders.DeleteCommentResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getComment(request: {\n id: string;\n }): Promise<StreamResponse<GetCommentResponse>> {\n const pathParams = {\n id: request?.id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<GetCommentResponse>\n >('GET', '/api/v2/feeds/comments/{id}', pathParams, undefined);\n\n decoders.GetCommentResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async updateComment(\n request: UpdateCommentRequest & { id: string },\n ): Promise<StreamResponse<UpdateCommentResponse>> {\n const pathParams = {\n id: request?.id,\n };\n const body = {\n comment: request?.comment,\n skip_push: request?.skip_push,\n user_id: request?.user_id,\n custom: request?.custom,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UpdateCommentResponse>\n >(\n 'PATCH',\n '/api/v2/feeds/comments/{id}',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UpdateCommentResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async addCommentReaction(\n request: AddCommentReactionRequest & { id: string },\n ): Promise<StreamResponse<AddCommentReactionResponse>> {\n const pathParams = {\n id: request?.id,\n };\n const body = {\n type: request?.type,\n create_notification_activity: request?.create_notification_activity,\n enforce_unique: request?.enforce_unique,\n skip_push: request?.skip_push,\n user_id: request?.user_id,\n custom: request?.custom,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<AddCommentReactionResponse>\n >(\n 'POST',\n '/api/v2/feeds/comments/{id}/reactions',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.AddCommentReactionResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async queryCommentReactions(\n request: QueryCommentReactionsRequest & { id: string },\n ): Promise<StreamResponse<QueryCommentReactionsResponse>> {\n const pathParams = {\n id: request?.id,\n };\n const body = {\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n sort: request?.sort,\n filter: request?.filter,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<QueryCommentReactionsResponse>\n >(\n 'POST',\n '/api/v2/feeds/comments/{id}/reactions/query',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.QueryCommentReactionsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deleteCommentReaction(request: {\n id: string;\n type: string;\n user_id?: string;\n }): Promise<StreamResponse<DeleteCommentReactionResponse>> {\n const queryParams = {\n user_id: request?.user_id,\n };\n const pathParams = {\n id: request?.id,\n type: request?.type,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<DeleteCommentReactionResponse>\n >(\n 'DELETE',\n '/api/v2/feeds/comments/{id}/reactions/{type}',\n pathParams,\n queryParams,\n );\n\n decoders.DeleteCommentReactionResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getCommentReplies(request: {\n id: string;\n depth?: number;\n sort?: string;\n replies_limit?: number;\n limit?: number;\n prev?: string;\n next?: string;\n }): Promise<StreamResponse<GetCommentRepliesResponse>> {\n const queryParams = {\n depth: request?.depth,\n sort: request?.sort,\n replies_limit: request?.replies_limit,\n limit: request?.limit,\n prev: request?.prev,\n next: request?.next,\n };\n const pathParams = {\n id: request?.id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<GetCommentRepliesResponse>\n >('GET', '/api/v2/feeds/comments/{id}/replies', pathParams, queryParams);\n\n decoders.GetCommentRepliesResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async listFeedGroups(request?: {\n include_soft_deleted?: boolean;\n }): Promise<StreamResponse<ListFeedGroupsResponse>> {\n const queryParams = {\n include_soft_deleted: request?.include_soft_deleted,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<ListFeedGroupsResponse>\n >('GET', '/api/v2/feeds/feed_groups', undefined, queryParams);\n\n decoders.ListFeedGroupsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async createFeedGroup(\n request: CreateFeedGroupRequest,\n ): Promise<StreamResponse<CreateFeedGroupResponse>> {\n const body = {\n id: request?.id,\n default_visibility: request?.default_visibility,\n activity_processors: request?.activity_processors,\n activity_selectors: request?.activity_selectors,\n aggregation: request?.aggregation,\n custom: request?.custom,\n notification: request?.notification,\n push_notification: request?.push_notification,\n ranking: request?.ranking,\n stories: request?.stories,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<CreateFeedGroupResponse>\n >(\n 'POST',\n '/api/v2/feeds/feed_groups',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.CreateFeedGroupResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deleteFeed(request: {\n feed_group_id: string;\n feed_id: string;\n hard_delete?: boolean;\n }): Promise<StreamResponse<DeleteFeedResponse>> {\n const queryParams = {\n hard_delete: request?.hard_delete,\n };\n const pathParams = {\n feed_group_id: request?.feed_group_id,\n feed_id: request?.feed_id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<DeleteFeedResponse>\n >(\n 'DELETE',\n '/api/v2/feeds/feed_groups/{feed_group_id}/feeds/{feed_id}',\n pathParams,\n queryParams,\n );\n\n decoders.DeleteFeedResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getOrCreateFeed(\n request: GetOrCreateFeedRequest & {\n feed_group_id: string;\n feed_id: string;\n },\n ): Promise<StreamResponse<GetOrCreateFeedResponse>> {\n const pathParams = {\n feed_group_id: request?.feed_group_id,\n feed_id: request?.feed_id,\n };\n const body = {\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n user_id: request?.user_id,\n view: request?.view,\n watch: request?.watch,\n data: request?.data,\n external_ranking: request?.external_ranking,\n filter: request?.filter,\n followers_pagination: request?.followers_pagination,\n following_pagination: request?.following_pagination,\n interest_weights: request?.interest_weights,\n member_pagination: request?.member_pagination,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<GetOrCreateFeedResponse>\n >(\n 'POST',\n '/api/v2/feeds/feed_groups/{feed_group_id}/feeds/{feed_id}',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.GetOrCreateFeedResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async updateFeed(\n request: UpdateFeedRequest & { feed_group_id: string; feed_id: string },\n ): Promise<StreamResponse<UpdateFeedResponse>> {\n const pathParams = {\n feed_group_id: request?.feed_group_id,\n feed_id: request?.feed_id,\n };\n const body = {\n created_by_id: request?.created_by_id,\n custom: request?.custom,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UpdateFeedResponse>\n >(\n 'PUT',\n '/api/v2/feeds/feed_groups/{feed_group_id}/feeds/{feed_id}',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UpdateFeedResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async markActivity(\n request: MarkActivityRequest & { feed_group_id: string; feed_id: string },\n ): Promise<StreamResponse<Response>> {\n const pathParams = {\n feed_group_id: request?.feed_group_id,\n feed_id: request?.feed_id,\n };\n const body = {\n mark_all_read: request?.mark_all_read,\n mark_all_seen: request?.mark_all_seen,\n user_id: request?.user_id,\n mark_read: request?.mark_read,\n mark_seen: request?.mark_seen,\n mark_watched: request?.mark_watched,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<StreamResponse<Response>>(\n 'POST',\n '/api/v2/feeds/feed_groups/{feed_group_id}/feeds/{feed_id}/activities/mark/batch',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async unpinActivity(request: {\n feed_group_id: string;\n feed_id: string;\n activity_id: string;\n user_id?: string;\n }): Promise<StreamResponse<UnpinActivityResponse>> {\n const queryParams = {\n user_id: request?.user_id,\n };\n const pathParams = {\n feed_group_id: request?.feed_group_id,\n feed_id: request?.feed_id,\n activity_id: request?.activity_id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UnpinActivityResponse>\n >(\n 'DELETE',\n '/api/v2/feeds/feed_groups/{feed_group_id}/feeds/{feed_id}/activities/{activity_id}/pin',\n pathParams,\n queryParams,\n );\n\n decoders.UnpinActivityResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async pinActivity(\n request: PinActivityRequest & {\n feed_group_id: string;\n feed_id: string;\n activity_id: string;\n },\n ): Promise<StreamResponse<PinActivityResponse>> {\n const pathParams = {\n feed_group_id: request?.feed_group_id,\n feed_id: request?.feed_id,\n activity_id: request?.activity_id,\n };\n const body = {\n user_id: request?.user_id,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<PinActivityResponse>\n >(\n 'POST',\n '/api/v2/feeds/feed_groups/{feed_group_id}/feeds/{feed_id}/activities/{activity_id}/pin',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.PinActivityResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async updateFeedMembers(\n request: UpdateFeedMembersRequest & {\n feed_group_id: string;\n feed_id: string;\n },\n ): Promise<StreamResponse<UpdateFeedMembersResponse>> {\n const pathParams = {\n feed_group_id: request?.feed_group_id,\n feed_id: request?.feed_id,\n };\n const body = {\n operation: request?.operation,\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n members: request?.members,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UpdateFeedMembersResponse>\n >(\n 'PATCH',\n '/api/v2/feeds/feed_groups/{feed_group_id}/feeds/{feed_id}/members',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UpdateFeedMembersResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async acceptFeedMemberInvite(\n request: AcceptFeedMemberInviteRequest & {\n feed_id: string;\n feed_group_id: string;\n },\n ): Promise<StreamResponse<AcceptFeedMemberInviteResponse>> {\n const pathParams = {\n feed_id: request?.feed_id,\n feed_group_id: request?.feed_group_id,\n };\n const body = {\n user_id: request?.user_id,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<AcceptFeedMemberInviteResponse>\n >(\n 'POST',\n '/api/v2/feeds/feed_groups/{feed_group_id}/feeds/{feed_id}/members/accept',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.AcceptFeedMemberInviteResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async queryFeedMembers(\n request: QueryFeedMembersRequest & {\n feed_group_id: string;\n feed_id: string;\n },\n ): Promise<StreamResponse<QueryFeedMembersResponse>> {\n const pathParams = {\n feed_group_id: request?.feed_group_id,\n feed_id: request?.feed_id,\n };\n const body = {\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n sort: request?.sort,\n filter: request?.filter,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<QueryFeedMembersResponse>\n >(\n 'POST',\n '/api/v2/feeds/feed_groups/{feed_group_id}/feeds/{feed_id}/members/query',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.QueryFeedMembersResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async rejectFeedMemberInvite(\n request: RejectFeedMemberInviteRequest & {\n feed_group_id: string;\n feed_id: string;\n },\n ): Promise<StreamResponse<RejectFeedMemberInviteResponse>> {\n const pathParams = {\n feed_group_id: request?.feed_group_id,\n feed_id: request?.feed_id,\n };\n const body = {\n user_id: request?.user_id,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<RejectFeedMemberInviteResponse>\n >(\n 'POST',\n '/api/v2/feeds/feed_groups/{feed_group_id}/feeds/{feed_id}/members/reject',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.RejectFeedMemberInviteResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getFollowSuggestions(request: {\n feed_group_id: string;\n limit?: number;\n user_id?: string;\n }): Promise<StreamResponse<GetFollowSuggestionsResponse>> {\n const queryParams = {\n limit: request?.limit,\n user_id: request?.user_id,\n };\n const pathParams = {\n feed_group_id: request?.feed_group_id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<GetFollowSuggestionsResponse>\n >(\n 'GET',\n '/api/v2/feeds/feed_groups/{feed_group_id}/follow_suggestions',\n pathParams,\n queryParams,\n );\n\n decoders.GetFollowSuggestionsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deleteFeedGroup(request: {\n id: string;\n hard_delete?: boolean;\n }): Promise<StreamResponse<DeleteFeedGroupResponse>> {\n const queryParams = {\n hard_delete: request?.hard_delete,\n };\n const pathParams = {\n id: request?.id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<DeleteFeedGroupResponse>\n >('DELETE', '/api/v2/feeds/feed_groups/{id}', pathParams, queryParams);\n\n decoders.DeleteFeedGroupResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getFeedGroup(request: {\n id: string;\n include_soft_deleted?: boolean;\n }): Promise<StreamResponse<GetFeedGroupResponse>> {\n const queryParams = {\n include_soft_deleted: request?.include_soft_deleted,\n };\n const pathParams = {\n id: request?.id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<GetFeedGroupResponse>\n >('GET', '/api/v2/feeds/feed_groups/{id}', pathParams, queryParams);\n\n decoders.GetFeedGroupResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getOrCreateFeedGroup(\n request: GetOrCreateFeedGroupRequest & { id: string },\n ): Promise<StreamResponse<GetOrCreateFeedGroupResponse>> {\n const pathParams = {\n id: request?.id,\n };\n const body = {\n default_visibility: request?.default_visibility,\n activity_processors: request?.activity_processors,\n activity_selectors: request?.activity_selectors,\n aggregation: request?.aggregation,\n custom: request?.custom,\n notification: request?.notification,\n push_notification: request?.push_notification,\n ranking: request?.ranking,\n stories: request?.stories,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<GetOrCreateFeedGroupResponse>\n >(\n 'POST',\n '/api/v2/feeds/feed_groups/{id}',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.GetOrCreateFeedGroupResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async updateFeedGroup(\n request: UpdateFeedGroupRequest & { id: string },\n ): Promise<StreamResponse<UpdateFeedGroupResponse>> {\n const pathParams = {\n id: request?.id,\n };\n const body = {\n default_visibility: request?.default_visibility,\n activity_processors: request?.activity_processors,\n activity_selectors: request?.activity_selectors,\n aggregation: request?.aggregation,\n custom: request?.custom,\n notification: request?.notification,\n push_notification: request?.push_notification,\n ranking: request?.ranking,\n stories: request?.stories,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UpdateFeedGroupResponse>\n >(\n 'PUT',\n '/api/v2/feeds/feed_groups/{id}',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UpdateFeedGroupResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async listFeedViews(): Promise<StreamResponse<ListFeedViewsResponse>> {\n const response = await this.apiClient.sendRequest<\n StreamResponse<ListFeedViewsResponse>\n >('GET', '/api/v2/feeds/feed_views', undefined, undefined);\n\n decoders.ListFeedViewsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async createFeedView(\n request: CreateFeedViewRequest,\n ): Promise<StreamResponse<CreateFeedViewResponse>> {\n const body = {\n id: request?.id,\n activity_selectors: request?.activity_selectors,\n aggregation: request?.aggregation,\n ranking: request?.ranking,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<CreateFeedViewResponse>\n >(\n 'POST',\n '/api/v2/feeds/feed_views',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.CreateFeedViewResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deleteFeedView(request: {\n id: string;\n }): Promise<StreamResponse<DeleteFeedViewResponse>> {\n const pathParams = {\n id: request?.id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<DeleteFeedViewResponse>\n >('DELETE', '/api/v2/feeds/feed_views/{id}', pathParams, undefined);\n\n decoders.DeleteFeedViewResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getFeedView(request: {\n id: string;\n }): Promise<StreamResponse<GetFeedViewResponse>> {\n const pathParams = {\n id: request?.id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<GetFeedViewResponse>\n >('GET', '/api/v2/feeds/feed_views/{id}', pathParams, undefined);\n\n decoders.GetFeedViewResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getOrCreateFeedView(\n request: GetOrCreateFeedViewRequest & { id: string },\n ): Promise<StreamResponse<GetOrCreateFeedViewResponse>> {\n const pathParams = {\n id: request?.id,\n };\n const body = {\n activity_selectors: request?.activity_selectors,\n aggregation: request?.aggregation,\n ranking: request?.ranking,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<GetOrCreateFeedViewResponse>\n >(\n 'POST',\n '/api/v2/feeds/feed_views/{id}',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.GetOrCreateFeedViewResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async updateFeedView(\n request: UpdateFeedViewRequest & { id: string },\n ): Promise<StreamResponse<UpdateFeedViewResponse>> {\n const pathParams = {\n id: request?.id,\n };\n const body = {\n activity_selectors: request?.activity_selectors,\n aggregation: request?.aggregation,\n ranking: request?.ranking,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UpdateFeedViewResponse>\n >(\n 'PUT',\n '/api/v2/feeds/feed_views/{id}',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UpdateFeedViewResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async listFeedVisibilities(): Promise<\n StreamResponse<ListFeedVisibilitiesResponse>\n > {\n const response = await this.apiClient.sendRequest<\n StreamResponse<ListFeedVisibilitiesResponse>\n >('GET', '/api/v2/feeds/feed_visibilities', undefined, undefined);\n\n decoders.ListFeedVisibilitiesResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getFeedVisibility(request: {\n name: string;\n }): Promise<StreamResponse<GetFeedVisibilityResponse>> {\n const pathParams = {\n name: request?.name,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<GetFeedVisibilityResponse>\n >('GET', '/api/v2/feeds/feed_visibilities/{name}', pathParams, undefined);\n\n decoders.GetFeedVisibilityResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async updateFeedVisibility(\n request: UpdateFeedVisibilityRequest & { name: string },\n ): Promise<StreamResponse<UpdateFeedVisibilityResponse>> {\n const pathParams = {\n name: request?.name,\n };\n const body = {\n grants: request?.grants,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UpdateFeedVisibilityResponse>\n >(\n 'PUT',\n '/api/v2/feeds/feed_visibilities/{name}',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UpdateFeedVisibilityResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async createFeedsBatch(\n request: CreateFeedsBatchRequest,\n ): Promise<StreamResponse<CreateFeedsBatchResponse>> {\n const body = {\n feeds: request?.feeds,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<CreateFeedsBatchResponse>\n >(\n 'POST',\n '/api/v2/feeds/feeds/batch',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.CreateFeedsBatchResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async ownCapabilitiesBatch(\n request: OwnCapabilitiesBatchRequest,\n ): Promise<StreamResponse<OwnCapabilitiesBatchResponse>> {\n const body = {\n feeds: request?.feeds,\n user_id: request?.user_id,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<OwnCapabilitiesBatchResponse>\n >(\n 'POST',\n '/api/v2/feeds/feeds/own_capabilities/batch',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.OwnCapabilitiesBatchResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n protected async _queryFeeds(\n request?: QueryFeedsRequest,\n ): Promise<StreamResponse<QueryFeedsResponse>> {\n const body = {\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n watch: request?.watch,\n sort: request?.sort,\n filter: request?.filter,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<QueryFeedsResponse>\n >(\n 'POST',\n '/api/v2/feeds/feeds/query',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.QueryFeedsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getFeedsRateLimits(request?: {\n endpoints?: string;\n android?: boolean;\n ios?: boolean;\n web?: boolean;\n server_side?: boolean;\n }): Promise<StreamResponse<GetFeedsRateLimitsResponse>> {\n const queryParams = {\n endpoints: request?.endpoints,\n android: request?.android,\n ios: request?.ios,\n web: request?.web,\n server_side: request?.server_side,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<GetFeedsRateLimitsResponse>\n >('GET', '/api/v2/feeds/feeds/rate_limits', undefined, queryParams);\n\n decoders.GetFeedsRateLimitsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async updateFollow(\n request: UpdateFollowRequest,\n ): Promise<StreamResponse<UpdateFollowResponse>> {\n const body = {\n source: request?.source,\n target: request?.target,\n create_notification_activity: request?.create_notification_activity,\n follower_role: request?.follower_role,\n push_preference: request?.push_preference,\n skip_push: request?.skip_push,\n custom: request?.custom,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UpdateFollowResponse>\n >(\n 'PATCH',\n '/api/v2/feeds/follows',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UpdateFollowResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async follow(\n request: FollowRequest,\n ): Promise<StreamResponse<SingleFollowResponse>> {\n const body = {\n source: request?.source,\n target: request?.target,\n create_notification_activity: request?.create_notification_activity,\n push_preference: request?.push_preference,\n skip_push: request?.skip_push,\n custom: request?.custom,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<SingleFollowResponse>\n >(\n 'POST',\n '/api/v2/feeds/follows',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.SingleFollowResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async acceptFollow(\n request: AcceptFollowRequest,\n ): Promise<StreamResponse<AcceptFollowResponse>> {\n const body = {\n source: request?.source,\n target: request?.target,\n follower_role: request?.follower_role,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<AcceptFollowResponse>\n >(\n 'POST',\n '/api/v2/feeds/follows/accept',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.AcceptFollowResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async followBatch(\n request: FollowBatchRequest,\n ): Promise<StreamResponse<FollowBatchResponse>> {\n const body = {\n follows: request?.follows,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<FollowBatchResponse>\n >(\n 'POST',\n '/api/v2/feeds/follows/batch',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.FollowBatchResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async queryFollows(\n request?: QueryFollowsRequest,\n ): Promise<StreamResponse<QueryFollowsResponse>> {\n const body = {\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n sort: request?.sort,\n filter: request?.filter,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<QueryFollowsResponse>\n >(\n 'POST',\n '/api/v2/feeds/follows/query',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.QueryFollowsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async rejectFollow(\n request: RejectFollowRequest,\n ): Promise<StreamResponse<RejectFollowResponse>> {\n const body = {\n source: request?.source,\n target: request?.target,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<RejectFollowResponse>\n >(\n 'POST',\n '/api/v2/feeds/follows/reject',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.RejectFollowResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async unfollow(request: {\n source: string;\n target: string;\n }): Promise<StreamResponse<UnfollowResponse>> {\n const pathParams = {\n source: request?.source,\n target: request?.target,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UnfollowResponse>\n >(\n 'DELETE',\n '/api/v2/feeds/follows/{source}/{target}',\n pathParams,\n undefined,\n );\n\n decoders.UnfollowResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async createMembershipLevel(\n request: CreateMembershipLevelRequest,\n ): Promise<StreamResponse<CreateMembershipLevelResponse>> {\n const body = {\n id: request?.id,\n name: request?.name,\n description: request?.description,\n priority: request?.priority,\n tags: request?.tags,\n custom: request?.custom,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<CreateMembershipLevelResponse>\n >(\n 'POST',\n '/api/v2/feeds/membership_levels',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.CreateMembershipLevelResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async queryMembershipLevels(\n request?: QueryMembershipLevelsRequest,\n ): Promise<StreamResponse<QueryMembershipLevelsResponse>> {\n const body = {\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n sort: request?.sort,\n filter: request?.filter,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<QueryMembershipLevelsResponse>\n >(\n 'POST',\n '/api/v2/feeds/membership_levels/query',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.QueryMembershipLevelsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deleteMembershipLevel(request: {\n id: string;\n }): Promise<StreamResponse<Response>> {\n const pathParams = {\n id: request?.id,\n };\n\n const response = await this.apiClient.sendRequest<StreamResponse<Response>>(\n 'DELETE',\n '/api/v2/feeds/membership_levels/{id}',\n pathParams,\n undefined,\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async updateMembershipLevel(\n request: UpdateMembershipLevelRequest & { id: string },\n ): Promise<StreamResponse<UpdateMembershipLevelResponse>> {\n const pathParams = {\n id: request?.id,\n };\n const body = {\n description: request?.description,\n name: request?.name,\n priority: request?.priority,\n tags: request?.tags,\n custom: request?.custom,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UpdateMembershipLevelResponse>\n >(\n 'PATCH',\n '/api/v2/feeds/membership_levels/{id}',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UpdateMembershipLevelResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async queryFeedsUsageStats(\n request?: QueryFeedsUsageStatsRequest,\n ): Promise<StreamResponse<QueryFeedsUsageStatsResponse>> {\n const body = {\n from: request?.from,\n to: request?.to,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<QueryFeedsUsageStatsResponse>\n >(\n 'POST',\n '/api/v2/feeds/stats/usage',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.QueryFeedsUsageStatsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async unfollowBatch(\n request: UnfollowBatchRequest,\n ): Promise<StreamResponse<UnfollowBatchResponse>> {\n const body = {\n follows: request?.follows,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UnfollowBatchResponse>\n >(\n 'POST',\n '/api/v2/feeds/unfollow/batch',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UnfollowBatchResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deleteFeedUserData(request: {\n user_id: string;\n }): Promise<StreamResponse<DeleteFeedUserDataResponse>> {\n const pathParams = {\n user_id: request?.user_id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<DeleteFeedUserDataResponse>\n >('DELETE', '/api/v2/feeds/users/{user_id}/delete', pathParams, undefined);\n\n decoders.DeleteFeedUserDataResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async exportFeedUserData(request: {\n user_id: string;\n }): Promise<StreamResponse<ExportFeedUserDataResponse>> {\n const pathParams = {\n user_id: request?.user_id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<ExportFeedUserDataResponse>\n >('POST', '/api/v2/feeds/users/{user_id}/export', pathParams, undefined);\n\n decoders.ExportFeedUserDataResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n}\n","import { StreamResponse, FeedsApi } from '../../gen-imports';\nimport {\n AcceptFeedMemberInviteRequest,\n AcceptFeedMemberInviteResponse,\n DeleteFeedResponse,\n GetOrCreateFeedRequest,\n GetOrCreateFeedResponse,\n MarkActivityRequest,\n PinActivityRequest,\n PinActivityResponse,\n QueryFeedMembersRequest,\n QueryFeedMembersResponse,\n RejectFeedMemberInviteRequest,\n RejectFeedMemberInviteResponse,\n Response,\n UnpinActivityResponse,\n UpdateFeedMembersRequest,\n UpdateFeedMembersResponse,\n UpdateFeedRequest,\n UpdateFeedResponse,\n} from '../models';\n\nexport class FeedApi {\n constructor(\n protected feedsApi: FeedsApi,\n public readonly group: string,\n public readonly id: string,\n ) {}\n\n delete(request?: {\n hard_delete?: boolean;\n }): Promise<StreamResponse<DeleteFeedResponse>> {\n return this.feedsApi.deleteFeed({\n feed_id: this.id,\n feed_group_id: this.group,\n ...request,\n });\n }\n\n getOrCreate(\n request?: GetOrCreateFeedRequest,\n ): Promise<StreamResponse<GetOrCreateFeedResponse>> {\n return this.feedsApi.getOrCreateFeed({\n feed_id: this.id,\n feed_group_id: this.group,\n ...request,\n });\n }\n\n update(\n request?: UpdateFeedRequest,\n ): Promise<StreamResponse<UpdateFeedResponse>> {\n return this.feedsApi.updateFeed({\n feed_id: this.id,\n feed_group_id: this.group,\n ...request,\n });\n }\n\n markActivity(\n request?: MarkActivityRequest,\n ): Promise<StreamResponse<Response>> {\n return this.feedsApi.markActivity({\n feed_id: this.id,\n feed_group_id: this.group,\n ...request,\n });\n }\n\n unpinActivity(request: {\n activity_id: string;\n user_id?: string;\n }): Promise<StreamResponse<UnpinActivityResponse>> {\n return this.feedsApi.unpinActivity({\n feed_id: this.id,\n feed_group_id: this.group,\n ...request,\n });\n }\n\n pinActivity(\n request: PinActivityRequest & { activity_id: string },\n ): Promise<StreamResponse<PinActivityResponse>> {\n return this.feedsApi.pinActivity({\n feed_id: this.id,\n feed_group_id: this.group,\n ...request,\n });\n }\n\n updateFeedMembers(\n request: UpdateFeedMembersRequest,\n ): Promise<StreamResponse<UpdateFeedMembersResponse>> {\n return this.feedsApi.updateFeedMembers({\n feed_id: this.id,\n feed_group_id: this.group,\n ...request,\n });\n }\n\n acceptFeedMemberInvite(\n request?: AcceptFeedMemberInviteRequest,\n ): Promise<StreamResponse<AcceptFeedMemberInviteResponse>> {\n return this.feedsApi.acceptFeedMemberInvite({\n feed_id: this.id,\n feed_group_id: this.group,\n ...request,\n });\n }\n\n queryFeedMembers(\n request?: QueryFeedMembersRequest,\n ): Promise<StreamResponse<QueryFeedMembersResponse>> {\n return this.feedsApi.queryFeedMembers({\n feed_id: this.id,\n feed_group_id: this.group,\n ...request,\n });\n }\n\n rejectFeedMemberInvite(\n request?: RejectFeedMemberInviteRequest,\n ): Promise<StreamResponse<RejectFeedMemberInviteResponse>> {\n return this.feedsApi.rejectFeedMemberInvite({\n feed_id: this.id,\n feed_group_id: this.group,\n ...request,\n });\n }\n}\n","import { FeedApi } from './gen/feeds/FeedApi';\n\nexport class StreamFeed extends FeedApi {\n get feed() {\n return `${this.group}:${this.id}`;\n }\n}\n","import { FeedsApi } from './gen/feeds/FeedsApi';\nimport { AddReactionRequest, QueryFeedsRequest } from './gen/models';\nimport { StreamFeed } from './StreamFeed';\n\nexport class StreamFeedsClient extends FeedsApi {\n feed = (group: string, id: string) => {\n return new StreamFeed(this, group, id);\n };\n\n queryFeeds = (request: QueryFeedsRequest) => {\n return super._queryFeeds(request);\n };\n\n /**\n * @deprecated Use addActivityReaction instead\n */\n addReaction = (request: AddReactionRequest & { activity_id: string }) => {\n return super.addActivityReaction(request);\n };\n}\n","import { JWTServerToken, JWTUserToken } from './utils/create-token';\nimport { CommonApi } from './gen/common/CommonApi';\nimport { StreamVideoClient } from './StreamVideoClient';\nimport crypto from 'crypto';\nimport { StreamChatClient } from './StreamChatClient';\nimport { CallTokenPayload, UserTokenPayload } from './types';\nimport {\n FileUploadRequest,\n ImageUploadRequest,\n QueryBannedUsersPayload,\n UserRequest,\n} from './gen/models';\nimport { StreamModerationClient } from './StreamModerationClient';\nimport { ApiClient } from './ApiClient';\nimport { StreamFeedsClient } from './StreamFeedsClient';\nimport { File } from 'buffer';\n\nexport interface StreamClientOptions {\n timeout?: number;\n basePath?: string;\n // We use unknown here because RequestInit['dispatcher'] is different between Node versions\n /** The [HTTP Agent](https://undici.nodejs.org/#/docs/api/Agent.md) to use. */\n agent?: unknown;\n}\n\nexport class StreamClient extends CommonApi {\n public readonly video: StreamVideoClient;\n public readonly chat: StreamChatClient;\n public readonly moderation: StreamModerationClient;\n public readonly feeds: StreamFeedsClient;\n public readonly options: StreamClientOptions = {};\n\n private static readonly DEFAULT_TIMEOUT = 3000;\n\n /**\n *\n * @param apiKey\n * @param secret\n * @param config config object\n */\n constructor(\n readonly apiKey: string,\n private readonly secret: string,\n readonly config?: StreamClientOptions,\n ) {\n const token = JWTServerToken(secret);\n const timeout = config?.timeout ?? StreamClient.DEFAULT_TIMEOUT;\n const chatBaseUrl = config?.basePath ?? 'https://chat.stream-io-api.com';\n const videoBaseUrl = config?.basePath ?? 'https://video.stream-io-api.com';\n const feedsBaseUrl = config?.basePath ?? 'https://feeds.stream-io-api.com';\n const chatApiClient = new ApiClient({\n apiKey,\n token,\n baseUrl: chatBaseUrl,\n timeout,\n agent: config?.agent as RequestInit['dispatcher'],\n });\n\n const videoApiClient = new ApiClient({\n apiKey,\n token,\n baseUrl: videoBaseUrl,\n timeout,\n agent: config?.agent as RequestInit['dispatcher'],\n });\n\n const feedsApiClient = new ApiClient({\n apiKey,\n token,\n baseUrl: feedsBaseUrl,\n timeout,\n agent: config?.agent as RequestInit['dispatcher'],\n });\n\n super(chatApiClient);\n\n this.video = new StreamVideoClient({\n streamClient: this,\n apiClient: videoApiClient,\n });\n this.chat = new StreamChatClient(this.apiClient);\n this.moderation = new StreamModerationClient(chatApiClient);\n this.feeds = new StreamFeedsClient(feedsApiClient);\n }\n\n upsertUsers = (users: UserRequest[]) => {\n const payload: Record<string, UserRequest> = {};\n\n users.forEach((u) => {\n payload[u.id] = u;\n });\n\n return this.updateUsers({ users: payload });\n };\n\n queryBannedUsers = (request?: { payload?: QueryBannedUsersPayload }) => {\n return this.chat.queryBannedUsers(request);\n };\n\n // @ts-expect-error API spec says file should be a string\n uploadFile = (request: Omit<FileUploadRequest, 'file'> & { file: File }) => {\n return super.uploadFile({\n // @ts-expect-error API spec says file should be a string\n file: request.file,\n // @ts-expect-error form data will only work if this is a string\n user: JSON.stringify(request.user),\n });\n };\n\n // @ts-expect-error API spec says file should be a string\n uploadImage = (\n request: Omit<ImageUploadRequest, 'file'> & { file: File },\n ) => {\n return super.uploadImage({\n // @ts-expect-error API spec says file should be a string\n file: request.file,\n // @ts-expect-error form data will only work if this is a string\n user: JSON.stringify(request.user),\n // @ts-expect-error form data will only work if this is a string\n upload_sizes: JSON.stringify(request.upload_sizes),\n });\n };\n\n /**\n *\n * @param payload\n * - user_id - the id of the user the token is for\n * - validity_in_seconds - how many seconds is the token valid for (starting from issued at), by default it's 1 hour, dicarded if exp is provided\n * - exp - when the token expires, unix timestamp in seconds\n * - iat - issued at date of the token, unix timestamp in seconds, by default it's now\n */\n generateUserToken = (\n payload: {\n user_id: string;\n validity_in_seconds?: number;\n exp?: number;\n iat?: number;\n } & Record<string, unknown>,\n ) => {\n const defaultIat = Math.floor((Date.now() - 1000) / 1000);\n payload.iat = payload.iat ?? defaultIat;\n const validityInSeconds = payload.validity_in_seconds ?? 60 * 60;\n payload.exp = payload.exp ?? payload.iat + validityInSeconds;\n\n return JWTUserToken(this.secret, payload as UserTokenPayload);\n };\n\n /**\n *\n * @param payload\n * - user_id - the id of the user the token is for\n * - iat - issued at date of the token, unix timestamp in seconds, by default it's now\n */\n generatePermanentUserToken = (\n payload: {\n user_id: string;\n iat?: number;\n } & Record<string, unknown>,\n ) => {\n const defaultIat = Math.floor((Date.now() - 1000) / 1000);\n payload.iat = payload.iat ?? defaultIat;\n\n return JWTUserToken(this.secret, payload as UserTokenPayload);\n };\n\n /**\n *\n * @param payload\n * - user_id - the id of the user the token is for\n * - validity_in_seconds - how many seconds is the token valid for (starting from issued at), by default it's 1 hour, dicarded if exp is provided\n * - exp - when the token expires, unix timestamp in seconds\n * - iat - issued at date of the token, unix timestamp in seconds, by default it's now\n */\n generateCallToken = (\n payload: {\n user_id: string;\n role?: string;\n call_cids: string[];\n validity_in_seconds?: number;\n exp?: number;\n iat?: number;\n } & Record<string, unknown>,\n ) => {\n return this.generateUserToken(payload);\n };\n\n /**\n *\n * @param userID\n * @param exp\n * @param iat deprecated, the default date will be set internally\n * @returns\n *\n * @deprecated use generateUserToken instead\n */\n createToken = (\n userID: string,\n exp = Math.round(Date.now() / 1000) + 60 * 60,\n iat = Math.floor((Date.now() - 1000) / 1000),\n ) => {\n const payload: UserTokenPayload = {\n user_id: userID,\n exp,\n iat,\n };\n\n return JWTUserToken(this.secret, payload);\n };\n\n /**\n *\n * @param userID\n * @param call_cids\n * @param exp\n * @param iat this is deprecated, the current date will be set internally\n * @returns\n *\n * @deprecated use generateCallToken instead\n */\n createCallToken = (\n userIdOrObject: string | { user_id: string; role?: string },\n call_cids: string[],\n exp = Math.round(Date.now() / 1000) + 60 * 60,\n iat = Math.floor((Date.now() - 1000) / 1000),\n ) => {\n const payload: CallTokenPayload = {\n exp,\n iat,\n call_cids,\n user_id:\n typeof userIdOrObject === 'string'\n ? userIdOrObject\n : userIdOrObject.user_id,\n };\n\n if (typeof userIdOrObject === 'object' && userIdOrObject.role) {\n payload.role = userIdOrObject.role;\n }\n\n return JWTUserToken(this.secret, payload);\n };\n\n verifyWebhook = (requestBody: string | Buffer, xSignature: string) => {\n const key = Buffer.from(this.secret, 'utf8');\n const hash = crypto\n .createHmac('sha256', key)\n .update(requestBody)\n .digest('hex');\n\n try {\n return crypto.timingSafeEqual(Buffer.from(hash), Buffer.from(xSignature));\n } catch (err) {\n return false;\n }\n };\n}\n","export interface AIImageConfig {\n async?: boolean;\n\n enabled?: boolean;\n\n ocr_rules?: OCRRule[];\n\n rules?: AWSRekognitionRule[];\n}\n\nexport interface AITextConfig {\n async?: boolean;\n\n enabled?: boolean;\n\n profile?: string;\n\n rules?: BodyguardRule[];\n\n severity_rules?: BodyguardSeverityRule[];\n}\n\nexport interface AIVideoConfig {\n async?: boolean;\n\n enabled?: boolean;\n\n rules?: AWSRekognitionRule[];\n}\n\nexport interface APIError {\n code: number;\n\n duration: string;\n\n message: string;\n\n more_info: string;\n\n status_code: number;\n\n details: number[];\n\n unrecoverable?: boolean;\n\n exception_fields?: Record<string, string>;\n}\n\nexport interface APNConfig {\n auth_key?: string;\n\n auth_type?: 'certificate' | 'token';\n\n bundle_id?: string;\n\n development?: boolean;\n\n disabled?: boolean;\n\n host?: string;\n\n key_id?: string;\n\n notification_template?: string;\n\n p12_cert?: string;\n\n team_id?: string;\n}\n\nexport interface APNConfigFields {\n development: boolean;\n\n enabled: boolean;\n\n auth_key?: string;\n\n auth_type?: string;\n\n bundle_id?: string;\n\n host?: string;\n\n key_id?: string;\n\n notification_template?: string;\n\n p12_cert?: string;\n\n team_id?: string;\n}\n\nexport interface APNS {\n body: string;\n\n title: string;\n\n content_available?: number;\n\n mutable_content?: number;\n\n sound?: string;\n\n data?: Record<string, any>;\n}\n\nexport interface AWSRekognitionRule {\n action:\n | 'flag'\n | 'shadow'\n | 'remove'\n | 'bounce'\n | 'bounce_flag'\n | 'bounce_remove';\n\n label: string;\n\n min_confidence: number;\n}\n\nexport interface AcceptFeedMemberInviteRequest {\n user_id?: string;\n\n user?: UserRequest;\n}\n\nexport interface AcceptFeedMemberInviteResponse {\n duration: string;\n\n member: FeedMemberResponse;\n}\n\nexport interface AcceptFollowRequest {\n source: string;\n\n target: string;\n\n follower_role?: string;\n}\n\nexport interface AcceptFollowResponse {\n duration: string;\n\n follow: FollowResponse;\n}\n\nexport interface Action {\n name: string;\n\n text: string;\n\n type: string;\n\n style?: string;\n\n value?: string;\n}\n\nexport interface ActionLogResponse {\n created_at: Date;\n\n id: string;\n\n reason: string;\n\n target_user_id: string;\n\n type: string;\n\n user_id: string;\n\n ai_providers: string[];\n\n custom: Record<string, any>;\n\n review_queue_item?: ReviewQueueItemResponse;\n\n target_user?: UserResponse;\n\n user?: UserResponse;\n}\n\nexport interface ActionSequence {\n action?: string;\n\n blur?: boolean;\n\n cooldown_period?: number;\n\n threshold?: number;\n\n time_window?: number;\n\n warning?: boolean;\n\n warning_text?: string;\n}\n\nexport interface ActiveCallsBitrateStats {\n p10: number;\n\n p50: number;\n}\n\nexport interface ActiveCallsFPSStats {\n p05: number;\n\n p10: number;\n\n p50: number;\n\n p90: number;\n}\n\nexport interface ActiveCallsLatencyStats {\n p50: number;\n\n p90: number;\n}\n\nexport interface ActiveCallsMetrics {\n join_call_api?: JoinCallAPIMetrics;\n\n publishers?: PublishersMetrics;\n\n subscribers?: SubscribersMetrics;\n}\n\nexport interface ActiveCallsResolutionStats {\n p10: number;\n\n p50: number;\n}\n\nexport interface ActiveCallsSummary {\n active_calls: number;\n\n active_publishers: number;\n\n active_subscribers: number;\n\n participants: number;\n}\n\nexport interface ActivityAddedEvent {\n created_at: Date;\n\n fid: string;\n\n activity: ActivityResponse;\n\n custom: Record<string, any>;\n\n type: string;\n\n feed_visibility?: string;\n\n received_at?: Date;\n\n user?: UserResponseCommonFields;\n}\n\nexport interface ActivityDeletedEvent {\n created_at: Date;\n\n fid: string;\n\n activity: ActivityResponse;\n\n custom: Record<string, any>;\n\n type: string;\n\n feed_visibility?: string;\n\n received_at?: Date;\n\n user?: UserResponseCommonFields;\n}\n\nexport interface ActivityFeedbackEvent {\n created_at: Date;\n\n activity_feedback: ActivityFeedbackEventPayload;\n\n custom: Record<string, any>;\n\n type: string;\n\n received_at?: Date;\n\n user?: UserResponseCommonFields;\n}\n\nexport interface ActivityFeedbackEventPayload {\n action: 'hide' | 'show_more' | 'show_less';\n\n activity_id: string;\n\n created_at: Date;\n\n updated_at: Date;\n\n value: string;\n\n user: UserResponse;\n}\n\nexport interface ActivityFeedbackRequest {\n hide?: boolean;\n\n show_less?: boolean;\n\n show_more?: boolean;\n\n user_id?: string;\n\n user?: UserRequest;\n}\n\nexport interface ActivityFeedbackResponse {\n activity_id: string;\n\n duration: string;\n}\n\nexport interface ActivityLocation {\n lat: number;\n\n lng: number;\n}\n\nexport interface ActivityMarkEvent {\n created_at: Date;\n\n fid: string;\n\n custom: Record<string, any>;\n\n type: string;\n\n feed_visibility?: string;\n\n mark_all_read?: boolean;\n\n mark_all_seen?: boolean;\n\n received_at?: Date;\n\n mark_read?: string[];\n\n mark_seen?: string[];\n\n mark_watched?: string[];\n\n user?: UserResponseCommonFields;\n}\n\nexport interface ActivityMarkedEvent {\n all_read: boolean;\n\n all_seen: boolean;\n\n created_at: Date;\n\n feed_id: string;\n\n user_id: string;\n\n type: string;\n\n marked_read?: string[];\n\n marked_watched?: string[];\n}\n\nexport interface ActivityPinResponse {\n created_at: Date;\n\n feed: string;\n\n updated_at: Date;\n\n activity: ActivityResponse;\n\n user: UserResponse;\n}\n\nexport interface ActivityPinnedEvent {\n created_at: Date;\n\n fid: string;\n\n custom: Record<string, any>;\n\n pinned_activity: PinActivityResponse;\n\n type: string;\n\n feed_visibility?: string;\n\n received_at?: Date;\n\n user?: UserResponseCommonFields;\n}\n\nexport interface ActivityProcessorConfig {\n type: string;\n}\n\nexport interface ActivityReactionAddedEvent {\n created_at: Date;\n\n fid: string;\n\n activity: ActivityResponse;\n\n custom: Record<string, any>;\n\n reaction: FeedsReactionResponse;\n\n type: string;\n\n feed_visibility?: string;\n\n received_at?: Date;\n\n user?: UserResponseCommonFields;\n}\n\nexport interface ActivityReactionDeletedEvent {\n created_at: Date;\n\n fid: string;\n\n activity: ActivityResponse;\n\n custom: Record<string, any>;\n\n reaction: FeedsReactionResponse;\n\n type: string;\n\n feed_visibility?: string;\n\n received_at?: Date;\n\n user?: UserResponseCommonFields;\n}\n\nexport interface ActivityReactionUpdatedEvent {\n created_at: Date;\n\n fid: string;\n\n activity: ActivityResponse;\n\n custom: Record<string, any>;\n\n reaction: FeedsReactionResponse;\n\n type: string;\n\n feed_visibility?: string;\n\n received_at?: Date;\n\n user?: UserResponseCommonFields;\n}\n\nexport interface ActivityRemovedFromFeedEvent {\n created_at: Date;\n\n fid: string;\n\n activity: ActivityResponse;\n\n custom: Record<string, any>;\n\n type: string;\n\n feed_visibility?: string;\n\n received_at?: Date;\n\n user?: UserResponseCommonFields;\n}\n\nexport interface ActivityRequest {\n type: string;\n\n feeds: string[];\n\n expires_at?: string;\n\n id?: string;\n\n parent_id?: string;\n\n poll_id?: string;\n\n restrict_replies?: 'everyone' | 'people_i_follow' | 'nobody';\n\n text?: string;\n\n user_id?: string;\n\n visibility?: 'public' | 'private' | 'tag';\n\n visibility_tag?: string;\n\n attachments?: Attachment[];\n\n filter_tags?: string[];\n\n interest_tags?: string[];\n\n mentioned_user_ids?: string[];\n\n custom?: Record<string, any>;\n\n location?: ActivityLocation;\n\n search_data?: Record<string, any>;\n}\n\nexport interface ActivityResponse {\n bookmark_count: number;\n\n comment_count: number;\n\n created_at: Date;\n\n hidden: boolean;\n\n id: string;\n\n popularity: number;\n\n preview: boolean;\n\n reaction_count: number;\n\n restrict_replies: string;\n\n score: number;\n\n share_count: number;\n\n type: string;\n\n updated_at: Date;\n\n visibility: 'public' | 'private' | 'tag';\n\n attachments: Attachment[];\n\n comments: CommentResponse[];\n\n feeds: string[];\n\n filter_tags: string[];\n\n interest_tags: string[];\n\n latest_reactions: FeedsReactionResponse[];\n\n mentioned_users: UserResponse[];\n\n own_bookmarks: BookmarkResponse[];\n\n own_reactions: FeedsReactionResponse[];\n\n custom: Record<string, any>;\n\n reaction_groups: Record<string, ReactionGroupResponse>;\n\n search_data: Record<string, any>;\n\n user: UserResponse;\n\n deleted_at?: Date;\n\n edited_at?: Date;\n\n expires_at?: Date;\n\n is_watched?: boolean;\n\n moderation_action?: string;\n\n text?: string;\n\n visibility_tag?: string;\n\n current_feed?: FeedResponse;\n\n location?: ActivityLocation;\n\n moderation?: ModerationV2Response;\n\n notification_context?: NotificationContext;\n\n parent?: ActivityResponse;\n\n poll?: PollResponseData;\n}\n\nexport interface ActivitySelectorConfig {\n type:\n | 'popular'\n | 'proximity'\n | 'following'\n | 'current_feed'\n | 'query'\n | 'interest';\n\n cutoff_time?: string;\n\n cutoff_window?: string;\n\n min_popularity?: number;\n\n sort?: SortParamRequest[];\n\n filter?: Record<string, any>;\n}\n\nexport interface ActivitySelectorConfigResponse {\n type: string;\n\n cutoff_time?: Date;\n\n cutoff_window?: string;\n\n min_popularity?: number;\n\n sort?: SortParamRequest[];\n\n filter?: Record<string, any>;\n}\n\nexport interface ActivityUnpinnedEvent {\n created_at: Date;\n\n fid: string;\n\n custom: Record<string, any>;\n\n pinned_activity: PinActivityResponse;\n\n type: string;\n\n feed_visibility?: string;\n\n received_at?: Date;\n\n user?: UserResponseCommonFields;\n}\n\nexport interface ActivityUpdatedEvent {\n created_at: Date;\n\n fid: string;\n\n activity: ActivityResponse;\n\n custom: Record<string, any>;\n\n type: string;\n\n feed_visibility?: string;\n\n received_at?: Date;\n\n user?: UserResponseCommonFields;\n}\n\nexport interface AddActivityRequest {\n type: string;\n\n feeds: string[];\n\n expires_at?: string;\n\n id?: string;\n\n parent_id?: string;\n\n poll_id?: string;\n\n restrict_replies?: 'everyone' | 'people_i_follow' | 'nobody';\n\n text?: string;\n\n user_id?: string;\n\n visibility?: 'public' | 'private' | 'tag';\n\n visibility_tag?: string;\n\n attachments?: Attachment[];\n\n filter_tags?: string[];\n\n interest_tags?: string[];\n\n mentioned_user_ids?: string[];\n\n custom?: Record<string, any>;\n\n location?: ActivityLocation;\n\n search_data?: Record<string, any>;\n}\n\nexport interface AddActivityResponse {\n duration: string;\n\n activity: ActivityResponse;\n}\n\nexport interface AddBookmarkRequest {\n folder_id?: string;\n\n user_id?: string;\n\n custom?: Record<string, any>;\n\n new_folder?: AddFolderRequest;\n\n user?: UserRequest;\n}\n\nexport interface AddBookmarkResponse {\n duration: string;\n\n bookmark: BookmarkResponse;\n}\n\nexport interface AddCommentReactionRequest {\n type: string;\n\n create_notification_activity?: boolean;\n\n enforce_unique?: boolean;\n\n skip_push?: boolean;\n\n user_id?: string;\n\n custom?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface AddCommentReactionResponse {\n duration: string;\n\n comment: CommentResponse;\n\n reaction: FeedsReactionResponse;\n}\n\nexport interface AddCommentRequest {\n object_id: string;\n\n object_type: string;\n\n comment?: string;\n\n create_notification_activity?: boolean;\n\n id?: string;\n\n parent_id?: string;\n\n skip_push?: boolean;\n\n user_id?: string;\n\n attachments?: Attachment[];\n\n mentioned_user_ids?: string[];\n\n custom?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface AddCommentResponse {\n duration: string;\n\n comment: CommentResponse;\n}\n\nexport interface AddCommentsBatchRequest {\n comments: AddCommentRequest[];\n}\n\nexport interface AddCommentsBatchResponse {\n duration: string;\n\n comments: CommentResponse[];\n}\n\nexport interface AddFolderRequest {\n name: string;\n\n custom?: Record<string, any>;\n}\n\nexport interface AddReactionRequest {\n type: string;\n\n create_notification_activity?: boolean;\n\n enforce_unique?: boolean;\n\n skip_push?: boolean;\n\n user_id?: string;\n\n custom?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface AddReactionResponse {\n duration: string;\n\n activity: ActivityResponse;\n\n reaction: FeedsReactionResponse;\n}\n\nexport interface AggregatedActivityResponse {\n activity_count: number;\n\n created_at: Date;\n\n group: string;\n\n score: number;\n\n updated_at: Date;\n\n user_count: number;\n\n user_count_truncated: boolean;\n\n activities: ActivityResponse[];\n\n is_watched?: boolean;\n}\n\nexport interface AggregationConfig {\n format: string;\n}\n\nexport interface AnyEvent {\n created_at: Date;\n\n type: string;\n}\n\nexport interface AppResponseFields {\n allow_multi_user_devices: boolean;\n\n async_url_enrich_enabled: boolean;\n\n auto_translation_enabled: boolean;\n\n campaign_enabled: boolean;\n\n cdn_expiration_seconds: number;\n\n custom_action_handler_url: string;\n\n disable_auth_checks: boolean;\n\n disable_permissions_checks: boolean;\n\n enforce_unique_usernames: string;\n\n guest_user_creation_disabled: boolean;\n\n id: number;\n\n image_moderation_enabled: boolean;\n\n max_aggregated_activities_length: number;\n\n moderation_bulk_submit_action_enabled: boolean;\n\n moderation_enabled: boolean;\n\n moderation_llm_configurability_enabled: boolean;\n\n moderation_multitenant_blocklist_enabled: boolean;\n\n moderation_webhook_url: string;\n\n multi_tenant_enabled: boolean;\n\n name: string;\n\n organization: string;\n\n permission_version: string;\n\n placement: string;\n\n reminders_interval: number;\n\n sns_key: string;\n\n sns_secret: string;\n\n sns_topic_arn: string;\n\n sqs_key: string;\n\n sqs_secret: string;\n\n sqs_url: string;\n\n suspended: boolean;\n\n suspended_explanation: string;\n\n use_hook_v2: boolean;\n\n user_response_time_enabled: boolean;\n\n webhook_url: string;\n\n event_hooks: EventHook[];\n\n user_search_disallowed_roles: string[];\n\n webhook_events: string[];\n\n call_types: Record<string, CallType>;\n\n channel_configs: Record<string, ChannelConfig>;\n\n file_upload_config: FileUploadConfig;\n\n grants: Record<string, string[]>;\n\n image_upload_config: FileUploadConfig;\n\n policies: Record<string, Policy[]>;\n\n push_notifications: PushNotificationFields;\n\n before_message_send_hook_url?: string;\n\n revoke_tokens_issued_before?: Date;\n\n allowed_flag_reasons?: string[];\n\n geofences?: GeofenceResponse[];\n\n image_moderation_labels?: string[];\n\n datadog_info?: DataDogInfo;\n\n moderation_dashboard_preferences?: ModerationDashboardPreferences;\n}\n\nexport interface AsyncBulkImageModerationEvent {\n created_at: Date;\n\n finished_at: Date;\n\n started_at: Date;\n\n task_id: string;\n\n url: string;\n\n custom: Record<string, any>;\n\n type: string;\n\n received_at?: Date;\n}\n\nexport interface AsyncExportChannelsEvent {\n created_at: Date;\n\n finished_at: Date;\n\n started_at: Date;\n\n task_id: string;\n\n url: string;\n\n custom: Record<string, any>;\n\n type: string;\n\n received_at?: Date;\n}\n\nexport interface AsyncExportErrorEvent {\n created_at: Date;\n\n error: string;\n\n finished_at: Date;\n\n started_at: Date;\n\n task_id: string;\n\n custom: Record<string, any>;\n\n type: string;\n\n received_at?: Date;\n}\n\nexport interface AsyncExportModerationLogsEvent {\n created_at: Date;\n\n finished_at: Date;\n\n started_at: Date;\n\n task_id: string;\n\n url: string;\n\n custom: Record<string, any>;\n\n type: string;\n\n received_at?: Date;\n}\n\nexport interface AsyncExportUsersEvent {\n created_at: Date;\n\n finished_at: Date;\n\n started_at: Date;\n\n task_id: string;\n\n url: string;\n\n custom: Record<string, any>;\n\n type: string;\n\n received_at?: Date;\n}\n\nexport interface AsyncModerationCallbackConfig {\n mode?: 'CALLBACK_MODE_NONE' | 'CALLBACK_MODE_REST' | 'CALLBACK_MODE_TWIRP';\n\n server_url?: string;\n}\n\nexport interface AsyncModerationConfiguration {\n timeout_ms?: number;\n\n callback?: AsyncModerationCallbackConfig;\n}\n\nexport interface Attachment {\n custom: Record<string, any>;\n\n asset_url?: string;\n\n author_icon?: string;\n\n author_link?: string;\n\n author_name?: string;\n\n color?: string;\n\n fallback?: string;\n\n footer?: string;\n\n footer_icon?: string;\n\n image_url?: string;\n\n og_scrape_url?: string;\n\n original_height?: number;\n\n original_width?: number;\n\n pretext?: string;\n\n text?: string;\n\n thumb_url?: string;\n\n title?: string;\n\n title_link?: string;\n\n type?: string;\n\n actions?: Action[];\n\n fields?: Field[];\n\n giphy?: Images;\n}\n\nexport interface AudioSettings {\n access_request_enabled: boolean;\n\n default_device: 'speaker' | 'earpiece';\n\n hifi_audio_enabled: boolean;\n\n mic_default_on: boolean;\n\n opus_dtx_enabled: boolean;\n\n redundant_coding_enabled: boolean;\n\n speaker_default_on: boolean;\n\n noise_cancellation?: NoiseCancellationSettings;\n}\n\nexport interface AudioSettingsRequest {\n default_device: 'speaker' | 'earpiece';\n\n access_request_enabled?: boolean;\n\n hifi_audio_enabled?: boolean;\n\n mic_default_on?: boolean;\n\n opus_dtx_enabled?: boolean;\n\n redundant_coding_enabled?: boolean;\n\n speaker_default_on?: boolean;\n\n noise_cancellation?: NoiseCancellationSettings;\n}\n\nexport interface AudioSettingsResponse {\n access_request_enabled: boolean;\n\n default_device: 'speaker' | 'earpiece';\n\n hifi_audio_enabled: boolean;\n\n mic_default_on: boolean;\n\n opus_dtx_enabled: boolean;\n\n redundant_coding_enabled: boolean;\n\n speaker_default_on: boolean;\n\n noise_cancellation?: NoiseCancellationSettings;\n}\n\nexport interface AutomodDetails {\n action?: string;\n\n original_message_type?: string;\n\n image_labels?: string[];\n\n message_details?: FlagMessageDetails;\n\n result?: MessageModerationResult;\n}\n\nexport interface AutomodPlatformCircumventionConfig {\n async?: boolean;\n\n enabled?: boolean;\n\n rules?: AutomodRule[];\n}\n\nexport interface AutomodRule {\n action:\n | 'flag'\n | 'shadow'\n | 'remove'\n | 'bounce'\n | 'bounce_flag'\n | 'bounce_remove';\n\n label: string;\n\n threshold: number;\n}\n\nexport interface AutomodSemanticFiltersConfig {\n async?: boolean;\n\n enabled?: boolean;\n\n rules?: AutomodSemanticFiltersRule[];\n}\n\nexport interface AutomodSemanticFiltersRule {\n action: 'flag' | 'shadow' | 'remove';\n\n name: string;\n\n threshold: number;\n}\n\nexport interface AutomodToxicityConfig {\n async?: boolean;\n\n enabled?: boolean;\n\n rules?: AutomodRule[];\n}\n\nexport interface AzureRequest {\n abs_account_name: string;\n\n abs_client_id: string;\n\n abs_client_secret: string;\n\n abs_tenant_id: string;\n}\n\nexport interface BackstageSettings {\n enabled: boolean;\n\n join_ahead_time_seconds?: number;\n}\n\nexport interface BackstageSettingsRequest {\n enabled?: boolean;\n\n join_ahead_time_seconds?: number;\n}\n\nexport interface BackstageSettingsResponse {\n enabled: boolean;\n\n join_ahead_time_seconds?: number;\n}\n\nexport interface Ban {\n created_at: Date;\n\n shadow: boolean;\n\n expires?: Date;\n\n reason?: string;\n\n channel?: Channel;\n\n created_by?: User;\n\n target?: User;\n}\n\nexport interface BanActionRequest {\n channel_ban_only?: boolean;\n\n delete_messages?: 'soft' | 'pruning' | 'hard';\n\n ip_ban?: boolean;\n\n reason?: string;\n\n shadow?: boolean;\n\n timeout?: number;\n}\n\nexport interface BanOptions {\n delete_messages?: 'soft' | 'pruning' | 'hard';\n\n duration?: number;\n\n ip_ban?: boolean;\n\n reason?: string;\n\n shadow_ban?: boolean;\n}\n\nexport interface BanRequest {\n target_user_id: string;\n\n banned_by_id?: string;\n\n channel_cid?: string;\n\n delete_messages?: 'soft' | 'pruning' | 'hard';\n\n ip_ban?: boolean;\n\n reason?: string;\n\n shadow?: boolean;\n\n timeout?: number;\n\n banned_by?: UserRequest;\n}\n\nexport interface BanResponse {\n created_at: Date;\n\n expires?: Date;\n\n reason?: string;\n\n shadow?: boolean;\n\n banned_by?: UserResponse;\n\n channel?: ChannelResponse;\n\n user?: UserResponse;\n}\n\nexport interface BlockActionRequest {\n reason?: string;\n}\n\nexport interface BlockListConfig {\n async?: boolean;\n\n enabled?: boolean;\n\n rules?: BlockListRule[];\n}\n\nexport interface BlockListOptions {\n behavior: 'flag' | 'block' | 'shadow_block';\n\n blocklist: string;\n}\n\nexport interface BlockListResponse {\n is_leet_check_enabled: boolean;\n\n is_plural_check_enabled: boolean;\n\n name: string;\n\n type: string;\n\n words: string[];\n\n created_at?: Date;\n\n id?: string;\n\n team?: string;\n\n updated_at?: Date;\n}\n\nexport interface BlockListRule {\n action:\n | 'flag'\n | 'mask_flag'\n | 'shadow'\n | 'remove'\n | 'bounce'\n | 'bounce_flag'\n | 'bounce_remove';\n\n name?: string;\n\n team?: string;\n}\n\nexport interface BlockUserRequest {\n user_id: string;\n}\n\nexport interface BlockUserResponse {\n duration: string;\n}\n\nexport interface BlockUsersRequest {\n blocked_user_id: string;\n\n user_id?: string;\n\n user?: UserRequest;\n}\n\nexport interface BlockUsersResponse {\n blocked_by_user_id: string;\n\n blocked_user_id: string;\n\n created_at: Date;\n\n duration: string;\n}\n\nexport interface BlockedUserEvent {\n call_cid: string;\n\n created_at: Date;\n\n user: UserResponse;\n\n type: string;\n\n blocked_by_user?: UserResponse;\n}\n\nexport interface BlockedUserResponse {\n blocked_user_id: string;\n\n created_at: Date;\n\n user_id: string;\n\n blocked_user: UserResponse;\n\n user: UserResponse;\n}\n\nexport interface BodyguardImageAnalysisConfig {\n rules?: BodyguardRule[];\n}\n\nexport interface BodyguardRule {\n label: string;\n\n action?:\n | 'flag'\n | 'shadow'\n | 'remove'\n | 'bounce'\n | 'bounce_flag'\n | 'bounce_remove';\n\n severity_rules?: BodyguardSeverityRule[];\n}\n\nexport interface BodyguardSeverityRule {\n action:\n | 'flag'\n | 'shadow'\n | 'remove'\n | 'bounce'\n | 'bounce_flag'\n | 'bounce_remove';\n\n severity: 'low' | 'medium' | 'high' | 'critical';\n}\n\nexport interface BookmarkAddedEvent {\n created_at: Date;\n\n bookmark: BookmarkResponse;\n\n custom: Record<string, any>;\n\n type: string;\n\n received_at?: Date;\n\n user?: UserResponseCommonFields;\n}\n\nexport interface BookmarkDeletedEvent {\n created_at: Date;\n\n bookmark: BookmarkResponse;\n\n custom: Record<string, any>;\n\n type: string;\n\n received_at?: Date;\n\n user?: UserResponseCommonFields;\n}\n\nexport interface BookmarkFolderDeletedEvent {\n created_at: Date;\n\n bookmark_folder: BookmarkFolderResponse;\n\n custom: Record<string, any>;\n\n type: string;\n\n received_at?: Date;\n\n user?: UserResponseCommonFields;\n}\n\nexport interface BookmarkFolderResponse {\n created_at: Date;\n\n id: string;\n\n name: string;\n\n updated_at: Date;\n\n custom?: Record<string, any>;\n}\n\nexport interface BookmarkFolderUpdatedEvent {\n created_at: Date;\n\n bookmark_folder: BookmarkFolderResponse;\n\n custom: Record<string, any>;\n\n type: string;\n\n received_at?: Date;\n\n user?: UserResponseCommonFields;\n}\n\nexport interface BookmarkResponse {\n created_at: Date;\n\n updated_at: Date;\n\n activity: ActivityResponse;\n\n user: UserResponse;\n\n custom?: Record<string, any>;\n\n folder?: BookmarkFolderResponse;\n}\n\nexport interface BookmarkUpdatedEvent {\n created_at: Date;\n\n bookmark: BookmarkResponse;\n\n custom: Record<string, any>;\n\n type: string;\n\n received_at?: Date;\n\n user?: UserResponseCommonFields;\n}\n\nexport interface Bound {\n inclusive: boolean;\n\n value: number;\n}\n\nexport interface BroadcastSettings {\n enabled: boolean;\n\n hls?: HLSSettings;\n\n rtmp?: RTMPSettings;\n}\n\nexport interface BroadcastSettingsRequest {\n enabled?: boolean;\n\n hls?: HLSSettingsRequest;\n\n rtmp?: RTMPSettingsRequest;\n}\n\nexport interface BroadcastSettingsResponse {\n enabled: boolean;\n\n hls: HLSSettingsResponse;\n\n rtmp: RTMPSettingsResponse;\n}\n\nexport interface BrowserDataResponse {\n name?: string;\n\n version?: string;\n}\n\nexport interface BulkImageModerationRequest {\n csv_file: string;\n}\n\nexport interface BulkImageModerationResponse {\n duration: string;\n\n task_id: string;\n}\n\nexport interface CallAcceptedEvent {\n call_cid: string;\n\n created_at: Date;\n\n call: CallResponse;\n\n user: UserResponse;\n\n type: string;\n}\n\nexport interface CallClosedCaption {\n end_time: Date;\n\n id: string;\n\n language: string;\n\n speaker_id: string;\n\n start_time: Date;\n\n text: string;\n\n translated: boolean;\n\n user: UserResponse;\n\n service?: string;\n}\n\nexport interface CallClosedCaptionsFailedEvent {\n call_cid: string;\n\n created_at: Date;\n\n type: string;\n}\n\nexport interface CallClosedCaptionsStartedEvent {\n call_cid: string;\n\n created_at: Date;\n\n type: string;\n}\n\nexport interface CallClosedCaptionsStoppedEvent {\n call_cid: string;\n\n created_at: Date;\n\n type: string;\n}\n\nexport interface CallCreatedEvent {\n call_cid: string;\n\n created_at: Date;\n\n members: MemberResponse[];\n\n call: CallResponse;\n\n type: string;\n}\n\nexport interface CallDeletedEvent {\n call_cid: string;\n\n created_at: Date;\n\n call: CallResponse;\n\n type: string;\n}\n\nexport interface CallDurationReport {\n histogram: ReportByHistogramBucket[];\n}\n\nexport interface CallDurationReportResponse {\n daily: DailyAggregateCallDurationReportResponse[];\n}\n\nexport interface CallEndedEvent {\n call_cid: string;\n\n created_at: Date;\n\n call: CallResponse;\n\n type: string;\n\n reason?: string;\n\n user?: UserResponse;\n}\n\nexport interface CallFrameRecordingFailedEvent {\n call_cid: string;\n\n created_at: Date;\n\n egress_id: string;\n\n call: CallResponse;\n\n type: string;\n}\n\nexport interface CallFrameRecordingFrameReadyEvent {\n call_cid: string;\n\n captured_at: Date;\n\n created_at: Date;\n\n egress_id: string;\n\n session_id: string;\n\n track_type: string;\n\n url: string;\n\n users: Record<string, UserResponse>;\n\n type: string;\n}\n\nexport interface CallFrameRecordingStartedEvent {\n call_cid: string;\n\n created_at: Date;\n\n egress_id: string;\n\n call: CallResponse;\n\n type: string;\n}\n\nexport interface CallFrameRecordingStoppedEvent {\n call_cid: string;\n\n created_at: Date;\n\n egress_id: string;\n\n call: CallResponse;\n\n type: string;\n}\n\nexport interface CallHLSBroadcastingFailedEvent {\n call_cid: string;\n\n created_at: Date;\n\n type: string;\n}\n\nexport interface CallHLSBroadcastingStartedEvent {\n call_cid: string;\n\n created_at: Date;\n\n hls_playlist_url: string;\n\n call: CallResponse;\n\n type: string;\n}\n\nexport interface CallHLSBroadcastingStoppedEvent {\n call_cid: string;\n\n created_at: Date;\n\n type: string;\n}\n\nexport interface CallIngressResponse {\n rtmp: RTMPIngress;\n\n srt: SRTIngress;\n\n whip: WHIPIngress;\n}\n\nexport interface CallLiveStartedEvent {\n call_cid: string;\n\n created_at: Date;\n\n call: CallResponse;\n\n type: string;\n}\n\nexport interface CallMemberAddedEvent {\n call_cid: string;\n\n created_at: Date;\n\n members: MemberResponse[];\n\n call: CallResponse;\n\n type: string;\n}\n\nexport interface CallMemberRemovedEvent {\n call_cid: string;\n\n created_at: Date;\n\n members: string[];\n\n call: CallResponse;\n\n type: string;\n}\n\nexport interface CallMemberUpdatedEvent {\n call_cid: string;\n\n created_at: Date;\n\n members: MemberResponse[];\n\n call: CallResponse;\n\n type: string;\n}\n\nexport interface CallMemberUpdatedPermissionEvent {\n call_cid: string;\n\n created_at: Date;\n\n members: MemberResponse[];\n\n call: CallResponse;\n\n capabilities_by_role: Record<string, string[]>;\n\n type: string;\n}\n\nexport interface CallMissedEvent {\n call_cid: string;\n\n created_at: Date;\n\n notify_user: boolean;\n\n session_id: string;\n\n members: MemberResponse[];\n\n call: CallResponse;\n\n user: UserResponse;\n\n type: string;\n}\n\nexport interface CallModerationBlurEvent {\n call_cid: string;\n\n created_at: Date;\n\n user_id: string;\n\n custom: Record<string, any>;\n\n type: string;\n}\n\nexport interface CallModerationWarningEvent {\n call_cid: string;\n\n created_at: Date;\n\n message: string;\n\n user_id: string;\n\n custom: Record<string, any>;\n\n type: string;\n}\n\nexport interface CallNotificationEvent {\n call_cid: string;\n\n created_at: Date;\n\n session_id: string;\n\n members: MemberResponse[];\n\n call: CallResponse;\n\n user: UserResponse;\n\n type: string;\n}\n\nexport interface CallParticipantCountReport {\n histogram: ReportByHistogramBucket[];\n}\n\nexport interface CallParticipantCountReportResponse {\n daily: DailyAggregateCallParticipantCountReportResponse[];\n}\n\nexport interface CallParticipantResponse {\n joined_at: Date;\n\n role: string;\n\n user_session_id: string;\n\n user: UserResponse;\n}\n\nexport interface CallParticipantTimeline {\n severity: string;\n\n timestamp: Date;\n\n type: string;\n\n data: Record<string, any>;\n}\n\nexport interface CallReactionEvent {\n call_cid: string;\n\n created_at: Date;\n\n reaction: ReactionResponse;\n\n type: string;\n}\n\nexport interface CallRecording {\n end_time: Date;\n\n filename: string;\n\n session_id: string;\n\n start_time: Date;\n\n url: string;\n}\n\nexport interface CallRecordingFailedEvent {\n call_cid: string;\n\n created_at: Date;\n\n egress_id: string;\n\n type: string;\n}\n\nexport interface CallRecordingReadyEvent {\n call_cid: string;\n\n created_at: Date;\n\n egress_id: string;\n\n call_recording: CallRecording;\n\n type: string;\n}\n\nexport interface CallRecordingStartedEvent {\n call_cid: string;\n\n created_at: Date;\n\n egress_id: string;\n\n type: string;\n}\n\nexport interface CallRecordingStoppedEvent {\n call_cid: string;\n\n created_at: Date;\n\n egress_id: string;\n\n type: string;\n}\n\nexport interface CallRejectedEvent {\n call_cid: string;\n\n created_at: Date;\n\n call: CallResponse;\n\n user: UserResponse;\n\n type: string;\n\n reason?: string;\n}\n\nexport interface CallReportResponse {\n score: number;\n\n ended_at?: Date;\n\n started_at?: Date;\n}\n\nexport interface CallRequest {\n channel_cid?: string;\n\n created_by_id?: string;\n\n starts_at?: Date;\n\n team?: string;\n\n video?: boolean;\n\n members?: MemberRequest[];\n\n created_by?: UserRequest;\n\n custom?: Record<string, any>;\n\n settings_override?: CallSettingsRequest;\n}\n\nexport interface CallResponse {\n backstage: boolean;\n\n captioning: boolean;\n\n cid: string;\n\n created_at: Date;\n\n current_session_id: string;\n\n id: string;\n\n recording: boolean;\n\n transcribing: boolean;\n\n translating: boolean;\n\n type: string;\n\n updated_at: Date;\n\n blocked_user_ids: string[];\n\n created_by: UserResponse;\n\n custom: Record<string, any>;\n\n egress: EgressResponse;\n\n ingress: CallIngressResponse;\n\n settings: CallSettingsResponse;\n\n channel_cid?: string;\n\n ended_at?: Date;\n\n join_ahead_time_seconds?: number;\n\n starts_at?: Date;\n\n team?: string;\n\n session?: CallSessionResponse;\n\n thumbnails?: ThumbnailResponse;\n}\n\nexport interface CallRingEvent {\n call_cid: string;\n\n created_at: Date;\n\n session_id: string;\n\n video: boolean;\n\n members: MemberResponse[];\n\n call: CallResponse;\n\n user: UserResponse;\n\n type: string;\n}\n\nexport interface CallRtmpBroadcastFailedEvent {\n call_cid: string;\n\n created_at: Date;\n\n name: string;\n\n type: string;\n}\n\nexport interface CallRtmpBroadcastStartedEvent {\n call_cid: string;\n\n created_at: Date;\n\n name: string;\n\n type: string;\n}\n\nexport interface CallRtmpBroadcastStoppedEvent {\n call_cid: string;\n\n created_at: Date;\n\n name: string;\n\n type: string;\n}\n\nexport interface CallSessionEndedEvent {\n call_cid: string;\n\n created_at: Date;\n\n session_id: string;\n\n call: CallResponse;\n\n type: string;\n}\n\nexport interface CallSessionParticipantCountsUpdatedEvent {\n anonymous_participant_count: number;\n\n call_cid: string;\n\n created_at: Date;\n\n session_id: string;\n\n participants_count_by_role: Record<string, number>;\n\n type: string;\n}\n\nexport interface CallSessionParticipantJoinedEvent {\n call_cid: string;\n\n created_at: Date;\n\n session_id: string;\n\n participant: CallParticipantResponse;\n\n type: string;\n}\n\nexport interface CallSessionParticipantLeftEvent {\n call_cid: string;\n\n created_at: Date;\n\n duration_seconds: number;\n\n session_id: string;\n\n participant: CallParticipantResponse;\n\n type: string;\n\n reason?: string;\n}\n\nexport interface CallSessionResponse {\n anonymous_participant_count: number;\n\n id: string;\n\n participants: CallParticipantResponse[];\n\n accepted_by: Record<string, Date>;\n\n missed_by: Record<string, Date>;\n\n participants_count_by_role: Record<string, number>;\n\n rejected_by: Record<string, Date>;\n\n ended_at?: Date;\n\n live_ended_at?: Date;\n\n live_started_at?: Date;\n\n started_at?: Date;\n\n timer_ends_at?: Date;\n}\n\nexport interface CallSessionStartedEvent {\n call_cid: string;\n\n created_at: Date;\n\n session_id: string;\n\n call: CallResponse;\n\n type: string;\n}\n\nexport interface CallSettings {\n audio?: AudioSettings;\n\n backstage?: BackstageSettings;\n\n broadcasting?: BroadcastSettings;\n\n frame_recording?: FrameRecordSettings;\n\n geofencing?: GeofenceSettings;\n\n ingress?: IngressSettings;\n\n limits?: LimitsSettings;\n\n recording?: RecordSettings;\n\n ring?: RingSettings;\n\n screensharing?: ScreensharingSettings;\n\n session?: SessionSettings;\n\n thumbnails?: ThumbnailsSettings;\n\n transcription?: TranscriptionSettings;\n\n video?: VideoSettings;\n}\n\nexport interface CallSettingsRequest {\n audio?: AudioSettingsRequest;\n\n backstage?: BackstageSettingsRequest;\n\n broadcasting?: BroadcastSettingsRequest;\n\n frame_recording?: FrameRecordingSettingsRequest;\n\n geofencing?: GeofenceSettingsRequest;\n\n ingress?: IngressSettingsRequest;\n\n limits?: LimitsSettingsRequest;\n\n recording?: RecordSettingsRequest;\n\n ring?: RingSettingsRequest;\n\n screensharing?: ScreensharingSettingsRequest;\n\n session?: SessionSettingsRequest;\n\n thumbnails?: ThumbnailsSettingsRequest;\n\n transcription?: TranscriptionSettingsRequest;\n\n video?: VideoSettingsRequest;\n}\n\nexport interface CallSettingsResponse {\n audio: AudioSettingsResponse;\n\n backstage: BackstageSettingsResponse;\n\n broadcasting: BroadcastSettingsResponse;\n\n frame_recording: FrameRecordingSettingsResponse;\n\n geofencing: GeofenceSettingsResponse;\n\n limits: LimitsSettingsResponse;\n\n recording: RecordSettingsResponse;\n\n ring: RingSettingsResponse;\n\n screensharing: ScreensharingSettingsResponse;\n\n session: SessionSettingsResponse;\n\n thumbnails: ThumbnailsSettingsResponse;\n\n transcription: TranscriptionSettingsResponse;\n\n video: VideoSettingsResponse;\n\n ingress?: IngressSettingsResponse;\n}\n\nexport interface CallStateResponseFields {\n members: MemberResponse[];\n\n own_capabilities: OwnCapability[];\n\n call: CallResponse;\n}\n\nexport interface CallStatsLocation {\n accuracy_radius_meters?: number;\n\n city?: string;\n\n continent?: string;\n\n country?: string;\n\n latitude?: number;\n\n longitude?: number;\n\n subdivision?: string;\n}\n\nexport interface CallStatsParticipant {\n user_id: string;\n\n sessions: CallStatsParticipantSession[];\n\n latest_activity_at?: Date;\n\n name?: string;\n\n roles?: string[];\n}\n\nexport interface CallStatsParticipantCounts {\n live_sessions: number;\n\n participants: number;\n\n publishers: number;\n\n sessions: number;\n}\n\nexport interface CallStatsParticipantSession {\n is_live: boolean;\n\n user_session_id: string;\n\n published_tracks: PublishedTrackFlags;\n\n browser?: string;\n\n browser_version?: string;\n\n cq_score?: number;\n\n current_ip?: string;\n\n current_sfu?: string;\n\n distance_to_sfu_kilometers?: number;\n\n ended_at?: Date;\n\n publisher_type?: string;\n\n sdk?: string;\n\n sdk_version?: string;\n\n started_at?: Date;\n\n unified_session_id?: string;\n\n webrtc_version?: string;\n\n location?: CallStatsLocation;\n}\n\nexport interface CallStatsReportReadyEvent {\n call_cid: string;\n\n created_at: Date;\n\n session_id: string;\n\n type: string;\n}\n\nexport interface CallStatsReportSummaryResponse {\n call_cid: string;\n\n call_duration_seconds: number;\n\n call_session_id: string;\n\n call_status: string;\n\n first_stats_time: Date;\n\n created_at?: Date;\n\n min_user_rating?: number;\n\n quality_score?: number;\n}\n\nexport interface CallTranscription {\n end_time: Date;\n\n filename: string;\n\n session_id: string;\n\n start_time: Date;\n\n url: string;\n}\n\nexport interface CallTranscriptionFailedEvent {\n call_cid: string;\n\n created_at: Date;\n\n egress_id: string;\n\n type: string;\n\n error?: string;\n}\n\nexport interface CallTranscriptionReadyEvent {\n call_cid: string;\n\n created_at: Date;\n\n egress_id: string;\n\n call_transcription: CallTranscription;\n\n type: string;\n}\n\nexport interface CallTranscriptionStartedEvent {\n call_cid: string;\n\n created_at: Date;\n\n egress_id: string;\n\n type: string;\n}\n\nexport interface CallTranscriptionStoppedEvent {\n call_cid: string;\n\n created_at: Date;\n\n egress_id: string;\n\n type: string;\n}\n\nexport interface CallType {\n app: number;\n\n created_at: Date;\n\n id: number;\n\n name: string;\n\n recording_external_storage: string;\n\n updated_at: Date;\n\n notification_settings?: NotificationSettings;\n\n settings?: CallSettings;\n}\n\nexport interface CallTypeResponse {\n created_at: Date;\n\n name: string;\n\n updated_at: Date;\n\n grants: Record<string, string[]>;\n\n notification_settings: NotificationSettings;\n\n settings: CallSettingsResponse;\n\n external_storage?: string;\n}\n\nexport interface CallUpdatedEvent {\n call_cid: string;\n\n created_at: Date;\n\n call: CallResponse;\n\n capabilities_by_role: Record<string, string[]>;\n\n type: string;\n}\n\nexport interface CallUserFeedbackSubmittedEvent {\n call_cid: string;\n\n created_at: Date;\n\n rating: number;\n\n session_id: string;\n\n user: UserResponse;\n\n type: string;\n\n reason?: string;\n\n sdk?: string;\n\n sdk_version?: string;\n\n custom?: Record<string, any>;\n}\n\nexport interface CallUserMutedEvent {\n call_cid: string;\n\n created_at: Date;\n\n from_user_id: string;\n\n reason: string;\n\n muted_user_ids: string[];\n\n type: string;\n}\n\nexport interface CallsPerDayReport {\n count: number;\n}\n\nexport interface CallsPerDayReportResponse {\n daily: DailyAggregateCallsPerDayReportResponse[];\n}\n\nexport interface CampaignChannelTemplate {\n type: string;\n\n custom: Record<string, any>;\n\n id?: string;\n\n team?: string;\n\n members?: string[];\n}\n\nexport interface CampaignCompletedEvent {\n created_at: Date;\n\n custom: Record<string, any>;\n\n type: string;\n\n received_at?: Date;\n\n campaign?: CampaignResponse;\n}\n\nexport interface CampaignMessageTemplate {\n poll_id: string;\n\n text: string;\n\n attachments: Attachment[];\n\n custom: Record<string, any>;\n}\n\nexport interface CampaignResponse {\n create_channels: boolean;\n\n created_at: Date;\n\n description: string;\n\n id: string;\n\n name: string;\n\n sender_id: string;\n\n sender_mode: string;\n\n sender_visibility: string;\n\n show_channels: boolean;\n\n skip_push: boolean;\n\n skip_webhook: boolean;\n\n status: string;\n\n updated_at: Date;\n\n segment_ids: string[];\n\n segments: Segment[];\n\n user_ids: string[];\n\n users: UserResponse[];\n\n stats: CampaignStatsResponse;\n\n scheduled_for?: Date;\n\n stop_at?: Date;\n\n channel_template?: CampaignChannelTemplate;\n\n message_template?: CampaignMessageTemplate;\n\n sender?: UserResponse;\n}\n\nexport interface CampaignStartedEvent {\n created_at: Date;\n\n custom: Record<string, any>;\n\n type: string;\n\n received_at?: Date;\n\n campaign?: CampaignResponse;\n}\n\nexport interface CampaignStatsResponse {\n progress: number;\n\n stats_channels_created: number;\n\n stats_completed_at: Date;\n\n stats_messages_sent: number;\n\n stats_started_at: Date;\n\n stats_users_read: number;\n\n stats_users_sent: number;\n}\n\nexport interface CastPollVoteRequest {\n user_id?: string;\n\n user?: UserRequest;\n\n vote?: VoteData;\n}\n\nexport interface Channel {\n auto_translation_language: string;\n\n cid: string;\n\n created_at: Date;\n\n disabled: boolean;\n\n frozen: boolean;\n\n id: string;\n\n type: string;\n\n updated_at: Date;\n\n custom: Record<string, any>;\n\n auto_translation_enabled?: boolean;\n\n cooldown?: number;\n\n deleted_at?: Date;\n\n last_campaigns?: string;\n\n last_message_at?: Date;\n\n member_count?: number;\n\n message_count?: number;\n\n message_count_updated_at?: Date;\n\n team?: string;\n\n active_live_locations?: SharedLocation[];\n\n invites?: ChannelMember[];\n\n members?: ChannelMember[];\n\n config?: ChannelConfig;\n\n config_overrides?: ConfigOverrides;\n\n created_by?: User;\n\n members_lookup?: Record<string, ChannelMemberLookup>;\n\n truncated_by?: User;\n}\n\nexport interface ChannelConfig {\n automod: 'disabled' | 'simple' | 'AI';\n\n automod_behavior: 'flag' | 'block' | 'shadow_block';\n\n connect_events: boolean;\n\n count_messages: boolean;\n\n created_at: Date;\n\n custom_events: boolean;\n\n delivery_events: boolean;\n\n mark_messages_pending: boolean;\n\n max_message_length: number;\n\n mutes: boolean;\n\n name: string;\n\n polls: boolean;\n\n push_notifications: boolean;\n\n quotes: boolean;\n\n reactions: boolean;\n\n read_events: boolean;\n\n reminders: boolean;\n\n replies: boolean;\n\n search: boolean;\n\n shared_locations: boolean;\n\n skip_last_msg_update_for_system_msgs: boolean;\n\n typing_events: boolean;\n\n updated_at: Date;\n\n uploads: boolean;\n\n url_enrichment: boolean;\n\n user_message_reminders: boolean;\n\n commands: string[];\n\n blocklist?: string;\n\n blocklist_behavior?: 'flag' | 'block' | 'shadow_block';\n\n partition_size?: number;\n\n partition_ttl?: number;\n\n allowed_flag_reasons?: string[];\n\n blocklists?: BlockListOptions[];\n\n automod_thresholds?: Thresholds;\n}\n\nexport interface ChannelConfigWithInfo {\n automod: 'disabled' | 'simple' | 'AI';\n\n automod_behavior: 'flag' | 'block' | 'shadow_block';\n\n connect_events: boolean;\n\n count_messages: boolean;\n\n created_at: Date;\n\n custom_events: boolean;\n\n delivery_events: boolean;\n\n mark_messages_pending: boolean;\n\n max_message_length: number;\n\n mutes: boolean;\n\n name: string;\n\n polls: boolean;\n\n push_notifications: boolean;\n\n quotes: boolean;\n\n reactions: boolean;\n\n read_events: boolean;\n\n reminders: boolean;\n\n replies: boolean;\n\n search: boolean;\n\n shared_locations: boolean;\n\n skip_last_msg_update_for_system_msgs: boolean;\n\n typing_events: boolean;\n\n updated_at: Date;\n\n uploads: boolean;\n\n url_enrichment: boolean;\n\n user_message_reminders: boolean;\n\n commands: Command[];\n\n blocklist?: string;\n\n blocklist_behavior?: 'flag' | 'block' | 'shadow_block';\n\n partition_size?: number;\n\n partition_ttl?: string;\n\n allowed_flag_reasons?: string[];\n\n blocklists?: BlockListOptions[];\n\n automod_thresholds?: Thresholds;\n\n grants?: Record<string, string[]>;\n}\n\nexport interface ChannelCreatedEvent {\n created_at: Date;\n\n type: string;\n}\n\nexport interface ChannelDeletedEvent {\n channel_id: string;\n\n channel_member_count: number;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n type: string;\n\n team?: string;\n\n channel?: ChannelResponse;\n}\n\nexport interface ChannelExport {\n cid?: string;\n\n id?: string;\n\n messages_since?: Date;\n\n messages_until?: Date;\n\n type?: string;\n}\n\nexport interface ChannelFrozenEvent {\n channel_id: string;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n type: string;\n}\n\nexport interface ChannelGetOrCreateRequest {\n hide_for_creator?: boolean;\n\n state?: boolean;\n\n thread_unread_counts?: boolean;\n\n data?: ChannelInput;\n\n members?: PaginationParams;\n\n messages?: MessagePaginationParams;\n\n watchers?: PaginationParams;\n}\n\nexport interface ChannelHiddenEvent {\n channel_id: string;\n\n channel_member_count: number;\n\n channel_type: string;\n\n cid: string;\n\n clear_history: boolean;\n\n created_at: Date;\n\n type: string;\n\n channel?: ChannelResponse;\n\n user?: User;\n}\n\nexport interface ChannelInput {\n auto_translation_enabled?: boolean;\n\n auto_translation_language?: string;\n\n created_by_id?: string;\n\n disabled?: boolean;\n\n frozen?: boolean;\n\n team?: string;\n\n truncated_by_id?: string;\n\n invites?: ChannelMemberRequest[];\n\n members?: ChannelMemberRequest[];\n\n config_overrides?: ChannelConfig;\n\n created_by?: UserRequest;\n\n custom?: Record<string, any>;\n}\n\nexport interface ChannelMember {\n banned: boolean;\n\n channel_role: string;\n\n created_at: Date;\n\n is_global_banned: boolean;\n\n notifications_muted: boolean;\n\n shadow_banned: boolean;\n\n updated_at: Date;\n\n custom: Record<string, any>;\n\n archived_at?: Date;\n\n ban_expires?: Date;\n\n blocked?: boolean;\n\n deleted_at?: Date;\n\n hidden?: boolean;\n\n invite_accepted_at?: Date;\n\n invite_rejected_at?: Date;\n\n invited?: boolean;\n\n is_moderator?: boolean;\n\n pinned_at?: Date;\n\n status?: string;\n\n user_id?: string;\n\n deleted_messages?: string[];\n\n channel?: DenormalizedChannelFields;\n\n user?: User;\n}\n\nexport interface ChannelMemberLookup {\n archived: boolean;\n\n banned: boolean;\n\n blocked: boolean;\n\n hidden: boolean;\n\n pinned: boolean;\n\n archived_at?: Date;\n\n ban_expires?: Date;\n\n pinned_at?: Date;\n}\n\nexport interface ChannelMemberRequest {\n user_id: string;\n\n channel_role?: string;\n\n custom?: Record<string, any>;\n\n user?: UserResponse;\n}\n\nexport interface ChannelMemberResponse {\n banned: boolean;\n\n channel_role: string;\n\n created_at: Date;\n\n notifications_muted: boolean;\n\n shadow_banned: boolean;\n\n updated_at: Date;\n\n custom: Record<string, any>;\n\n archived_at?: Date;\n\n ban_expires?: Date;\n\n deleted_at?: Date;\n\n invite_accepted_at?: Date;\n\n invite_rejected_at?: Date;\n\n invited?: boolean;\n\n is_moderator?: boolean;\n\n pinned_at?: Date;\n\n role?: 'member' | 'moderator' | 'admin' | 'owner';\n\n status?: string;\n\n user_id?: string;\n\n deleted_messages?: string[];\n\n user?: UserResponse;\n}\n\nexport interface ChannelMessages {\n messages: Message[];\n\n channel?: ChannelResponse;\n}\n\nexport interface ChannelMute {\n created_at: Date;\n\n updated_at: Date;\n\n expires?: Date;\n\n channel?: ChannelResponse;\n\n user?: UserResponse;\n}\n\nexport interface ChannelMutedEvent {\n created_at: Date;\n\n type: string;\n}\n\nexport const ChannelOwnCapability = {\n BAN_CHANNEL_MEMBERS: 'ban-channel-members',\n CAST_POLL_VOTE: 'cast-poll-vote',\n CONNECT_EVENTS: 'connect-events',\n CREATE_ATTACHMENT: 'create-attachment',\n DELETE_ANY_MESSAGE: 'delete-any-message',\n DELETE_CHANNEL: 'delete-channel',\n DELETE_OWN_MESSAGE: 'delete-own-message',\n DELIVERY_EVENTS: 'delivery-events',\n FLAG_MESSAGE: 'flag-message',\n FREEZE_CHANNEL: 'freeze-channel',\n JOIN_CHANNEL: 'join-channel',\n LEAVE_CHANNEL: 'leave-channel',\n MUTE_CHANNEL: 'mute-channel',\n PIN_MESSAGE: 'pin-message',\n QUERY_POLL_VOTES: 'query-poll-votes',\n QUOTE_MESSAGE: 'quote-message',\n READ_EVENTS: 'read-events',\n SEARCH_MESSAGES: 'search-messages',\n SEND_CUSTOM_EVENTS: 'send-custom-events',\n SEND_LINKS: 'send-links',\n SEND_MESSAGE: 'send-message',\n SEND_POLL: 'send-poll',\n SEND_REACTION: 'send-reaction',\n SEND_REPLY: 'send-reply',\n SEND_RESTRICTED_VISIBILITY_MESSAGE: 'send-restricted-visibility-message',\n SEND_TYPING_EVENTS: 'send-typing-events',\n SET_CHANNEL_COOLDOWN: 'set-channel-cooldown',\n SHARE_LOCATION: 'share-location',\n SKIP_SLOW_MODE: 'skip-slow-mode',\n SLOW_MODE: 'slow-mode',\n TYPING_EVENTS: 'typing-events',\n UPDATE_ANY_MESSAGE: 'update-any-message',\n UPDATE_CHANNEL: 'update-channel',\n UPDATE_CHANNEL_MEMBERS: 'update-channel-members',\n UPDATE_OWN_MESSAGE: 'update-own-message',\n UPDATE_THREAD: 'update-thread',\n UPLOAD_FILE: 'upload-file',\n} as const;\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport type ChannelOwnCapability =\n (typeof ChannelOwnCapability)[keyof typeof ChannelOwnCapability];\n\nexport interface ChannelPushPreferences {\n chat_level?: string;\n\n disabled_until?: Date;\n}\n\nexport interface ChannelResponse {\n cid: string;\n\n created_at: Date;\n\n disabled: boolean;\n\n frozen: boolean;\n\n id: string;\n\n type: string;\n\n updated_at: Date;\n\n custom: Record<string, any>;\n\n auto_translation_enabled?: boolean;\n\n auto_translation_language?: string;\n\n blocked?: boolean;\n\n cooldown?: number;\n\n deleted_at?: Date;\n\n hidden?: boolean;\n\n hide_messages_before?: Date;\n\n last_message_at?: Date;\n\n member_count?: number;\n\n message_count?: number;\n\n mute_expires_at?: Date;\n\n muted?: boolean;\n\n team?: string;\n\n truncated_at?: Date;\n\n members?: ChannelMemberResponse[];\n\n own_capabilities?: ChannelOwnCapability[];\n\n config?: ChannelConfigWithInfo;\n\n created_by?: UserResponse;\n\n truncated_by?: UserResponse;\n}\n\nexport interface ChannelStateResponse {\n duration: string;\n\n members: ChannelMemberResponse[];\n\n messages: MessageResponse[];\n\n pinned_messages: MessageResponse[];\n\n threads: ThreadStateResponse[];\n\n hidden?: boolean;\n\n hide_messages_before?: Date;\n\n watcher_count?: number;\n\n active_live_locations?: SharedLocationResponseData[];\n\n pending_messages?: PendingMessageResponse[];\n\n read?: ReadStateResponse[];\n\n watchers?: UserResponse[];\n\n channel?: ChannelResponse;\n\n draft?: DraftResponse;\n\n membership?: ChannelMemberResponse;\n\n push_preferences?: ChannelPushPreferences;\n}\n\nexport interface ChannelStateResponseFields {\n members: ChannelMemberResponse[];\n\n messages: MessageResponse[];\n\n pinned_messages: MessageResponse[];\n\n threads: ThreadStateResponse[];\n\n hidden?: boolean;\n\n hide_messages_before?: Date;\n\n watcher_count?: number;\n\n active_live_locations?: SharedLocationResponseData[];\n\n pending_messages?: PendingMessageResponse[];\n\n read?: ReadStateResponse[];\n\n watchers?: UserResponse[];\n\n channel?: ChannelResponse;\n\n draft?: DraftResponse;\n\n membership?: ChannelMemberResponse;\n\n push_preferences?: ChannelPushPreferences;\n}\n\nexport interface ChannelTruncatedEvent {\n channel_id: string;\n\n channel_member_count: number;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n type: string;\n\n channel?: ChannelResponse;\n}\n\nexport interface ChannelTypeConfig {\n automod: 'disabled' | 'simple' | 'AI';\n\n automod_behavior: 'flag' | 'block' | 'shadow_block';\n\n connect_events: boolean;\n\n count_messages: boolean;\n\n created_at: Date;\n\n custom_events: boolean;\n\n delivery_events: boolean;\n\n mark_messages_pending: boolean;\n\n max_message_length: number;\n\n mutes: boolean;\n\n name: string;\n\n polls: boolean;\n\n push_notifications: boolean;\n\n quotes: boolean;\n\n reactions: boolean;\n\n read_events: boolean;\n\n reminders: boolean;\n\n replies: boolean;\n\n search: boolean;\n\n shared_locations: boolean;\n\n skip_last_msg_update_for_system_msgs: boolean;\n\n typing_events: boolean;\n\n updated_at: Date;\n\n uploads: boolean;\n\n url_enrichment: boolean;\n\n user_message_reminders: boolean;\n\n commands: Command[];\n\n permissions: PolicyRequest[];\n\n grants: Record<string, string[]>;\n\n blocklist?: string;\n\n blocklist_behavior?: 'flag' | 'block' | 'shadow_block';\n\n partition_size?: number;\n\n partition_ttl?: string;\n\n allowed_flag_reasons?: string[];\n\n blocklists?: BlockListOptions[];\n\n automod_thresholds?: Thresholds;\n}\n\nexport interface ChannelUnFrozenEvent {\n channel_id: string;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n type: string;\n}\n\nexport interface ChannelUnmutedEvent {\n created_at: Date;\n\n type: string;\n}\n\nexport interface ChannelUpdatedEvent {\n channel_id: string;\n\n channel_member_count: number;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n type: string;\n\n team?: string;\n\n channel?: ChannelResponse;\n\n message?: Message;\n\n user?: User;\n}\n\nexport interface ChannelVisibleEvent {\n channel_id: string;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n type: string;\n\n user?: User;\n}\n\nexport interface ChatActivityStatsResponse {\n messages?: MessageStatsResponse;\n}\n\nexport interface CheckExternalStorageResponse {\n duration: string;\n\n file_url: string;\n}\n\nexport interface CheckPushRequest {\n apn_template?: string;\n\n event_type?:\n | 'message.new'\n | 'message.updated'\n | 'reaction.new'\n | 'reaction.updated'\n | 'notification.reminder_due';\n\n firebase_data_template?: string;\n\n firebase_template?: string;\n\n message_id?: string;\n\n push_provider_name?: string;\n\n push_provider_type?: 'firebase' | 'apn' | 'huawei' | 'xiaomi';\n\n skip_devices?: boolean;\n\n user_id?: string;\n\n user?: UserRequest;\n}\n\nexport interface CheckPushResponse {\n duration: string;\n\n event_type?: string;\n\n rendered_apn_template?: string;\n\n rendered_firebase_template?: string;\n\n skip_devices?: boolean;\n\n general_errors?: string[];\n\n device_errors?: Record<string, DeviceErrorInfo>;\n\n rendered_message?: Record<string, string>;\n}\n\nexport interface CheckRequest {\n entity_creator_id: string;\n\n entity_id: string;\n\n entity_type: string;\n\n config_key?: string;\n\n config_team?: string;\n\n test_mode?: boolean;\n\n user_id?: string;\n\n config?: ModerationConfig;\n\n moderation_payload?: ModerationPayload;\n\n options?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface CheckResponse {\n duration: string;\n\n recommended_action: string;\n\n status: string;\n\n task_id?: string;\n\n item?: ReviewQueueItemResponse;\n}\n\nexport interface CheckSNSRequest {\n sns_key?: string;\n\n sns_secret?: string;\n\n sns_topic_arn?: string;\n}\n\nexport interface CheckSNSResponse {\n duration: string;\n\n status: 'ok' | 'error';\n\n error?: string;\n\n data?: Record<string, any>;\n}\n\nexport interface CheckSQSRequest {\n sqs_key?: string;\n\n sqs_secret?: string;\n\n sqs_url?: string;\n}\n\nexport interface CheckSQSResponse {\n duration: string;\n\n status: 'ok' | 'error';\n\n error?: string;\n\n data?: Record<string, any>;\n}\n\nexport interface ClientOSDataResponse {\n architecture?: string;\n\n name?: string;\n\n version?: string;\n}\n\nexport interface ClosedCaptionEvent {\n call_cid: string;\n\n created_at: Date;\n\n closed_caption: CallClosedCaption;\n\n type: string;\n}\n\nexport interface CollectUserFeedbackRequest {\n rating: number;\n\n sdk: string;\n\n sdk_version: string;\n\n reason?: string;\n\n user_session_id?: string;\n\n custom?: Record<string, any>;\n}\n\nexport interface CollectUserFeedbackResponse {\n duration: string;\n}\n\nexport interface Command {\n args: string;\n\n description: string;\n\n name: string;\n\n set: string;\n\n created_at?: Date;\n\n updated_at?: Date;\n}\n\nexport interface CommentAddedEvent {\n created_at: Date;\n\n fid: string;\n\n activity: ActivityResponse;\n\n comment: CommentResponse;\n\n custom: Record<string, any>;\n\n type: string;\n\n feed_visibility?: string;\n\n received_at?: Date;\n\n user?: UserResponseCommonFields;\n}\n\nexport interface CommentDeletedEvent {\n created_at: Date;\n\n fid: string;\n\n comment: CommentResponse;\n\n custom: Record<string, any>;\n\n type: string;\n\n feed_visibility?: string;\n\n received_at?: Date;\n\n user?: UserResponseCommonFields;\n}\n\nexport interface CommentReactionAddedEvent {\n created_at: Date;\n\n fid: string;\n\n activity: ActivityResponse;\n\n comment: CommentResponse;\n\n custom: Record<string, any>;\n\n reaction: FeedsReactionResponse;\n\n type: string;\n\n feed_visibility?: string;\n\n received_at?: Date;\n\n user?: UserResponseCommonFields;\n}\n\nexport interface CommentReactionDeletedEvent {\n created_at: Date;\n\n fid: string;\n\n comment: CommentResponse;\n\n custom: Record<string, any>;\n\n reaction: FeedsReactionResponse;\n\n type: string;\n\n feed_visibility?: string;\n\n received_at?: Date;\n}\n\nexport interface CommentReactionUpdatedEvent {\n created_at: Date;\n\n fid: string;\n\n activity: ActivityResponse;\n\n comment: CommentResponse;\n\n custom: Record<string, any>;\n\n reaction: FeedsReactionResponse;\n\n type: string;\n\n feed_visibility?: string;\n\n received_at?: Date;\n\n user?: UserResponseCommonFields;\n}\n\nexport interface CommentResponse {\n confidence_score: number;\n\n created_at: Date;\n\n downvote_count: number;\n\n id: string;\n\n object_id: string;\n\n object_type: string;\n\n reaction_count: number;\n\n reply_count: number;\n\n score: number;\n\n status: string;\n\n updated_at: Date;\n\n upvote_count: number;\n\n mentioned_users: UserResponse[];\n\n own_reactions: FeedsReactionResponse[];\n\n user: UserResponse;\n\n controversy_score?: number;\n\n deleted_at?: Date;\n\n parent_id?: string;\n\n text?: string;\n\n attachments?: Attachment[];\n\n latest_reactions?: FeedsReactionResponse[];\n\n custom?: Record<string, any>;\n\n moderation?: ModerationV2Response;\n\n reaction_groups?: Record<string, ReactionGroupResponse>;\n}\n\nexport interface CommentUpdatedEvent {\n created_at: Date;\n\n fid: string;\n\n comment: CommentResponse;\n\n custom: Record<string, any>;\n\n type: string;\n\n feed_visibility?: string;\n\n received_at?: Date;\n\n user?: UserResponseCommonFields;\n}\n\nexport interface CommitMessageRequest {}\n\nexport interface ConfigOverrides {\n commands: string[];\n\n grants: Record<string, string[]>;\n\n blocklist?: string;\n\n blocklist_behavior?: 'flag' | 'block';\n\n count_messages?: boolean;\n\n max_message_length?: number;\n\n quotes?: boolean;\n\n reactions?: boolean;\n\n replies?: boolean;\n\n shared_locations?: boolean;\n\n typing_events?: boolean;\n\n uploads?: boolean;\n\n url_enrichment?: boolean;\n\n user_message_reminders?: boolean;\n}\n\nexport interface ConfigResponse {\n async: boolean;\n\n created_at: Date;\n\n key: string;\n\n team: string;\n\n updated_at: Date;\n\n supported_video_call_harm_types: string[];\n\n ai_image_config?: AIImageConfig;\n\n ai_text_config?: AITextConfig;\n\n ai_video_config?: AIVideoConfig;\n\n automod_platform_circumvention_config?: AutomodPlatformCircumventionConfig;\n\n automod_semantic_filters_config?: AutomodSemanticFiltersConfig;\n\n automod_toxicity_config?: AutomodToxicityConfig;\n\n block_list_config?: BlockListConfig;\n\n llm_config?: LLMConfig;\n\n velocity_filter_config?: VelocityFilterConfig;\n\n video_call_rule_config?: VideoCallRuleConfig;\n}\n\nexport interface ContentCountRuleParameters {\n threshold?: number;\n\n time_window?: string;\n}\n\nexport interface CountByMinuteResponse {\n count: number;\n\n start_ts: Date;\n}\n\nexport interface CreateBlockListRequest {\n name: string;\n\n words: string[];\n\n is_leet_check_enabled?: boolean;\n\n is_plural_check_enabled?: boolean;\n\n team?: string;\n\n type?: 'regex' | 'domain' | 'domain_allowlist' | 'email' | 'word';\n}\n\nexport interface CreateBlockListResponse {\n duration: string;\n\n blocklist?: BlockListResponse;\n}\n\nexport interface CreateCallTypeRequest {\n name: string;\n\n external_storage?: string;\n\n grants?: Record<string, string[]>;\n\n notification_settings?: NotificationSettings;\n\n settings?: CallSettingsRequest;\n}\n\nexport interface CreateCallTypeResponse {\n created_at: Date;\n\n duration: string;\n\n name: string;\n\n updated_at: Date;\n\n grants: Record<string, string[]>;\n\n notification_settings: NotificationSettings;\n\n settings: CallSettingsResponse;\n\n external_storage?: string;\n}\n\nexport interface CreateChannelTypeRequest {\n automod: 'disabled' | 'simple' | 'AI';\n\n automod_behavior: 'flag' | 'block';\n\n max_message_length: number;\n\n name: string;\n\n blocklist?: string;\n\n blocklist_behavior?: 'flag' | 'block' | 'shadow_block';\n\n connect_events?: boolean;\n\n count_messages?: boolean;\n\n custom_events?: boolean;\n\n delivery_events?: boolean;\n\n mark_messages_pending?: boolean;\n\n message_retention?: 'infinite' | 'numeric';\n\n mutes?: boolean;\n\n partition_size?: number;\n\n partition_ttl?: string;\n\n polls?: boolean;\n\n push_notifications?: boolean;\n\n reactions?: boolean;\n\n read_events?: boolean;\n\n replies?: boolean;\n\n search?: boolean;\n\n shared_locations?: boolean;\n\n skip_last_msg_update_for_system_msgs?: boolean;\n\n typing_events?: boolean;\n\n uploads?: boolean;\n\n url_enrichment?: boolean;\n\n user_message_reminders?: boolean;\n\n blocklists?: BlockListOptions[];\n\n commands?: string[];\n\n permissions?: PolicyRequest[];\n\n grants?: Record<string, string[]>;\n}\n\nexport interface CreateChannelTypeResponse {\n automod: 'disabled' | 'simple' | 'AI';\n\n automod_behavior: 'flag' | 'block' | 'shadow_block';\n\n connect_events: boolean;\n\n count_messages: boolean;\n\n created_at: Date;\n\n custom_events: boolean;\n\n delivery_events: boolean;\n\n duration: string;\n\n mark_messages_pending: boolean;\n\n max_message_length: number;\n\n mutes: boolean;\n\n name: string;\n\n polls: boolean;\n\n push_notifications: boolean;\n\n quotes: boolean;\n\n reactions: boolean;\n\n read_events: boolean;\n\n reminders: boolean;\n\n replies: boolean;\n\n search: boolean;\n\n shared_locations: boolean;\n\n skip_last_msg_update_for_system_msgs: boolean;\n\n typing_events: boolean;\n\n updated_at: Date;\n\n uploads: boolean;\n\n url_enrichment: boolean;\n\n user_message_reminders: boolean;\n\n commands: string[];\n\n permissions: PolicyRequest[];\n\n grants: Record<string, string[]>;\n\n blocklist?: string;\n\n blocklist_behavior?: 'flag' | 'block' | 'shadow_block';\n\n partition_size?: number;\n\n partition_ttl?: string;\n\n allowed_flag_reasons?: string[];\n\n blocklists?: BlockListOptions[];\n\n automod_thresholds?: Thresholds;\n}\n\nexport interface CreateCommandRequest {\n description: string;\n\n name: string;\n\n args?: string;\n\n set?: string;\n}\n\nexport interface CreateCommandResponse {\n duration: string;\n\n command?: Command;\n}\n\nexport interface CreateDeviceRequest {\n id: string;\n\n push_provider: 'firebase' | 'apn' | 'huawei' | 'xiaomi';\n\n push_provider_name?: string;\n\n user_id?: string;\n\n voip_token?: boolean;\n\n user?: UserRequest;\n}\n\nexport interface CreateExternalStorageRequest {\n bucket: string;\n\n name: string;\n\n storage_type: 's3' | 'gcs' | 'abs';\n\n gcs_credentials?: string;\n\n path?: string;\n\n aws_s3?: S3Request;\n\n azure_blob?: AzureRequest;\n}\n\nexport interface CreateExternalStorageResponse {\n duration: string;\n}\n\nexport interface CreateFeedGroupRequest {\n id: string;\n\n default_visibility?:\n | 'public'\n | 'visible'\n | 'followers'\n | 'members'\n | 'private';\n\n activity_processors?: ActivityProcessorConfig[];\n\n activity_selectors?: ActivitySelectorConfig[];\n\n aggregation?: AggregationConfig;\n\n custom?: Record<string, any>;\n\n notification?: NotificationConfig;\n\n push_notification?: PushNotificationConfig;\n\n ranking?: RankingConfig;\n\n stories?: StoriesConfig;\n}\n\nexport interface CreateFeedGroupResponse {\n duration: string;\n\n feed_group: FeedGroupResponse;\n}\n\nexport interface CreateFeedViewRequest {\n id: string;\n\n activity_selectors?: ActivitySelectorConfig[];\n\n aggregation?: AggregationConfig;\n\n ranking?: RankingConfig;\n}\n\nexport interface CreateFeedViewResponse {\n duration: string;\n\n feed_view: FeedViewResponse;\n}\n\nexport interface CreateFeedsBatchRequest {\n feeds: FeedRequest[];\n}\n\nexport interface CreateFeedsBatchResponse {\n duration: string;\n\n feeds: FeedResponse[];\n}\n\nexport interface CreateGuestRequest {\n user: UserRequest;\n}\n\nexport interface CreateGuestResponse {\n access_token: string;\n\n duration: string;\n\n user: UserResponse;\n}\n\nexport interface CreateImportRequest {\n mode: 'insert' | 'upsert';\n\n path: string;\n}\n\nexport interface CreateImportResponse {\n duration: string;\n\n import_task?: ImportTask;\n}\n\nexport interface CreateImportURLRequest {\n filename?: string;\n}\n\nexport interface CreateImportURLResponse {\n duration: string;\n\n path: string;\n\n upload_url: string;\n}\n\nexport interface CreateMembershipLevelRequest {\n id: string;\n\n name: string;\n\n description?: string;\n\n priority?: number;\n\n tags?: string[];\n\n custom?: Record<string, any>;\n}\n\nexport interface CreateMembershipLevelResponse {\n duration: string;\n\n membership_level: MembershipLevelResponse;\n}\n\nexport interface CreatePollOptionRequest {\n text: string;\n\n user_id?: string;\n\n custom?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface CreatePollRequest {\n name: string;\n\n allow_answers?: boolean;\n\n allow_user_suggested_options?: boolean;\n\n description?: string;\n\n enforce_unique_vote?: boolean;\n\n id?: string;\n\n is_closed?: boolean;\n\n max_votes_allowed?: number;\n\n user_id?: string;\n\n voting_visibility?: 'anonymous' | 'public';\n\n options?: PollOptionInput[];\n\n custom?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface CreateReminderRequest {\n remind_at?: Date;\n\n user_id?: string;\n\n user?: UserRequest;\n}\n\nexport interface CreateRoleRequest {\n name: string;\n}\n\nexport interface CreateRoleResponse {\n duration: string;\n\n role: Role;\n}\n\nexport interface CustomActionRequest {\n id?: string;\n\n options?: Record<string, any>;\n}\n\nexport interface CustomCheckFlag {\n type: string;\n\n reason?: string;\n\n labels?: string[];\n\n custom?: Record<string, any>;\n}\n\nexport interface CustomCheckRequest {\n entity_id: string;\n\n entity_type: string;\n\n flags: CustomCheckFlag[];\n\n entity_creator_id?: string;\n\n user_id?: string;\n\n moderation_payload?: ModerationPayload;\n\n user?: UserRequest;\n}\n\nexport interface CustomCheckResponse {\n duration: string;\n\n id: string;\n\n status: string;\n\n item?: ReviewQueueItemResponse;\n}\n\nexport interface CustomVideoEvent {\n call_cid: string;\n\n created_at: Date;\n\n custom: Record<string, any>;\n\n user: UserResponse;\n\n type: string;\n}\n\nexport interface DailyAggregateCallDurationReportResponse {\n date: string;\n\n report: CallDurationReport;\n}\n\nexport interface DailyAggregateCallParticipantCountReportResponse {\n date: string;\n\n report: CallParticipantCountReport;\n}\n\nexport interface DailyAggregateCallsPerDayReportResponse {\n date: string;\n\n report: CallsPerDayReport;\n}\n\nexport interface DailyAggregateQualityScoreReportResponse {\n date: string;\n\n report: QualityScoreReport;\n}\n\nexport interface DailyAggregateSDKUsageReportResponse {\n date: string;\n\n report: SDKUsageReport;\n}\n\nexport interface DailyAggregateUserFeedbackReportResponse {\n date: string;\n\n report: UserFeedbackReport;\n}\n\nexport interface DailyMetricResponse {\n date: string;\n\n value: number;\n}\n\nexport interface DailyMetricStatsResponse {\n total: number;\n\n daily: DailyMetricResponse[];\n}\n\nexport interface Data {\n id: string;\n}\n\nexport interface DataDogInfo {\n api_key?: string;\n\n enabled?: boolean;\n\n site?: string;\n}\n\nexport interface DeactivateUserRequest {\n created_by_id?: string;\n\n mark_messages_deleted?: boolean;\n}\n\nexport interface DeactivateUserResponse {\n duration: string;\n\n user?: UserResponse;\n}\n\nexport interface DeactivateUsersRequest {\n user_ids: string[];\n\n created_by_id?: string;\n\n mark_channels_deleted?: boolean;\n\n mark_messages_deleted?: boolean;\n}\n\nexport interface DeactivateUsersResponse {\n duration: string;\n\n task_id: string;\n}\n\nexport interface DecayFunctionConfig {\n base?: string;\n\n decay?: string;\n\n direction?: string;\n\n offset?: string;\n\n origin?: string;\n\n scale?: string;\n}\n\nexport interface DeleteActivitiesRequest {\n ids: string[];\n\n hard_delete?: boolean;\n\n user_id?: string;\n\n user?: UserRequest;\n}\n\nexport interface DeleteActivitiesResponse {\n duration: string;\n\n deleted_ids: string[];\n}\n\nexport interface DeleteActivityReactionResponse {\n duration: string;\n\n activity: ActivityResponse;\n\n reaction: FeedsReactionResponse;\n}\n\nexport interface DeleteActivityRequest {\n hard_delete?: boolean;\n\n reason?: string;\n}\n\nexport interface DeleteActivityResponse {\n duration: string;\n}\n\nexport interface DeleteBookmarkFolderResponse {\n duration: string;\n}\n\nexport interface DeleteBookmarkResponse {\n duration: string;\n\n bookmark: BookmarkResponse;\n}\n\nexport interface DeleteCallRequest {\n hard?: boolean;\n}\n\nexport interface DeleteCallResponse {\n duration: string;\n\n call: CallResponse;\n\n task_id?: string;\n}\n\nexport interface DeleteChannelResponse {\n duration: string;\n\n channel?: ChannelResponse;\n}\n\nexport interface DeleteChannelsRequest {\n cids: string[];\n\n hard_delete?: boolean;\n}\n\nexport interface DeleteChannelsResponse {\n duration: string;\n\n task_id?: string;\n\n result?: Record<string, DeleteChannelsResultResponse>;\n}\n\nexport interface DeleteChannelsResultResponse {\n status: string;\n\n error?: string;\n}\n\nexport interface DeleteCommandResponse {\n duration: string;\n\n name: string;\n}\n\nexport interface DeleteCommentReactionResponse {\n duration: string;\n\n comment: CommentResponse;\n\n reaction: FeedsReactionResponse;\n}\n\nexport interface DeleteCommentRequest {\n hard_delete?: boolean;\n\n reason?: string;\n}\n\nexport interface DeleteCommentResponse {\n duration: string;\n\n activity: ActivityResponse;\n\n comment: CommentResponse;\n}\n\nexport interface DeleteExternalStorageResponse {\n duration: string;\n}\n\nexport interface DeleteFeedGroupResponse {\n duration: string;\n}\n\nexport interface DeleteFeedResponse {\n duration: string;\n\n task_id: string;\n}\n\nexport interface DeleteFeedUserDataResponse {\n deleted_activities: number;\n\n deleted_bookmarks: number;\n\n deleted_comments: number;\n\n deleted_reactions: number;\n\n duration: string;\n}\n\nexport interface DeleteFeedViewResponse {\n duration: string;\n}\n\nexport interface DeleteMessageRequest {\n hard_delete?: boolean;\n\n reason?: string;\n}\n\nexport interface DeleteMessageResponse {\n duration: string;\n\n message: MessageResponse;\n}\n\nexport interface DeleteModerationConfigResponse {\n duration: string;\n}\n\nexport interface DeleteModerationRuleResponse {\n duration: string;\n}\n\nexport interface DeleteModerationTemplateResponse {\n duration: string;\n}\n\nexport interface DeleteReactionRequest {\n hard_delete?: boolean;\n\n reason?: string;\n}\n\nexport interface DeleteReactionResponse {\n duration: string;\n\n message: MessageResponse;\n\n reaction: ReactionResponse;\n}\n\nexport interface DeleteRecordingResponse {\n duration: string;\n}\n\nexport interface DeleteReminderResponse {\n duration: string;\n}\n\nexport interface DeleteSegmentTargetsRequest {\n target_ids: string[];\n}\n\nexport interface DeleteTranscriptionResponse {\n duration: string;\n}\n\nexport interface DeleteUserRequest {\n delete_conversation_channels?: boolean;\n\n delete_feeds_content?: boolean;\n\n hard_delete?: boolean;\n\n mark_messages_deleted?: boolean;\n\n reason?: string;\n}\n\nexport interface DeleteUsersRequest {\n user_ids: string[];\n\n calls?: 'soft' | 'hard';\n\n conversations?: 'soft' | 'hard';\n\n files?: boolean;\n\n messages?: 'soft' | 'pruning' | 'hard';\n\n new_call_owner_id?: string;\n\n new_channel_owner_id?: string;\n\n user?: 'soft' | 'pruning' | 'hard';\n}\n\nexport interface DeleteUsersResponse {\n duration: string;\n\n task_id: string;\n}\n\nexport interface DeliveryReceipts {\n enabled: boolean;\n}\n\nexport interface DeliveryReceiptsResponse {\n enabled?: boolean;\n}\n\nexport interface DenormalizedChannelFields {\n created_at?: string;\n\n created_by_id?: string;\n\n disabled?: boolean;\n\n frozen?: boolean;\n\n id?: string;\n\n last_message_at?: string;\n\n member_count?: number;\n\n team?: string;\n\n type?: string;\n\n updated_at?: string;\n\n custom?: Record<string, any>;\n}\n\nexport interface Device {\n created_at: Date;\n\n id: string;\n\n push_provider: 'firebase' | 'apn' | 'huawei' | 'xiaomi';\n\n user_id: string;\n\n disabled?: boolean;\n\n disabled_reason?: string;\n\n push_provider_name?: string;\n\n voip?: boolean;\n}\n\nexport interface DeviceDataResponse {\n name?: string;\n\n version?: string;\n}\n\nexport interface DeviceErrorInfo {\n error_message: string;\n\n provider: string;\n\n provider_name: string;\n}\n\nexport interface DeviceResponse {\n created_at: Date;\n\n id: string;\n\n push_provider: string;\n\n user_id: string;\n\n disabled?: boolean;\n\n disabled_reason?: string;\n\n push_provider_name?: string;\n\n voip?: boolean;\n}\n\nexport interface DraftPayloadResponse {\n id: string;\n\n text: string;\n\n custom: Record<string, any>;\n\n html?: string;\n\n mml?: string;\n\n parent_id?: string;\n\n poll_id?: string;\n\n quoted_message_id?: string;\n\n show_in_channel?: boolean;\n\n silent?: boolean;\n\n type?: string;\n\n attachments?: Attachment[];\n\n mentioned_users?: UserResponse[];\n}\n\nexport interface DraftResponse {\n channel_cid: string;\n\n created_at: Date;\n\n message: DraftPayloadResponse;\n\n parent_id?: string;\n\n channel?: ChannelResponse;\n\n parent_message?: MessageResponse;\n\n quoted_message?: MessageResponse;\n}\n\nexport interface EdgeResponse {\n continent_code: string;\n\n country_iso_code: string;\n\n green: number;\n\n id: string;\n\n latency_test_url: string;\n\n latitude: number;\n\n longitude: number;\n\n red: number;\n\n subdivision_iso_code: string;\n\n yellow: number;\n}\n\nexport interface EgressHLSResponse {\n playlist_url: string;\n\n status: string;\n}\n\nexport interface EgressRTMPResponse {\n name: string;\n\n started_at: Date;\n\n stream_key?: string;\n\n stream_url?: string;\n}\n\nexport interface EgressResponse {\n broadcasting: boolean;\n\n rtmps: EgressRTMPResponse[];\n\n frame_recording?: FrameRecordingResponse;\n\n hls?: EgressHLSResponse;\n}\n\nexport interface EndCallRequest {}\n\nexport interface EndCallResponse {\n duration: string;\n}\n\nexport interface EnrichedActivity {\n foreign_id?: string;\n\n id?: string;\n\n score?: number;\n\n verb?: string;\n\n to?: string[];\n\n actor?: Data;\n\n latest_reactions?: Record<string, EnrichedReaction[]>;\n\n object?: Data;\n\n origin?: Data;\n\n own_reactions?: Record<string, EnrichedReaction[]>;\n\n reaction_counts?: Record<string, number>;\n\n target?: Data;\n}\n\nexport interface EnrichedReaction {\n activity_id: string;\n\n kind: string;\n\n user_id: string;\n\n id?: string;\n\n parent?: string;\n\n target_feeds?: string[];\n\n children_counts?: Record<string, number>;\n\n created_at?: Time;\n\n data?: Record<string, any>;\n\n latest_children?: Record<string, EnrichedReaction[]>;\n\n own_children?: Record<string, EnrichedReaction[]>;\n\n updated_at?: Time;\n\n user?: Data;\n}\n\nexport interface EntityCreatorResponse {\n ban_count: number;\n\n banned: boolean;\n\n created_at: Date;\n\n deleted_content_count: number;\n\n flagged_count: number;\n\n id: string;\n\n invisible: boolean;\n\n language: string;\n\n online: boolean;\n\n role: string;\n\n shadow_banned: boolean;\n\n updated_at: Date;\n\n blocked_user_ids: string[];\n\n teams: string[];\n\n custom: Record<string, any>;\n\n avg_response_time?: number;\n\n ban_expires?: Date;\n\n deactivated_at?: Date;\n\n deleted_at?: Date;\n\n image?: string;\n\n last_active?: Date;\n\n name?: string;\n\n revoke_tokens_issued_before?: Date;\n\n devices?: DeviceResponse[];\n\n privacy_settings?: PrivacySettingsResponse;\n\n push_notifications?: PushNotificationSettingsResponse;\n\n teams_role?: Record<string, string>;\n}\n\nexport interface ErrorResult {\n type: string;\n\n stacktrace?: string;\n\n version?: string;\n}\n\nexport interface EventHook {\n created_at?: Date;\n\n enabled?: boolean;\n\n hook_type?: string;\n\n id?: string;\n\n product?: string;\n\n sns_auth_type?: string;\n\n sns_key?: string;\n\n sns_region?: string;\n\n sns_role_arn?: string;\n\n sns_secret?: string;\n\n sns_topic_arn?: string;\n\n sqs_auth_type?: string;\n\n sqs_key?: string;\n\n sqs_queue_url?: string;\n\n sqs_region?: string;\n\n sqs_role_arn?: string;\n\n sqs_secret?: string;\n\n timeout_ms?: number;\n\n updated_at?: Date;\n\n webhook_url?: string;\n\n event_types?: string[];\n\n callback?: AsyncModerationCallbackConfig;\n}\n\nexport interface EventNotificationSettings {\n enabled: boolean;\n\n apns: APNS;\n\n fcm: FCM;\n}\n\nexport interface EventRequest {\n type: string;\n\n parent_id?: string;\n\n user_id?: string;\n\n custom?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface EventResponse {\n duration: string;\n\n event: WSEvent;\n}\n\nexport interface ExportChannelsRequest {\n channels: ChannelExport[];\n\n clear_deleted_message_text?: boolean;\n\n export_users?: boolean;\n\n include_soft_deleted_channels?: boolean;\n\n include_truncated_messages?: boolean;\n\n version?: string;\n}\n\nexport interface ExportChannelsResponse {\n duration: string;\n\n task_id: string;\n}\n\nexport interface ExportFeedUserDataRequest {}\n\nexport interface ExportFeedUserDataResponse {\n duration: string;\n\n task_id: string;\n}\n\nexport interface ExportUserResponse {\n duration: string;\n\n messages?: MessageResponse[];\n\n reactions?: ReactionResponse[];\n\n user?: UserResponse;\n}\n\nexport interface ExportUsersRequest {\n user_ids: string[];\n}\n\nexport interface ExportUsersResponse {\n duration: string;\n\n task_id: string;\n}\n\nexport interface ExternalStorageResponse {\n bucket: string;\n\n name: string;\n\n path: string;\n\n type: 's3' | 'gcs' | 'abs';\n}\n\nexport interface FCM {\n data?: Record<string, any>;\n}\n\nexport interface FeedCreatedEvent {\n created_at: Date;\n\n fid: string;\n\n members: FeedMemberResponse[];\n\n custom: Record<string, any>;\n\n feed: FeedResponse;\n\n user: UserResponseCommonFields;\n\n type: string;\n\n feed_visibility?: string;\n\n received_at?: Date;\n}\n\nexport interface FeedDeletedEvent {\n created_at: Date;\n\n fid: string;\n\n custom: Record<string, any>;\n\n type: string;\n\n feed_visibility?: string;\n\n received_at?: Date;\n\n user?: UserResponseCommonFields;\n}\n\nexport interface FeedGroup {\n aggregation_version: number;\n\n app_pk: number;\n\n created_at: Date;\n\n default_visibility: string;\n\n group_id: string;\n\n updated_at: Date;\n\n activity_processors: ActivityProcessorConfig[];\n\n activity_selectors: ActivitySelectorConfig[];\n\n custom: Record<string, any>;\n\n deleted_at?: Date;\n\n last_feed_get_at?: Date;\n\n aggregation?: AggregationConfig;\n\n notification?: NotificationConfig;\n\n push_notification?: PushNotificationConfig;\n\n ranking?: RankingConfig;\n\n stories?: StoriesConfig;\n}\n\nexport interface FeedGroupChangedEvent {\n created_at: Date;\n\n fid: string;\n\n custom: Record<string, any>;\n\n type: string;\n\n feed_visibility?: string;\n\n received_at?: Date;\n\n feed_group?: FeedGroup;\n\n user?: UserResponseCommonFields;\n}\n\nexport interface FeedGroupDeletedEvent {\n created_at: Date;\n\n fid: string;\n\n group_id: string;\n\n custom: Record<string, any>;\n\n type: string;\n\n feed_visibility?: string;\n\n received_at?: Date;\n}\n\nexport interface FeedGroupResponse {\n created_at: Date;\n\n id: string;\n\n updated_at: Date;\n\n default_visibility?: string;\n\n deleted_at?: Date;\n\n activity_processors?: ActivityProcessorConfig[];\n\n activity_selectors?: ActivitySelectorConfigResponse[];\n\n aggregation?: AggregationConfig;\n\n custom?: Record<string, any>;\n\n notification?: NotificationConfig;\n\n push_notification?: PushNotificationConfig;\n\n ranking?: RankingConfig;\n\n stories?: StoriesConfig;\n}\n\nexport interface FeedInput {\n description?: string;\n\n name?: string;\n\n visibility?: 'public' | 'visible' | 'followers' | 'members' | 'private';\n\n filter_tags?: string[];\n\n members?: FeedMemberRequest[];\n\n custom?: Record<string, any>;\n}\n\nexport interface FeedMemberAddedEvent {\n created_at: Date;\n\n fid: string;\n\n custom: Record<string, any>;\n\n member: FeedMemberResponse;\n\n type: string;\n\n feed_visibility?: string;\n\n received_at?: Date;\n\n user?: UserResponseCommonFields;\n}\n\nexport interface FeedMemberRemovedEvent {\n created_at: Date;\n\n fid: string;\n\n member_id: string;\n\n custom: Record<string, any>;\n\n type: string;\n\n feed_visibility?: string;\n\n received_at?: Date;\n\n user?: UserResponseCommonFields;\n}\n\nexport interface FeedMemberRequest {\n user_id: string;\n\n invite?: boolean;\n\n membership_level?: string;\n\n role?: string;\n\n custom?: Record<string, any>;\n}\n\nexport interface FeedMemberResponse {\n created_at: Date;\n\n role: string;\n\n status: 'member' | 'pending' | 'rejected';\n\n updated_at: Date;\n\n user: UserResponse;\n\n invite_accepted_at?: Date;\n\n invite_rejected_at?: Date;\n\n custom?: Record<string, any>;\n\n membership_level?: MembershipLevelResponse;\n}\n\nexport interface FeedMemberUpdatedEvent {\n created_at: Date;\n\n fid: string;\n\n custom: Record<string, any>;\n\n member: FeedMemberResponse;\n\n type: string;\n\n feed_visibility?: string;\n\n received_at?: Date;\n\n user?: UserResponseCommonFields;\n}\n\nexport const FeedOwnCapability = {\n ADD_ACTIVITY: 'add-activity',\n ADD_ACTIVITY_BOOKMARK: 'add-activity-bookmark',\n ADD_ACTIVITY_REACTION: 'add-activity-reaction',\n ADD_COMMENT: 'add-comment',\n ADD_COMMENT_REACTION: 'add-comment-reaction',\n CREATE_FEED: 'create-feed',\n DELETE_ANY_ACTIVITY: 'delete-any-activity',\n DELETE_ANY_COMMENT: 'delete-any-comment',\n DELETE_FEED: 'delete-feed',\n DELETE_OWN_ACTIVITY: 'delete-own-activity',\n DELETE_OWN_ACTIVITY_BOOKMARK: 'delete-own-activity-bookmark',\n DELETE_OWN_ACTIVITY_REACTION: 'delete-own-activity-reaction',\n DELETE_OWN_COMMENT: 'delete-own-comment',\n DELETE_OWN_COMMENT_REACTION: 'delete-own-comment-reaction',\n FOLLOW: 'follow',\n PIN_ACTIVITY: 'pin-activity',\n QUERY_FEED_MEMBERS: 'query-feed-members',\n QUERY_FOLLOWS: 'query-follows',\n READ_ACTIVITIES: 'read-activities',\n READ_FEED: 'read-feed',\n UNFOLLOW: 'unfollow',\n UPDATE_ANY_ACTIVITY: 'update-any-activity',\n UPDATE_ANY_COMMENT: 'update-any-comment',\n UPDATE_FEED: 'update-feed',\n UPDATE_FEED_FOLLOWERS: 'update-feed-followers',\n UPDATE_FEED_MEMBERS: 'update-feed-members',\n UPDATE_OWN_ACTIVITY: 'update-own-activity',\n UPDATE_OWN_ACTIVITY_BOOKMARK: 'update-own-activity-bookmark',\n UPDATE_OWN_COMMENT: 'update-own-comment',\n} as const;\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport type FeedOwnCapability =\n (typeof FeedOwnCapability)[keyof typeof FeedOwnCapability];\n\nexport interface FeedRequest {\n feed_group_id: string;\n\n feed_id: string;\n\n created_by_id?: string;\n\n description?: string;\n\n name?: string;\n\n visibility?: 'public' | 'visible' | 'followers' | 'members' | 'private';\n\n filter_tags?: string[];\n\n members?: FeedMemberRequest[];\n\n custom?: Record<string, any>;\n}\n\nexport interface FeedResponse {\n created_at: Date;\n\n description: string;\n\n feed: string;\n\n follower_count: number;\n\n following_count: number;\n\n group_id: string;\n\n id: string;\n\n member_count: number;\n\n name: string;\n\n pin_count: number;\n\n updated_at: Date;\n\n created_by: UserResponse;\n\n deleted_at?: Date;\n\n visibility?: string;\n\n filter_tags?: string[];\n\n own_capabilities?: FeedOwnCapability[];\n\n own_follows?: FollowResponse[];\n\n custom?: Record<string, any>;\n\n own_membership?: FeedMemberResponse;\n}\n\nexport interface FeedSuggestionResponse {\n created_at: Date;\n\n description: string;\n\n feed: string;\n\n follower_count: number;\n\n following_count: number;\n\n group_id: string;\n\n id: string;\n\n member_count: number;\n\n name: string;\n\n pin_count: number;\n\n updated_at: Date;\n\n created_by: UserResponse;\n\n deleted_at?: Date;\n\n reason?: string;\n\n recommendation_score?: number;\n\n visibility?: string;\n\n filter_tags?: string[];\n\n own_capabilities?: FeedOwnCapability[];\n\n own_follows?: FollowResponse[];\n\n algorithm_scores?: Record<string, number>;\n\n custom?: Record<string, any>;\n\n own_membership?: FeedMemberResponse;\n}\n\nexport interface FeedUpdatedEvent {\n created_at: Date;\n\n fid: string;\n\n custom: Record<string, any>;\n\n feed: FeedResponse;\n\n type: string;\n\n feed_visibility?: string;\n\n received_at?: Date;\n\n user?: UserResponseCommonFields;\n}\n\nexport interface FeedViewResponse {\n id: string;\n\n last_used_at?: Date;\n\n activity_selectors?: ActivitySelectorConfigResponse[];\n\n aggregation?: AggregationConfig;\n\n ranking?: RankingConfig;\n}\n\nexport interface FeedVisibilityResponse {\n name: string;\n\n permissions: Permission[];\n\n grants: Record<string, string[]>;\n}\n\nexport interface FeedsModerationTemplateConfig {\n config_key: string;\n\n data_types: Record<string, string>;\n}\n\nexport interface FeedsPreferences {\n comment?: 'all' | 'none';\n\n comment_reaction?: 'all' | 'none';\n\n follow?: 'all' | 'none';\n\n mention?: 'all' | 'none';\n\n reaction?: 'all' | 'none';\n\n custom_activity_types?: Record<string, string>;\n}\n\nexport interface FeedsReactionResponse {\n activity_id: string;\n\n created_at: Date;\n\n type: string;\n\n updated_at: Date;\n\n user: UserResponse;\n\n comment_id?: string;\n\n custom?: Record<string, any>;\n}\n\nexport interface Field {\n short: boolean;\n\n title: string;\n\n value: string;\n}\n\nexport interface FileUploadConfig {\n size_limit: number;\n\n allowed_file_extensions?: string[];\n\n allowed_mime_types?: string[];\n\n blocked_file_extensions?: string[];\n\n blocked_mime_types?: string[];\n}\n\nexport interface FileUploadRequest {\n file?: string;\n\n user?: OnlyUserID;\n}\n\nexport interface FileUploadResponse {\n duration: string;\n\n file?: string;\n\n thumb_url?: string;\n}\n\nexport interface FirebaseConfig {\n apn_template?: string;\n\n credentials_json?: string;\n\n data_template?: string;\n\n disabled?: boolean;\n\n notification_template?: string;\n\n server_key?: string;\n}\n\nexport interface FirebaseConfigFields {\n enabled: boolean;\n\n apn_template?: string;\n\n credentials_json?: string;\n\n data_template?: string;\n\n notification_template?: string;\n\n server_key?: string;\n}\n\nexport interface Flag {\n created_at: Date;\n\n created_by_automod: boolean;\n\n updated_at: Date;\n\n approved_at?: Date;\n\n reason?: string;\n\n rejected_at?: Date;\n\n reviewed_at?: Date;\n\n reviewed_by?: string;\n\n target_message_id?: string;\n\n custom?: Record<string, any>;\n\n details?: FlagDetails;\n\n target_message?: Message;\n\n target_user?: User;\n\n user?: User;\n}\n\nexport interface FlagDetails {\n original_text: string;\n\n extra: Record<string, any>;\n\n automod?: AutomodDetails;\n}\n\nexport interface FlagFeedback {\n created_at: Date;\n\n message_id: string;\n\n labels: Label[];\n}\n\nexport interface FlagMessageDetails {\n pin_changed?: boolean;\n\n should_enrich?: boolean;\n\n skip_push?: boolean;\n\n updated_by_id?: string;\n}\n\nexport interface FlagRequest {\n entity_id: string;\n\n entity_type: string;\n\n entity_creator_id?: string;\n\n reason?: string;\n\n user_id?: string;\n\n custom?: Record<string, any>;\n\n moderation_payload?: ModerationPayload;\n\n user?: UserRequest;\n}\n\nexport interface FlagResponse {\n duration: string;\n\n item_id: string;\n}\n\nexport interface FlagUpdatedEvent {\n created_at: Date;\n\n custom: Record<string, any>;\n\n type: string;\n\n received_at?: Date;\n\n created_by?: UserResponse;\n\n message?: MessageResponse;\n\n user?: UserResponse;\n}\n\nexport interface FlagUserOptions {\n reason?: string;\n}\n\nexport interface FollowBatchRequest {\n follows: FollowRequest[];\n}\n\nexport interface FollowBatchResponse {\n duration: string;\n\n follows: FollowResponse[];\n}\n\nexport interface FollowCreatedEvent {\n created_at: Date;\n\n fid: string;\n\n custom: Record<string, any>;\n\n follow: FollowResponse;\n\n type: string;\n\n feed_visibility?: string;\n\n received_at?: Date;\n}\n\nexport interface FollowDeletedEvent {\n created_at: Date;\n\n fid: string;\n\n custom: Record<string, any>;\n\n follow: FollowResponse;\n\n type: string;\n\n feed_visibility?: string;\n\n received_at?: Date;\n}\n\nexport interface FollowPair {\n source: string;\n\n target: string;\n}\n\nexport interface FollowRequest {\n source: string;\n\n target: string;\n\n create_notification_activity?: boolean;\n\n push_preference?: 'all' | 'none';\n\n skip_push?: boolean;\n\n custom?: Record<string, any>;\n}\n\nexport interface FollowResponse {\n created_at: Date;\n\n follower_role: string;\n\n push_preference: 'all' | 'none';\n\n status: 'accepted' | 'pending' | 'rejected';\n\n updated_at: Date;\n\n source_feed: FeedResponse;\n\n target_feed: FeedResponse;\n\n request_accepted_at?: Date;\n\n request_rejected_at?: Date;\n\n custom?: Record<string, any>;\n}\n\nexport interface FollowUpdatedEvent {\n created_at: Date;\n\n fid: string;\n\n custom: Record<string, any>;\n\n follow: FollowResponse;\n\n type: string;\n\n feed_visibility?: string;\n\n received_at?: Date;\n}\n\nexport interface FrameRecordSettings {\n capture_interval_in_seconds: number;\n\n mode: 'available' | 'disabled' | 'auto-on';\n\n quality?: string;\n}\n\nexport interface FrameRecordingResponse {\n status: string;\n}\n\nexport interface FrameRecordingSettingsRequest {\n capture_interval_in_seconds: number;\n\n mode: 'available' | 'disabled' | 'auto-on';\n\n quality?: '360p' | '480p' | '720p' | '1080p' | '1440p';\n}\n\nexport interface FrameRecordingSettingsResponse {\n capture_interval_in_seconds: number;\n\n mode: 'available' | 'disabled' | 'auto-on';\n\n quality?: string;\n}\n\nexport interface FullUserResponse {\n banned: boolean;\n\n created_at: Date;\n\n id: string;\n\n invisible: boolean;\n\n language: string;\n\n online: boolean;\n\n role: string;\n\n shadow_banned: boolean;\n\n total_unread_count: number;\n\n unread_channels: number;\n\n unread_count: number;\n\n unread_threads: number;\n\n updated_at: Date;\n\n blocked_user_ids: string[];\n\n channel_mutes: ChannelMute[];\n\n devices: DeviceResponse[];\n\n mutes: UserMuteResponse[];\n\n teams: string[];\n\n custom: Record<string, any>;\n\n avg_response_time?: number;\n\n ban_expires?: Date;\n\n deactivated_at?: Date;\n\n deleted_at?: Date;\n\n image?: string;\n\n last_active?: Date;\n\n name?: string;\n\n revoke_tokens_issued_before?: Date;\n\n latest_hidden_channels?: string[];\n\n privacy_settings?: PrivacySettingsResponse;\n\n teams_role?: Record<string, string>;\n}\n\nexport interface GeofenceResponse {\n name: string;\n\n description?: string;\n\n type?: string;\n\n country_codes?: string[];\n}\n\nexport interface GeofenceSettings {\n names: string[];\n}\n\nexport interface GeofenceSettingsRequest {\n names?: string[];\n}\n\nexport interface GeofenceSettingsResponse {\n names: string[];\n}\n\nexport interface GetActiveCallsStatusResponse {\n duration: string;\n\n end_time: Date;\n\n start_time: Date;\n\n metrics?: ActiveCallsMetrics;\n\n summary?: ActiveCallsSummary;\n}\n\nexport interface GetActivityResponse {\n duration: string;\n\n activity: ActivityResponse;\n}\n\nexport interface GetApplicationResponse {\n duration: string;\n\n app: AppResponseFields;\n}\n\nexport interface GetBlockListResponse {\n duration: string;\n\n blocklist?: BlockListResponse;\n}\n\nexport interface GetBlockedUsersResponse {\n duration: string;\n\n blocks: BlockedUserResponse[];\n}\n\nexport interface GetCallReportResponse {\n duration: string;\n\n session_id: string;\n\n report: ReportResponse;\n\n video_reactions?: VideoReactionsResponse[];\n\n chat_activity?: ChatActivityStatsResponse;\n\n session?: CallSessionResponse;\n}\n\nexport interface GetCallResponse {\n duration: string;\n\n members: MemberResponse[];\n\n own_capabilities: OwnCapability[];\n\n call: CallResponse;\n}\n\nexport interface GetCallSessionParticipantStatsDetailsResponse {\n call_id: string;\n\n call_session_id: string;\n\n call_type: string;\n\n duration: string;\n\n user_id: string;\n\n user_session_id: string;\n\n publisher?: ParticipantSeriesPublisherStats;\n\n subscriber?: ParticipantSeriesSubscriberStats;\n\n timeframe?: ParticipantSeriesTimeframe;\n\n user?: ParticipantSeriesUserStats;\n}\n\nexport interface GetCallTypeResponse {\n created_at: Date;\n\n duration: string;\n\n name: string;\n\n updated_at: Date;\n\n grants: Record<string, string[]>;\n\n notification_settings: NotificationSettings;\n\n settings: CallSettingsResponse;\n\n external_storage?: string;\n}\n\nexport interface GetCampaignResponse {\n duration: string;\n\n campaign?: CampaignResponse;\n\n users?: PagerResponse;\n}\n\nexport interface GetChannelTypeResponse {\n automod: 'disabled' | 'simple' | 'AI';\n\n automod_behavior: 'flag' | 'block' | 'shadow_block';\n\n connect_events: boolean;\n\n count_messages: boolean;\n\n created_at: Date;\n\n custom_events: boolean;\n\n delivery_events: boolean;\n\n duration: string;\n\n mark_messages_pending: boolean;\n\n max_message_length: number;\n\n mutes: boolean;\n\n name: string;\n\n polls: boolean;\n\n push_notifications: boolean;\n\n quotes: boolean;\n\n reactions: boolean;\n\n read_events: boolean;\n\n reminders: boolean;\n\n replies: boolean;\n\n search: boolean;\n\n shared_locations: boolean;\n\n skip_last_msg_update_for_system_msgs: boolean;\n\n typing_events: boolean;\n\n updated_at: Date;\n\n uploads: boolean;\n\n url_enrichment: boolean;\n\n user_message_reminders: boolean;\n\n commands: Command[];\n\n permissions: PolicyRequest[];\n\n grants: Record<string, string[]>;\n\n blocklist?: string;\n\n blocklist_behavior?: 'flag' | 'block' | 'shadow_block';\n\n partition_size?: number;\n\n partition_ttl?: string;\n\n allowed_flag_reasons?: string[];\n\n blocklists?: BlockListOptions[];\n\n automod_thresholds?: Thresholds;\n}\n\nexport interface GetCommandResponse {\n args: string;\n\n description: string;\n\n duration: string;\n\n name: string;\n\n set: string;\n\n created_at?: Date;\n\n updated_at?: Date;\n}\n\nexport interface GetCommentRepliesResponse {\n duration: string;\n\n comments: ThreadedCommentResponse[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface GetCommentResponse {\n duration: string;\n\n comment: CommentResponse;\n}\n\nexport interface GetCommentsResponse {\n duration: string;\n\n comments: ThreadedCommentResponse[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface GetConfigResponse {\n duration: string;\n\n config?: ConfigResponse;\n}\n\nexport interface GetCustomPermissionResponse {\n duration: string;\n\n permission: Permission;\n}\n\nexport interface GetDraftResponse {\n duration: string;\n\n draft: DraftResponse;\n}\n\nexport interface GetEdgesResponse {\n duration: string;\n\n edges: EdgeResponse[];\n}\n\nexport interface GetFeedGroupResponse {\n duration: string;\n\n feed_group: FeedGroupResponse;\n}\n\nexport interface GetFeedViewResponse {\n duration: string;\n\n feed_view: FeedViewResponse;\n}\n\nexport interface GetFeedVisibilityResponse {\n duration: string;\n\n feed_visibility: FeedVisibilityResponse;\n}\n\nexport interface GetFeedsRateLimitsResponse {\n duration: string;\n\n android?: Record<string, LimitInfo>;\n\n ios?: Record<string, LimitInfo>;\n\n server_side?: Record<string, LimitInfo>;\n\n web?: Record<string, LimitInfo>;\n}\n\nexport interface GetFollowSuggestionsResponse {\n duration: string;\n\n suggestions: FeedSuggestionResponse[];\n\n algorithm_used?: string;\n}\n\nexport interface GetImportResponse {\n duration: string;\n\n import_task?: ImportTask;\n}\n\nexport interface GetManyMessagesResponse {\n duration: string;\n\n messages: MessageResponse[];\n}\n\nexport interface GetMessageResponse {\n duration: string;\n\n message: MessageWithChannelResponse;\n\n pending_message_metadata?: Record<string, string>;\n}\n\nexport interface GetModerationRuleResponse {\n duration: string;\n\n rule?: ModerationRuleV2Response;\n}\n\nexport interface GetOGResponse {\n duration: string;\n\n custom: Record<string, any>;\n\n asset_url?: string;\n\n author_icon?: string;\n\n author_link?: string;\n\n author_name?: string;\n\n color?: string;\n\n fallback?: string;\n\n footer?: string;\n\n footer_icon?: string;\n\n image_url?: string;\n\n og_scrape_url?: string;\n\n original_height?: number;\n\n original_width?: number;\n\n pretext?: string;\n\n text?: string;\n\n thumb_url?: string;\n\n title?: string;\n\n title_link?: string;\n\n type?: string;\n\n actions?: Action[];\n\n fields?: Field[];\n\n giphy?: Images;\n}\n\nexport interface GetOrCreateCallRequest {\n members_limit?: number;\n\n notify?: boolean;\n\n ring?: boolean;\n\n video?: boolean;\n\n data?: CallRequest;\n}\n\nexport interface GetOrCreateCallResponse {\n created: boolean;\n\n duration: string;\n\n members: MemberResponse[];\n\n own_capabilities: OwnCapability[];\n\n call: CallResponse;\n}\n\nexport interface GetOrCreateFeedGroupRequest {\n default_visibility?:\n | 'public'\n | 'visible'\n | 'followers'\n | 'members'\n | 'private';\n\n activity_processors?: ActivityProcessorConfig[];\n\n activity_selectors?: ActivitySelectorConfig[];\n\n aggregation?: AggregationConfig;\n\n custom?: Record<string, any>;\n\n notification?: NotificationConfig;\n\n push_notification?: PushNotificationConfig;\n\n ranking?: RankingConfig;\n\n stories?: StoriesConfig;\n}\n\nexport interface GetOrCreateFeedGroupResponse {\n duration: string;\n\n was_created: boolean;\n\n feed_group: FeedGroupResponse;\n}\n\nexport interface GetOrCreateFeedRequest {\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n user_id?: string;\n\n view?: string;\n\n watch?: boolean;\n\n data?: FeedInput;\n\n external_ranking?: Record<string, any>;\n\n filter?: Record<string, any>;\n\n followers_pagination?: PagerRequest;\n\n following_pagination?: PagerRequest;\n\n interest_weights?: Record<string, number>;\n\n member_pagination?: PagerRequest;\n\n user?: UserRequest;\n}\n\nexport interface GetOrCreateFeedResponse {\n created: boolean;\n\n duration: string;\n\n activities: ActivityResponse[];\n\n aggregated_activities: AggregatedActivityResponse[];\n\n followers: FollowResponse[];\n\n following: FollowResponse[];\n\n members: FeedMemberResponse[];\n\n pinned_activities: ActivityPinResponse[];\n\n feed: FeedResponse;\n\n next?: string;\n\n prev?: string;\n\n followers_pagination?: PagerResponse;\n\n following_pagination?: PagerResponse;\n\n member_pagination?: PagerResponse;\n\n notification_status?: NotificationStatusResponse;\n}\n\nexport interface GetOrCreateFeedViewRequest {\n activity_selectors?: ActivitySelectorConfig[];\n\n aggregation?: AggregationConfig;\n\n ranking?: RankingConfig;\n}\n\nexport interface GetOrCreateFeedViewResponse {\n duration: string;\n\n was_created: boolean;\n\n feed_view: FeedViewResponse;\n}\n\nexport interface GetPushTemplatesResponse {\n duration: string;\n\n templates: PushTemplate[];\n}\n\nexport interface GetRateLimitsResponse {\n duration: string;\n\n android?: Record<string, LimitInfo>;\n\n ios?: Record<string, LimitInfo>;\n\n server_side?: Record<string, LimitInfo>;\n\n web?: Record<string, LimitInfo>;\n}\n\nexport interface GetReactionsResponse {\n duration: string;\n\n reactions: Reaction[];\n}\n\nexport interface GetRepliesResponse {\n duration: string;\n\n messages: MessageResponse[];\n}\n\nexport interface GetReviewQueueItemResponse {\n duration: string;\n\n item?: ReviewQueueItemResponse;\n}\n\nexport interface GetSegmentResponse {\n duration: string;\n\n segment?: SegmentResponse;\n}\n\nexport interface GetTaskResponse {\n created_at: Date;\n\n duration: string;\n\n status: string;\n\n task_id: string;\n\n updated_at: Date;\n\n error?: ErrorResult;\n\n result?: Record<string, any>;\n}\n\nexport interface GetThreadResponse {\n duration: string;\n\n thread: ThreadStateResponse;\n}\n\nexport interface GoLiveRequest {\n recording_storage_name?: string;\n\n start_closed_caption?: boolean;\n\n start_hls?: boolean;\n\n start_recording?: boolean;\n\n start_transcription?: boolean;\n\n transcription_storage_name?: string;\n}\n\nexport interface GoLiveResponse {\n duration: string;\n\n call: CallResponse;\n}\n\nexport interface GoogleVisionConfig {\n enabled?: boolean;\n}\n\nexport interface GroupedStatsResponse {\n name: string;\n\n unique: number;\n}\n\nexport interface HLSSettings {\n auto_on: boolean;\n\n enabled: boolean;\n\n quality_tracks: string[];\n\n layout?: LayoutSettings;\n}\n\nexport interface HLSSettingsRequest {\n quality_tracks: string[];\n\n auto_on?: boolean;\n\n enabled?: boolean;\n\n layout?: LayoutSettingsRequest;\n}\n\nexport interface HLSSettingsResponse {\n auto_on: boolean;\n\n enabled: boolean;\n\n quality_tracks: string[];\n\n layout: LayoutSettingsResponse;\n}\n\nexport interface HarmConfig {\n cooldown_period?: number;\n\n severity?: number;\n\n threshold?: number;\n\n action_sequences?: ActionSequence[];\n\n harm_types?: string[];\n}\n\nexport interface HideChannelRequest {\n clear_history?: boolean;\n\n user_id?: string;\n\n user?: UserRequest;\n}\n\nexport interface HideChannelResponse {\n duration: string;\n}\n\nexport interface HuaweiConfig {\n disabled?: boolean;\n\n id?: string;\n\n secret?: string;\n}\n\nexport interface HuaweiConfigFields {\n enabled: boolean;\n\n id?: string;\n\n secret?: string;\n}\n\nexport interface ImageContentParameters {\n harm_labels?: string[];\n}\n\nexport interface ImageData {\n frames: string;\n\n height: string;\n\n size: string;\n\n url: string;\n\n width: string;\n}\n\nexport interface ImageRuleParameters {\n threshold?: number;\n\n time_window?: string;\n\n harm_labels?: string[];\n}\n\nexport interface ImageSize {\n crop?: 'top' | 'bottom' | 'left' | 'right' | 'center';\n\n height?: number;\n\n resize?: 'clip' | 'crop' | 'scale' | 'fill';\n\n width?: number;\n}\n\nexport interface ImageUploadRequest {\n file?: string;\n\n upload_sizes?: ImageSize[];\n\n user?: OnlyUserID;\n}\n\nexport interface ImageUploadResponse {\n duration: string;\n\n file?: string;\n\n thumb_url?: string;\n\n upload_sizes?: ImageSize[];\n}\n\nexport interface Images {\n fixed_height: ImageData;\n\n fixed_height_downsampled: ImageData;\n\n fixed_height_still: ImageData;\n\n fixed_width: ImageData;\n\n fixed_width_downsampled: ImageData;\n\n fixed_width_still: ImageData;\n\n original: ImageData;\n}\n\nexport interface ImportTask {\n created_at: Date;\n\n id: string;\n\n mode: string;\n\n path: string;\n\n state: string;\n\n updated_at: Date;\n\n history: ImportTaskHistory[];\n\n size?: number;\n}\n\nexport interface ImportTaskHistory {\n created_at: Date;\n\n next_state: string;\n\n prev_state: string;\n}\n\nexport interface IngressAudioEncodingOptions {\n bitrate: number;\n\n channels: '1' | '2';\n\n enable_dtx: boolean;\n}\n\nexport interface IngressAudioEncodingOptionsRequest {\n bitrate: number;\n\n channels: '1' | '2';\n\n enable_dtx?: boolean;\n}\n\nexport interface IngressAudioEncodingResponse {\n bitrate: number;\n\n channels: number;\n\n enable_dtx: boolean;\n}\n\nexport interface IngressSettings {\n enabled: boolean;\n\n audio_encoding_options?: IngressAudioEncodingOptions;\n\n video_encoding_options?: Record<string, IngressVideoEncodingOptions>;\n}\n\nexport interface IngressSettingsRequest {\n enabled?: boolean;\n\n audio_encoding_options?: IngressAudioEncodingOptionsRequest;\n\n video_encoding_options?: Record<string, IngressVideoEncodingOptionsRequest>;\n}\n\nexport interface IngressSettingsResponse {\n enabled: boolean;\n\n audio_encoding_options?: IngressAudioEncodingResponse;\n\n video_encoding_options?: Record<string, IngressVideoEncodingResponse>;\n}\n\nexport interface IngressSource {\n fps: number;\n\n height: number;\n\n width: number;\n}\n\nexport interface IngressSourceRequest {\n fps: '30' | '60';\n\n height: number;\n\n width: number;\n}\n\nexport interface IngressSourceResponse {\n fps: number;\n\n height: number;\n\n width: number;\n}\n\nexport interface IngressVideoEncodingOptions {\n layers: IngressVideoLayer[];\n\n source?: IngressSource;\n}\n\nexport interface IngressVideoEncodingOptionsRequest {\n layers: IngressVideoLayerRequest[];\n\n source: IngressSourceRequest;\n}\n\nexport interface IngressVideoEncodingResponse {\n layers: IngressVideoLayerResponse[];\n\n source: IngressSourceResponse;\n}\n\nexport interface IngressVideoLayer {\n bitrate: number;\n\n codec: 'h264' | 'vp8';\n\n frame_rate: number;\n\n max_dimension: number;\n\n min_dimension: number;\n}\n\nexport interface IngressVideoLayerRequest {\n bitrate: number;\n\n codec: 'h264' | 'vp8';\n\n frame_rate_limit: number;\n\n max_dimension: number;\n\n min_dimension: number;\n}\n\nexport interface IngressVideoLayerResponse {\n bitrate: number;\n\n codec: string;\n\n frame_rate_limit: number;\n\n max_dimension: number;\n\n min_dimension: number;\n}\n\nexport interface JoinCallAPIMetrics {\n failures: number;\n\n total: number;\n\n latency?: ActiveCallsLatencyStats;\n}\n\nexport interface KickUserRequest {\n user_id: string;\n\n block?: boolean;\n\n kicked_by_id?: string;\n\n kicked_by?: UserRequest;\n}\n\nexport interface KickUserResponse {\n duration: string;\n}\n\nexport interface KickedUserEvent {\n call_cid: string;\n\n created_at: Date;\n\n user: UserResponse;\n\n type: string;\n\n kicked_by_user?: UserResponse;\n}\n\nexport interface LLMConfig {\n app_context?: string;\n\n async?: boolean;\n\n enabled?: boolean;\n\n rules?: LLMRule[];\n\n severity_descriptions?: Record<string, string>;\n}\n\nexport interface LLMRule {\n description: string;\n\n label: string;\n\n action?:\n | 'flag'\n | 'shadow'\n | 'remove'\n | 'bounce'\n | 'bounce_flag'\n | 'bounce_remove'\n | 'keep';\n\n severity_rules?: BodyguardSeverityRule[];\n}\n\nexport interface Label {\n name: string;\n\n harm_labels?: string[];\n\n phrase_list_ids?: number[];\n}\n\nexport interface LabelThresholds {\n block?: number;\n\n flag?: number;\n}\n\nexport interface LayoutSettings {\n external_app_url: string;\n\n external_css_url: string;\n\n name: 'spotlight' | 'grid' | 'single-participant' | 'mobile' | 'custom';\n\n detect_orientation?: boolean;\n\n options?: Record<string, any>;\n}\n\nexport interface LayoutSettingsRequest {\n name: 'spotlight' | 'grid' | 'single-participant' | 'mobile' | 'custom';\n\n detect_orientation?: boolean;\n\n external_app_url?: string;\n\n external_css_url?: string;\n\n options?: Record<string, any>;\n}\n\nexport interface LayoutSettingsResponse {\n external_app_url: string;\n\n external_css_url: string;\n\n name: 'spotlight' | 'grid' | 'single-participant' | 'mobile' | 'custom';\n\n detect_orientation?: boolean;\n\n options?: Record<string, any>;\n}\n\nexport interface LimitInfo {\n limit: number;\n\n remaining: number;\n\n reset: number;\n}\n\nexport interface LimitsSettings {\n max_participants_exclude_roles: string[];\n\n max_duration_seconds?: number;\n\n max_participants?: number;\n\n max_participants_exclude_owner?: boolean;\n}\n\nexport interface LimitsSettingsRequest {\n max_duration_seconds?: number;\n\n max_participants?: number;\n\n max_participants_exclude_owner?: boolean;\n\n max_participants_exclude_roles?: string[];\n}\n\nexport interface LimitsSettingsResponse {\n max_participants_exclude_roles: string[];\n\n max_duration_seconds?: number;\n\n max_participants?: number;\n\n max_participants_exclude_owner?: boolean;\n}\n\nexport interface ListBlockListResponse {\n duration: string;\n\n blocklists: BlockListResponse[];\n}\n\nexport interface ListCallTypeResponse {\n duration: string;\n\n call_types: Record<string, CallTypeResponse>;\n}\n\nexport interface ListChannelTypesResponse {\n duration: string;\n\n channel_types: Record<string, ChannelTypeConfig>;\n}\n\nexport interface ListCommandsResponse {\n duration: string;\n\n commands: Command[];\n}\n\nexport interface ListDevicesResponse {\n duration: string;\n\n devices: DeviceResponse[];\n}\n\nexport interface ListExternalStorageResponse {\n duration: string;\n\n external_storages: Record<string, ExternalStorageResponse>;\n}\n\nexport interface ListFeedGroupsResponse {\n duration: string;\n\n groups: Record<string, FeedGroupResponse>;\n}\n\nexport interface ListFeedViewsResponse {\n duration: string;\n\n views: Record<string, FeedViewResponse>;\n}\n\nexport interface ListFeedVisibilitiesResponse {\n duration: string;\n\n feed_visibilities: Record<string, FeedVisibilityResponse>;\n}\n\nexport interface ListImportsResponse {\n duration: string;\n\n import_tasks: ImportTask[];\n}\n\nexport interface ListPermissionsResponse {\n duration: string;\n\n permissions: Permission[];\n}\n\nexport interface ListPushProvidersResponse {\n duration: string;\n\n push_providers: PushProviderResponse[];\n}\n\nexport interface ListRecordingsResponse {\n duration: string;\n\n recordings: CallRecording[];\n}\n\nexport interface ListRolesResponse {\n duration: string;\n\n roles: Role[];\n}\n\nexport interface ListTranscriptionsResponse {\n duration: string;\n\n transcriptions: CallTranscription[];\n}\n\nexport interface MarkActivityRequest {\n mark_all_read?: boolean;\n\n mark_all_seen?: boolean;\n\n user_id?: string;\n\n mark_read?: string[];\n\n mark_seen?: string[];\n\n mark_watched?: string[];\n\n user?: UserRequest;\n}\n\nexport interface MarkChannelsReadRequest {\n user_id?: string;\n\n read_by_channel?: Record<string, string>;\n\n user?: UserRequest;\n}\n\nexport interface MarkReadRequest {\n message_id?: string;\n\n thread_id?: string;\n\n user_id?: string;\n\n user?: UserRequest;\n}\n\nexport interface MarkReadResponse {\n duration: string;\n\n event?: MessageReadEvent;\n}\n\nexport interface MarkReviewedRequest {\n content_to_mark_as_reviewed_limit?: number;\n\n disable_marking_content_as_reviewed?: boolean;\n}\n\nexport interface MarkUnreadRequest {\n message_id?: string;\n\n thread_id?: string;\n\n user_id?: string;\n\n user?: UserRequest;\n}\n\nexport interface MemberAddedEvent {\n channel_id: string;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n type: string;\n\n team?: string;\n\n member?: ChannelMember;\n\n user?: User;\n}\n\nexport interface MemberRemovedEvent {\n channel_id: string;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n type: string;\n\n member?: ChannelMember;\n\n user?: User;\n}\n\nexport interface MemberRequest {\n user_id: string;\n\n role?: string;\n\n custom?: Record<string, any>;\n}\n\nexport interface MemberResponse {\n created_at: Date;\n\n updated_at: Date;\n\n user_id: string;\n\n custom: Record<string, any>;\n\n user: UserResponse;\n\n deleted_at?: Date;\n\n role?: string;\n}\n\nexport interface MemberUpdatedEvent {\n channel_id: string;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n type: string;\n\n team?: string;\n\n member?: ChannelMember;\n\n user?: User;\n}\n\nexport interface MembersResponse {\n duration: string;\n\n members: ChannelMemberResponse[];\n}\n\nexport interface MembershipLevelResponse {\n created_at: Date;\n\n id: string;\n\n name: string;\n\n priority: number;\n\n updated_at: Date;\n\n tags: string[];\n\n description?: string;\n\n custom?: Record<string, any>;\n}\n\nexport interface Message {\n cid: string;\n\n created_at: Date;\n\n deleted_reply_count: number;\n\n html: string;\n\n id: string;\n\n pinned: boolean;\n\n reply_count: number;\n\n shadowed: boolean;\n\n silent: boolean;\n\n text: string;\n\n type: string;\n\n updated_at: Date;\n\n attachments: Attachment[];\n\n latest_reactions: Reaction[];\n\n mentioned_users: User[];\n\n own_reactions: Reaction[];\n\n restricted_visibility: string[];\n\n custom: Record<string, any>;\n\n reaction_counts: Record<string, number>;\n\n reaction_groups: Record<string, ReactionGroupResponse>;\n\n reaction_scores: Record<string, number>;\n\n before_message_send_failed?: boolean;\n\n command?: string;\n\n deleted_at?: Date;\n\n deleted_for_me?: boolean;\n\n message_text_updated_at?: Date;\n\n mml?: string;\n\n parent_id?: string;\n\n pin_expires?: Date;\n\n pinned_at?: Date;\n\n poll_id?: string;\n\n quoted_message_id?: string;\n\n show_in_channel?: boolean;\n\n thread_participants?: User[];\n\n i18n?: Record<string, string>;\n\n image_labels?: Record<string, string[]>;\n\n member?: ChannelMember;\n\n moderation?: ModerationV2Response;\n\n pinned_by?: User;\n\n poll?: Poll;\n\n quoted_message?: Message;\n\n reminder?: MessageReminder;\n\n shared_location?: SharedLocation;\n\n user?: User;\n}\n\nexport interface MessageActionRequest {\n form_data: Record<string, string>;\n\n user_id?: string;\n\n user?: UserRequest;\n}\n\nexport interface MessageChangeSet {\n attachments: boolean;\n\n custom: boolean;\n\n html: boolean;\n\n mentioned_user_ids: boolean;\n\n mml: boolean;\n\n pin: boolean;\n\n quoted_message_id: boolean;\n\n silent: boolean;\n\n text: boolean;\n}\n\nexport interface MessageDeletedEvent {\n channel_id: string;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n hard_delete: boolean;\n\n type: string;\n\n deleted_for_me?: boolean;\n\n team?: string;\n\n thread_participants?: User[];\n\n message?: Message;\n\n user?: User;\n}\n\nexport interface MessageFlagResponse {\n created_at: Date;\n\n created_by_automod: boolean;\n\n updated_at: Date;\n\n approved_at?: Date;\n\n reason?: string;\n\n rejected_at?: Date;\n\n reviewed_at?: Date;\n\n custom?: Record<string, any>;\n\n details?: FlagDetails;\n\n message?: Message;\n\n moderation_feedback?: FlagFeedback;\n\n moderation_result?: MessageModerationResult;\n\n reviewed_by?: UserResponse;\n\n user?: UserResponse;\n}\n\nexport interface MessageFlaggedEvent {\n cid: string;\n\n created_at: Date;\n\n type: string;\n\n thread_participants?: User[];\n\n flag?: Flag;\n\n message?: Message;\n\n user?: User;\n}\n\nexport interface MessageHistoryEntryResponse {\n is_deleted: boolean;\n\n message_id: string;\n\n message_updated_at: Date;\n\n message_updated_by_id: string;\n\n text: string;\n\n attachments: Attachment[];\n\n custom: Record<string, any>;\n}\n\nexport interface MessageModerationResult {\n action: string;\n\n created_at: Date;\n\n message_id: string;\n\n updated_at: Date;\n\n user_bad_karma: boolean;\n\n user_karma: number;\n\n blocked_word?: string;\n\n blocklist_name?: string;\n\n moderated_by?: string;\n\n ai_moderation_response?: ModerationResponse;\n\n moderation_thresholds?: Thresholds;\n}\n\nexport interface MessageNewEvent {\n channel_id: string;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n watcher_count: number;\n\n type: string;\n\n team?: string;\n\n thread_participants?: User[];\n\n message?: Message;\n\n user?: User;\n}\n\nexport interface MessageOptions {\n include_thread_participants?: boolean;\n}\n\nexport interface MessagePaginationParams {\n created_at_after?: Date;\n\n created_at_after_or_equal?: Date;\n\n created_at_around?: Date;\n\n created_at_before?: Date;\n\n created_at_before_or_equal?: Date;\n\n id_around?: string;\n\n id_gt?: string;\n\n id_gte?: string;\n\n id_lt?: string;\n\n id_lte?: string;\n\n limit?: number;\n}\n\nexport interface MessageReadEvent {\n channel_id: string;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n type: string;\n\n channel_last_message_at?: Date;\n\n last_read_message_id?: string;\n\n team?: string;\n\n channel?: ChannelResponse;\n\n thread?: ThreadResponse;\n\n user?: UserResponseCommonFields;\n}\n\nexport interface MessageReminder {\n channel_cid: string;\n\n created_at: Date;\n\n message_id: string;\n\n task_id: string;\n\n updated_at: Date;\n\n user_id: string;\n\n remind_at?: Date;\n\n channel?: Channel;\n\n message?: Message;\n\n user?: User;\n}\n\nexport interface MessageRequest {\n html?: string;\n\n id?: string;\n\n mml?: string;\n\n parent_id?: string;\n\n pin_expires?: Date;\n\n pinned?: boolean;\n\n pinned_at?: Date;\n\n poll_id?: string;\n\n quoted_message_id?: string;\n\n show_in_channel?: boolean;\n\n silent?: boolean;\n\n text?: string;\n\n type?: \"''\" | 'regular' | 'system';\n\n user_id?: string;\n\n attachments?: Attachment[];\n\n mentioned_users?: string[];\n\n restricted_visibility?: string[];\n\n custom?: Record<string, any>;\n\n shared_location?: SharedLocation;\n\n user?: UserRequest;\n}\n\nexport interface MessageResponse {\n cid: string;\n\n created_at: Date;\n\n deleted_reply_count: number;\n\n html: string;\n\n id: string;\n\n pinned: boolean;\n\n reply_count: number;\n\n shadowed: boolean;\n\n silent: boolean;\n\n text: string;\n\n type: 'regular' | 'ephemeral' | 'error' | 'reply' | 'system' | 'deleted';\n\n updated_at: Date;\n\n attachments: Attachment[];\n\n latest_reactions: ReactionResponse[];\n\n mentioned_users: UserResponse[];\n\n own_reactions: ReactionResponse[];\n\n restricted_visibility: string[];\n\n custom: Record<string, any>;\n\n reaction_counts: Record<string, number>;\n\n reaction_scores: Record<string, number>;\n\n user: UserResponse;\n\n command?: string;\n\n deleted_at?: Date;\n\n deleted_for_me?: boolean;\n\n message_text_updated_at?: Date;\n\n mml?: string;\n\n parent_id?: string;\n\n pin_expires?: Date;\n\n pinned_at?: Date;\n\n poll_id?: string;\n\n quoted_message_id?: string;\n\n show_in_channel?: boolean;\n\n thread_participants?: UserResponse[];\n\n draft?: DraftResponse;\n\n i18n?: Record<string, string>;\n\n image_labels?: Record<string, string[]>;\n\n member?: ChannelMemberResponse;\n\n moderation?: ModerationV2Response;\n\n pinned_by?: UserResponse;\n\n poll?: PollResponseData;\n\n quoted_message?: MessageResponse;\n\n reaction_groups?: Record<string, ReactionGroupResponse>;\n\n reminder?: ReminderResponseData;\n\n shared_location?: SharedLocationResponseData;\n}\n\nexport interface MessageStatsResponse {\n count_over_time?: CountByMinuteResponse[];\n}\n\nexport interface MessageUnblockedEvent {\n cid: string;\n\n created_at: Date;\n\n type: string;\n\n thread_participants?: User[];\n\n message?: Message;\n\n user?: User;\n}\n\nexport interface MessageUndeletedEvent {\n channel_id: string;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n type: string;\n\n team?: string;\n\n thread_participants?: User[];\n\n message?: Message;\n\n user?: User;\n}\n\nexport interface MessageUpdate {\n old_text?: string;\n\n change_set?: MessageChangeSet;\n}\n\nexport interface MessageUpdatedEvent {\n channel_id: string;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n type: string;\n\n team?: string;\n\n thread_participants?: User[];\n\n message?: Message;\n\n user?: User;\n}\n\nexport interface MessageWithChannelResponse {\n cid: string;\n\n created_at: Date;\n\n deleted_reply_count: number;\n\n html: string;\n\n id: string;\n\n pinned: boolean;\n\n reply_count: number;\n\n shadowed: boolean;\n\n silent: boolean;\n\n text: string;\n\n type: 'regular' | 'ephemeral' | 'error' | 'reply' | 'system' | 'deleted';\n\n updated_at: Date;\n\n attachments: Attachment[];\n\n latest_reactions: ReactionResponse[];\n\n mentioned_users: UserResponse[];\n\n own_reactions: ReactionResponse[];\n\n restricted_visibility: string[];\n\n channel: ChannelResponse;\n\n custom: Record<string, any>;\n\n reaction_counts: Record<string, number>;\n\n reaction_scores: Record<string, number>;\n\n user: UserResponse;\n\n command?: string;\n\n deleted_at?: Date;\n\n deleted_for_me?: boolean;\n\n message_text_updated_at?: Date;\n\n mml?: string;\n\n parent_id?: string;\n\n pin_expires?: Date;\n\n pinned_at?: Date;\n\n poll_id?: string;\n\n quoted_message_id?: string;\n\n show_in_channel?: boolean;\n\n thread_participants?: UserResponse[];\n\n draft?: DraftResponse;\n\n i18n?: Record<string, string>;\n\n image_labels?: Record<string, string[]>;\n\n member?: ChannelMemberResponse;\n\n moderation?: ModerationV2Response;\n\n pinned_by?: UserResponse;\n\n poll?: PollResponseData;\n\n quoted_message?: MessageResponse;\n\n reaction_groups?: Record<string, ReactionGroupResponse>;\n\n reminder?: ReminderResponseData;\n\n shared_location?: SharedLocationResponseData;\n}\n\nexport interface MetricThreshold {\n level: string;\n\n operator: string;\n\n value: number;\n\n value_unit?: string;\n\n window_seconds?: number;\n}\n\nexport interface ModerationActionConfig {\n action: string;\n\n description: string;\n\n entity_type: string;\n\n icon: string;\n\n order: number;\n\n custom: Record<string, any>;\n}\n\nexport interface ModerationCheckCompletedEvent {\n created_at: Date;\n\n entity_id: string;\n\n entity_type: string;\n\n recommended_action: string;\n\n review_queue_item_id: string;\n\n custom: Record<string, any>;\n\n type: string;\n\n received_at?: Date;\n}\n\nexport interface ModerationConfig {\n async?: boolean;\n\n created_at?: Date;\n\n key?: string;\n\n team?: string;\n\n updated_at?: Date;\n\n supported_video_call_harm_types?: string[];\n\n ai_image_config?: AIImageConfig;\n\n ai_image_lite_config?: BodyguardImageAnalysisConfig;\n\n ai_text_config?: AITextConfig;\n\n ai_video_config?: AIVideoConfig;\n\n automod_platform_circumvention_config?: AutomodPlatformCircumventionConfig;\n\n automod_semantic_filters_config?: AutomodSemanticFiltersConfig;\n\n automod_toxicity_config?: AutomodToxicityConfig;\n\n block_list_config?: BlockListConfig;\n\n google_vision_config?: GoogleVisionConfig;\n\n llm_config?: LLMConfig;\n\n velocity_filter_config?: VelocityFilterConfig;\n\n video_call_rule_config?: VideoCallRuleConfig;\n}\n\nexport interface ModerationCustomActionEvent {\n action_id: string;\n\n created_at: Date;\n\n custom: Record<string, any>;\n\n review_queue_item: ReviewQueueItemResponse;\n\n type: string;\n\n received_at?: Date;\n\n action_options?: Record<string, any>;\n\n message?: MessageResponse;\n}\n\nexport interface ModerationDashboardPreferences {\n disable_flagging_reviewed_entity?: boolean;\n\n flag_user_on_flagged_content?: boolean;\n\n media_queue_blur_enabled?: boolean;\n\n allowed_moderation_action_reasons?: string[];\n\n overview_dashboard?: OverviewDashboardConfig;\n}\n\nexport interface ModerationFlagResponse {\n created_at: Date;\n\n entity_id: string;\n\n entity_type: string;\n\n type: string;\n\n updated_at: Date;\n\n user_id: string;\n\n result: Array<Record<string, any>>;\n\n entity_creator_id?: string;\n\n reason?: string;\n\n review_queue_item_id?: string;\n\n labels?: string[];\n\n custom?: Record<string, any>;\n\n moderation_payload?: ModerationPayload;\n\n review_queue_item?: ReviewQueueItemResponse;\n\n user?: UserResponse;\n}\n\nexport interface ModerationFlaggedEvent {\n created_at: Date;\n\n type: string;\n\n item?: string;\n\n object_id?: string;\n\n user?: User;\n}\n\nexport interface ModerationMarkReviewedEvent {\n created_at: Date;\n\n custom: Record<string, any>;\n\n item: ReviewQueueItemResponse;\n\n type: string;\n\n received_at?: Date;\n\n message?: MessageResponse;\n}\n\nexport interface ModerationPayload {\n images?: string[];\n\n texts?: string[];\n\n videos?: string[];\n\n custom?: Record<string, any>;\n}\n\nexport interface ModerationResponse {\n action: string;\n\n explicit: number;\n\n spam: number;\n\n toxic: number;\n}\n\nexport interface ModerationRuleV2Response {\n created_at: Date;\n\n description: string;\n\n enabled: boolean;\n\n id: string;\n\n name: string;\n\n rule_type: string;\n\n team: string;\n\n updated_at: Date;\n\n config_keys: string[];\n\n action: RuleBuilderAction;\n\n cooldown_period?: string;\n\n logic?: string;\n\n conditions?: RuleBuilderCondition[];\n\n groups?: RuleBuilderConditionGroup[];\n}\n\nexport interface ModerationV2Response {\n action: string;\n\n original_text: string;\n\n blocklist_matched?: string;\n\n platform_circumvented?: boolean;\n\n semantic_filter_matched?: string;\n\n image_harms?: string[];\n\n text_harms?: string[];\n}\n\nexport interface MuteChannelRequest {\n expiration?: number;\n\n user_id?: string;\n\n channel_cids?: string[];\n\n user?: UserRequest;\n}\n\nexport interface MuteChannelResponse {\n duration: string;\n\n channel_mutes?: ChannelMute[];\n\n channel_mute?: ChannelMute;\n\n own_user?: OwnUser;\n}\n\nexport interface MuteRequest {\n target_ids: string[];\n\n timeout?: number;\n\n user_id?: string;\n\n user?: UserRequest;\n}\n\nexport interface MuteResponse {\n duration: string;\n\n mutes?: UserMute[];\n\n non_existing_users?: string[];\n\n own_user?: OwnUser;\n}\n\nexport interface MuteUsersRequest {\n audio?: boolean;\n\n mute_all_users?: boolean;\n\n muted_by_id?: string;\n\n screenshare?: boolean;\n\n screenshare_audio?: boolean;\n\n video?: boolean;\n\n user_ids?: string[];\n\n muted_by?: UserRequest;\n}\n\nexport interface MuteUsersResponse {\n duration: string;\n}\n\nexport interface NetworkMetricsReportResponse {\n average_connection_time?: number;\n\n average_jitter?: number;\n\n average_latency?: number;\n\n average_time_to_reconnect?: number;\n}\n\nexport interface NoiseCancellationSettings {\n mode: 'available' | 'disabled' | 'auto-on';\n}\n\nexport interface NotificationConfig {\n track_read?: boolean;\n\n track_seen?: boolean;\n}\n\nexport interface NotificationContext {\n target?: NotificationTarget;\n\n trigger?: NotificationTrigger;\n}\n\nexport interface NotificationFeedUpdatedEvent {\n created_at: Date;\n\n fid: string;\n\n custom: Record<string, any>;\n\n type: string;\n\n feed_visibility?: string;\n\n received_at?: Date;\n\n aggregated_activities?: AggregatedActivityResponse[];\n\n notification_status?: NotificationStatusResponse;\n\n user?: UserResponseCommonFields;\n}\n\nexport interface NotificationMarkUnreadEvent {\n channel_id: string;\n\n channel_member_count: number;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n first_unread_message_id: string;\n\n last_read_at: Date;\n\n total_unread_count: number;\n\n unread_channels: number;\n\n unread_count: number;\n\n unread_messages: number;\n\n unread_threads: number;\n\n type: string;\n\n last_read_message_id?: string;\n\n team?: string;\n\n thread_id?: string;\n\n channel?: ChannelResponse;\n\n user?: User;\n}\n\nexport interface NotificationSettings {\n enabled: boolean;\n\n call_live_started: EventNotificationSettings;\n\n call_missed: EventNotificationSettings;\n\n call_notification: EventNotificationSettings;\n\n call_ring: EventNotificationSettings;\n\n session_started: EventNotificationSettings;\n}\n\nexport interface NotificationStatusResponse {\n unread: number;\n\n unseen: number;\n\n last_read_at?: Date;\n\n last_seen_at?: Date;\n\n read_activities?: string[];\n\n seen_activities?: string[];\n}\n\nexport interface NotificationTarget {\n id: string;\n\n name?: string;\n\n text?: string;\n\n type?: string;\n\n user_id?: string;\n\n attachments?: Attachment[];\n}\n\nexport interface NotificationTrigger {\n text: string;\n\n type: string;\n}\n\nexport interface OCRRule {\n action:\n | 'flag'\n | 'shadow'\n | 'remove'\n | 'bounce'\n | 'bounce_flag'\n | 'bounce_remove';\n\n label: string;\n}\n\nexport interface OnlyUserID {\n id: string;\n}\n\nexport interface OverviewDashboardConfig {\n default_date_range_days?: number;\n\n visible_charts?: string[];\n}\n\nexport interface OwnCapabilitiesBatchRequest {\n feeds: string[];\n\n user_id?: string;\n\n user?: UserRequest;\n}\n\nexport interface OwnCapabilitiesBatchResponse {\n duration: string;\n\n capabilities: Record<string, FeedOwnCapability[]>;\n}\n\nexport const OwnCapability = {\n BLOCK_USERS: 'block-users',\n CHANGE_MAX_DURATION: 'change-max-duration',\n CREATE_CALL: 'create-call',\n CREATE_REACTION: 'create-reaction',\n ENABLE_NOISE_CANCELLATION: 'enable-noise-cancellation',\n END_CALL: 'end-call',\n JOIN_BACKSTAGE: 'join-backstage',\n JOIN_CALL: 'join-call',\n JOIN_ENDED_CALL: 'join-ended-call',\n KICK_USER: 'kick-user',\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_CLOSED_CAPTIONS_CALL: 'send-closed-captions-call',\n SEND_VIDEO: 'send-video',\n START_BROADCAST_CALL: 'start-broadcast-call',\n START_CLOSED_CAPTIONS_CALL: 'start-closed-captions-call',\n START_FRAME_RECORD_CALL: 'start-frame-record-call',\n START_RECORD_CALL: 'start-record-call',\n START_TRANSCRIPTION_CALL: 'start-transcription-call',\n STOP_BROADCAST_CALL: 'stop-broadcast-call',\n STOP_CLOSED_CAPTIONS_CALL: 'stop-closed-captions-call',\n STOP_FRAME_RECORD_CALL: 'stop-frame-record-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;\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport type OwnCapability = (typeof OwnCapability)[keyof typeof OwnCapability];\n\nexport interface OwnUser {\n banned: boolean;\n\n created_at: Date;\n\n id: string;\n\n language: string;\n\n online: boolean;\n\n role: string;\n\n total_unread_count: number;\n\n unread_channels: number;\n\n unread_count: number;\n\n unread_threads: number;\n\n updated_at: Date;\n\n channel_mutes: ChannelMute[];\n\n devices: Device[];\n\n mutes: UserMute[];\n\n custom: Record<string, any>;\n\n total_unread_count_by_team: Record<string, number>;\n\n avg_response_time?: number;\n\n deactivated_at?: Date;\n\n deleted_at?: Date;\n\n invisible?: boolean;\n\n last_active?: Date;\n\n last_engaged_at?: Date;\n\n blocked_user_ids?: string[];\n\n latest_hidden_channels?: string[];\n\n teams?: string[];\n\n privacy_settings?: PrivacySettings;\n\n push_preferences?: PushPreferences;\n\n teams_role?: Record<string, string>;\n}\n\nexport interface OwnUserResponse {\n banned: boolean;\n\n created_at: Date;\n\n id: string;\n\n invisible: boolean;\n\n language: string;\n\n online: boolean;\n\n role: string;\n\n total_unread_count: number;\n\n unread_channels: number;\n\n unread_count: number;\n\n unread_threads: number;\n\n updated_at: Date;\n\n channel_mutes: ChannelMute[];\n\n devices: DeviceResponse[];\n\n mutes: UserMuteResponse[];\n\n teams: string[];\n\n custom: Record<string, any>;\n\n avg_response_time?: number;\n\n deactivated_at?: Date;\n\n deleted_at?: Date;\n\n image?: string;\n\n last_active?: Date;\n\n name?: string;\n\n revoke_tokens_issued_before?: Date;\n\n blocked_user_ids?: string[];\n\n latest_hidden_channels?: string[];\n\n privacy_settings?: PrivacySettingsResponse;\n\n push_preferences?: PushPreferences;\n\n teams_role?: Record<string, string>;\n\n total_unread_count_by_team?: Record<string, number>;\n}\n\nexport interface PagerRequest {\n limit?: number;\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface PagerResponse {\n next?: string;\n\n prev?: string;\n}\n\nexport interface PaginationParams {\n limit?: number;\n\n offset?: number;\n}\n\nexport interface ParticipantCountByMinuteResponse {\n first: number;\n\n last: number;\n\n max: number;\n\n min: number;\n\n start_ts: Date;\n}\n\nexport interface ParticipantCountOverTimeResponse {\n by_minute?: ParticipantCountByMinuteResponse[];\n}\n\nexport interface ParticipantReportResponse {\n sum: number;\n\n unique: number;\n\n max_concurrent?: number;\n\n by_browser?: GroupedStatsResponse[];\n\n by_country?: GroupedStatsResponse[];\n\n by_device?: GroupedStatsResponse[];\n\n by_operating_system?: GroupedStatsResponse[];\n\n count_over_time?: ParticipantCountOverTimeResponse;\n\n publishers?: PublisherStatsResponse;\n\n subscribers?: SubscriberStatsResponse;\n}\n\nexport interface ParticipantSeriesPublisherStats {\n global?: Record<string, number[][]>;\n\n global_thresholds?: Record<string, MetricThreshold[]>;\n\n tracks?: Record<string, ParticipantSeriesTrackMetrics[]>;\n}\n\nexport interface ParticipantSeriesSubscriberStats {\n subscriptions?: ParticipantSeriesSubscriptionTrackMetrics[];\n\n global?: Record<string, number[][]>;\n\n global_thresholds?: Record<string, MetricThreshold[]>;\n}\n\nexport interface ParticipantSeriesSubscriptionTrackMetrics {\n publisher_user_id: string;\n\n publisher_name?: string;\n\n publisher_user_session_id?: string;\n\n tracks?: Record<string, ParticipantSeriesTrackMetrics[]>;\n}\n\nexport interface ParticipantSeriesTimeframe {\n max_points: number;\n\n since: Date;\n\n step_seconds: number;\n\n until: Date;\n}\n\nexport interface ParticipantSeriesTrackMetrics {\n track_id: string;\n\n codec?: string;\n\n label?: string;\n\n rid?: string;\n\n track_type?: string;\n\n metrics?: Record<string, number[][]>;\n\n thresholds?: Record<string, MetricThreshold[]>;\n}\n\nexport interface ParticipantSeriesUserStats {\n metrics?: Record<string, number[][]>;\n\n thresholds?: Record<string, MetricThreshold[]>;\n}\n\nexport interface PendingMessageEvent {\n created_at: Date;\n\n method: string;\n\n custom: Record<string, any>;\n\n type: string;\n\n received_at?: Date;\n\n channel?: Channel;\n\n message?: Message;\n\n metadata?: Record<string, string>;\n\n user?: User;\n}\n\nexport interface PendingMessageResponse {\n channel?: ChannelResponse;\n\n message?: MessageResponse;\n\n metadata?: Record<string, string>;\n\n user?: UserResponse;\n}\n\nexport interface PerSDKUsageReport {\n total: number;\n\n by_version: Record<string, number>;\n}\n\nexport interface Permission {\n action: string;\n\n custom: boolean;\n\n description: string;\n\n id: string;\n\n level: 'app' | 'channel';\n\n name: string;\n\n owner: boolean;\n\n same_team: boolean;\n\n tags: string[];\n\n condition?: Record<string, any>;\n}\n\nexport interface PermissionRequestEvent {\n call_cid: string;\n\n created_at: Date;\n\n permissions: string[];\n\n user: UserResponse;\n\n type: string;\n}\n\nexport interface PinActivityRequest {\n user_id?: string;\n\n user?: UserRequest;\n}\n\nexport interface PinActivityResponse {\n created_at: Date;\n\n duration: string;\n\n feed: string;\n\n user_id: string;\n\n activity: ActivityResponse;\n}\n\nexport interface PinRequest {\n session_id: string;\n\n user_id: string;\n}\n\nexport interface PinResponse {\n duration: string;\n}\n\nexport interface PlatformDataResponse {\n browser: BrowserDataResponse;\n\n device: DeviceDataResponse;\n\n os: ClientOSDataResponse;\n}\n\nexport interface Policy {\n action: number;\n\n created_at: Date;\n\n name: string;\n\n owner: boolean;\n\n priority: number;\n\n updated_at: Date;\n\n resources: string[];\n\n roles: string[];\n}\n\nexport interface PolicyRequest {\n action: 'Deny' | 'Allow';\n\n name: string;\n\n owner: boolean;\n\n priority: number;\n\n resources: string[];\n\n roles: string[];\n}\n\nexport interface Poll {\n allow_answers: boolean;\n\n allow_user_suggested_options: boolean;\n\n answers_count: number;\n\n created_at: Date;\n\n created_by_id: string;\n\n description: string;\n\n enforce_unique_vote: boolean;\n\n id: string;\n\n name: string;\n\n updated_at: Date;\n\n vote_count: number;\n\n latest_answers: PollVote[];\n\n options: PollOption[];\n\n own_votes: PollVote[];\n\n custom: Record<string, any>;\n\n latest_votes_by_option: Record<string, PollVote[]>;\n\n vote_counts_by_option: Record<string, number>;\n\n is_closed?: boolean;\n\n max_votes_allowed?: number;\n\n voting_visibility?: string;\n\n created_by?: User;\n}\n\nexport interface PollOption {\n id: string;\n\n text: string;\n\n custom: Record<string, any>;\n}\n\nexport interface PollOptionInput {\n text?: string;\n\n custom?: Record<string, any>;\n}\n\nexport interface PollOptionRequest {\n id: string;\n\n text?: string;\n\n custom?: Record<string, any>;\n}\n\nexport interface PollOptionResponse {\n duration: string;\n\n poll_option: PollOptionResponseData;\n}\n\nexport interface PollOptionResponseData {\n id: string;\n\n text: string;\n\n custom: Record<string, any>;\n}\n\nexport interface PollResponse {\n duration: string;\n\n poll: PollResponseData;\n}\n\nexport interface PollResponseData {\n allow_answers: boolean;\n\n allow_user_suggested_options: boolean;\n\n answers_count: number;\n\n created_at: Date;\n\n created_by_id: string;\n\n description: string;\n\n enforce_unique_vote: boolean;\n\n id: string;\n\n name: string;\n\n updated_at: Date;\n\n vote_count: number;\n\n voting_visibility: string;\n\n latest_answers: PollVoteResponseData[];\n\n options: PollOptionResponseData[];\n\n own_votes: PollVoteResponseData[];\n\n custom: Record<string, any>;\n\n latest_votes_by_option: Record<string, PollVoteResponseData[]>;\n\n vote_counts_by_option: Record<string, number>;\n\n is_closed?: boolean;\n\n max_votes_allowed?: number;\n\n created_by?: UserResponse;\n}\n\nexport interface PollVote {\n created_at: Date;\n\n id: string;\n\n option_id: string;\n\n poll_id: string;\n\n updated_at: Date;\n\n answer_text?: string;\n\n is_answer?: boolean;\n\n user_id?: string;\n\n user?: User;\n}\n\nexport interface PollVoteResponse {\n duration: string;\n\n vote?: PollVoteResponseData;\n}\n\nexport interface PollVoteResponseData {\n created_at: Date;\n\n id: string;\n\n option_id: string;\n\n poll_id: string;\n\n updated_at: Date;\n\n answer_text?: string;\n\n is_answer?: boolean;\n\n user_id?: string;\n\n user?: UserResponse;\n}\n\nexport interface PollVotesResponse {\n duration: string;\n\n votes: PollVoteResponseData[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface PrivacySettings {\n delivery_receipts?: DeliveryReceipts;\n\n read_receipts?: ReadReceipts;\n\n typing_indicators?: TypingIndicators;\n}\n\nexport interface PrivacySettingsResponse {\n delivery_receipts?: DeliveryReceiptsResponse;\n\n read_receipts?: ReadReceiptsResponse;\n\n typing_indicators?: TypingIndicatorsResponse;\n}\n\nexport interface PublishedTrackFlags {\n audio: boolean;\n\n screenshare: boolean;\n\n screenshare_audio: boolean;\n\n video: boolean;\n}\n\nexport interface PublisherAllMetrics {\n audio?: PublisherAudioMetrics;\n\n rtt_ms?: ActiveCallsLatencyStats;\n\n video?: PublisherVideoMetrics;\n}\n\nexport interface PublisherAudioMetrics {\n jitter_ms?: ActiveCallsLatencyStats;\n}\n\nexport interface PublisherStatsResponse {\n total: number;\n\n unique: number;\n\n by_track?: TrackStatsResponse[];\n}\n\nexport interface PublisherVideoMetrics {\n bitrate?: ActiveCallsBitrateStats;\n\n fps_30?: ActiveCallsFPSStats;\n\n frame_encoding_time_ms?: ActiveCallsLatencyStats;\n\n jitter_ms?: ActiveCallsLatencyStats;\n\n resolution?: ActiveCallsResolutionStats;\n}\n\nexport interface PublishersMetrics {\n all?: PublisherAllMetrics;\n}\n\nexport interface PushConfig {\n version: 'v1' | 'v2' | 'v3';\n\n offline_only?: boolean;\n}\n\nexport interface PushNotificationConfig {\n enable_push?: boolean;\n\n push_types?: string[];\n}\n\nexport interface PushNotificationFields {\n offline_only: boolean;\n\n version: string;\n\n apn: APNConfigFields;\n\n firebase: FirebaseConfigFields;\n\n huawei: HuaweiConfigFields;\n\n xiaomi: XiaomiConfigFields;\n\n providers?: PushProvider[];\n}\n\nexport interface PushNotificationSettingsResponse {\n disabled?: boolean;\n\n disabled_until?: Date;\n}\n\nexport interface PushPreferenceInput {\n call_level?: 'all' | 'none' | 'default';\n\n channel_cid?: string;\n\n chat_level?: 'all' | 'mentions' | 'none' | 'default';\n\n disabled_until?: Date;\n\n feeds_level?: 'all' | 'none' | 'default';\n\n remove_disable?: boolean;\n\n user_id?: string;\n\n feeds_preferences?: FeedsPreferences;\n}\n\nexport interface PushPreferences {\n call_level?: string;\n\n chat_level?: string;\n\n disabled_until?: Date;\n\n feeds_level?: string;\n\n feeds_preferences?: FeedsPreferences;\n}\n\nexport interface PushProvider {\n created_at: Date;\n\n name: string;\n\n type: string;\n\n updated_at: Date;\n\n apn_auth_key?: string;\n\n apn_auth_type?: string;\n\n apn_development?: boolean;\n\n apn_host?: string;\n\n apn_key_id?: string;\n\n apn_notification_template?: string;\n\n apn_p12_cert?: string;\n\n apn_team_id?: string;\n\n apn_topic?: string;\n\n description?: string;\n\n disabled_at?: Date;\n\n disabled_reason?: string;\n\n firebase_apn_template?: string;\n\n firebase_credentials?: string;\n\n firebase_data_template?: string;\n\n firebase_host?: string;\n\n firebase_notification_template?: string;\n\n firebase_server_key?: string;\n\n huawei_app_id?: string;\n\n huawei_app_secret?: string;\n\n huawei_host?: string;\n\n xiaomi_app_secret?: string;\n\n xiaomi_package_name?: string;\n\n push_templates?: PushTemplate[];\n}\n\nexport interface PushProviderResponse {\n created_at: Date;\n\n name: string;\n\n type: string;\n\n updated_at: Date;\n\n apn_auth_key?: string;\n\n apn_auth_type?: string;\n\n apn_development?: boolean;\n\n apn_host?: string;\n\n apn_key_id?: string;\n\n apn_p12_cert?: string;\n\n apn_sandbox_certificate?: boolean;\n\n apn_supports_remote_notifications?: boolean;\n\n apn_supports_voip_notifications?: boolean;\n\n apn_team_id?: string;\n\n apn_topic?: string;\n\n description?: string;\n\n disabled_at?: Date;\n\n disabled_reason?: string;\n\n firebase_apn_template?: string;\n\n firebase_credentials?: string;\n\n firebase_data_template?: string;\n\n firebase_host?: string;\n\n firebase_notification_template?: string;\n\n firebase_server_key?: string;\n\n huawei_app_id?: string;\n\n huawei_app_secret?: string;\n\n xiaomi_app_secret?: string;\n\n xiaomi_package_name?: string;\n}\n\nexport interface PushTemplate {\n created_at: Date;\n\n enable_push: boolean;\n\n event_type:\n | 'message.new'\n | 'message.updated'\n | 'reaction.new'\n | 'notification.reminder_due'\n | 'feeds.activity.added'\n | 'feeds.comment.added'\n | 'feeds.activity.reaction.added'\n | 'feeds.comment.reaction.added'\n | 'feeds.follow.created'\n | 'feeds.notification_feed.updated';\n\n updated_at: Date;\n\n template?: string;\n}\n\nexport interface QualityScoreReport {\n histogram: ReportByHistogramBucket[];\n}\n\nexport interface QualityScoreReportResponse {\n daily: DailyAggregateQualityScoreReportResponse[];\n}\n\nexport interface QueryActivitiesRequest {\n include_private_activities?: boolean;\n\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n user_id?: string;\n\n sort?: SortParamRequest[];\n\n filter?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface QueryActivitiesResponse {\n duration: string;\n\n activities: ActivityResponse[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QueryActivityReactionsRequest {\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n sort?: SortParamRequest[];\n\n filter?: Record<string, any>;\n}\n\nexport interface QueryActivityReactionsResponse {\n duration: string;\n\n reactions: FeedsReactionResponse[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QueryAggregateCallStatsRequest {\n from?: string;\n\n to?: string;\n\n report_types?: string[];\n}\n\nexport interface QueryAggregateCallStatsResponse {\n duration: string;\n\n call_duration_report?: CallDurationReportResponse;\n\n call_participant_count_report?: CallParticipantCountReportResponse;\n\n calls_per_day_report?: CallsPerDayReportResponse;\n\n network_metrics_report?: NetworkMetricsReportResponse;\n\n quality_score_report?: QualityScoreReportResponse;\n\n sdk_usage_report?: SDKUsageReportResponse;\n\n user_feedback_report?: UserFeedbackReportResponse;\n}\n\nexport interface QueryBannedUsersPayload {\n filter_conditions: Record<string, any>;\n\n exclude_expired_bans?: boolean;\n\n limit?: number;\n\n offset?: number;\n\n user_id?: string;\n\n sort?: SortParamRequest[];\n\n user?: UserRequest;\n}\n\nexport interface QueryBannedUsersResponse {\n duration: string;\n\n bans: BanResponse[];\n}\n\nexport interface QueryBookmarkFoldersRequest {\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n sort?: SortParamRequest[];\n\n filter?: Record<string, any>;\n}\n\nexport interface QueryBookmarkFoldersResponse {\n duration: string;\n\n bookmark_folders: BookmarkFolderResponse[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QueryBookmarksRequest {\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n sort?: SortParamRequest[];\n\n filter?: Record<string, any>;\n}\n\nexport interface QueryBookmarksResponse {\n duration: string;\n\n bookmarks: BookmarkResponse[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QueryCallMembersRequest {\n id: string;\n\n type: string;\n\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n sort?: SortParamRequest[];\n\n filter_conditions?: Record<string, any>;\n}\n\nexport interface QueryCallMembersResponse {\n duration: string;\n\n members: MemberResponse[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QueryCallParticipantsRequest {\n filter_conditions?: Record<string, any>;\n}\n\nexport interface QueryCallParticipantsResponse {\n duration: string;\n\n total_participants: number;\n\n members: MemberResponse[];\n\n own_capabilities: OwnCapability[];\n\n participants: CallParticipantResponse[];\n\n call: CallResponse;\n}\n\nexport interface QueryCallSessionParticipantStatsResponse {\n call_id: string;\n\n call_session_id: string;\n\n call_type: string;\n\n duration: string;\n\n participants: CallStatsParticipant[];\n\n counts: CallStatsParticipantCounts;\n\n call_ended_at?: Date;\n\n call_started_at?: Date;\n\n next?: string;\n\n prev?: string;\n\n tmp_data_source?: string;\n}\n\nexport interface QueryCallSessionParticipantStatsTimelineResponse {\n call_id: string;\n\n call_session_id: string;\n\n call_type: string;\n\n duration: string;\n\n user_id: string;\n\n user_session_id: string;\n\n events: CallParticipantTimeline[];\n}\n\nexport interface QueryCallStatsRequest {\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n sort?: SortParamRequest[];\n\n filter_conditions?: Record<string, any>;\n}\n\nexport interface QueryCallStatsResponse {\n duration: string;\n\n reports: CallStatsReportSummaryResponse[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QueryCallsRequest {\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n sort?: SortParamRequest[];\n\n filter_conditions?: Record<string, any>;\n}\n\nexport interface QueryCallsResponse {\n duration: string;\n\n calls: CallStateResponseFields[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QueryCampaignsRequest {\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n user_limit?: number;\n\n sort?: SortParamRequest[];\n\n filter?: Record<string, any>;\n}\n\nexport interface QueryCampaignsResponse {\n duration: string;\n\n campaigns: CampaignResponse[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QueryChannelsRequest {\n limit?: number;\n\n member_limit?: number;\n\n message_limit?: number;\n\n offset?: number;\n\n state?: boolean;\n\n user_id?: string;\n\n sort?: SortParamRequest[];\n\n filter_conditions?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface QueryChannelsResponse {\n duration: string;\n\n channels: ChannelStateResponseFields[];\n}\n\nexport interface QueryCommentReactionsRequest {\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n sort?: SortParamRequest[];\n\n filter?: Record<string, any>;\n}\n\nexport interface QueryCommentReactionsResponse {\n duration: string;\n\n reactions: FeedsReactionResponse[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QueryCommentsRequest {\n filter: Record<string, any>;\n\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n sort?: 'first' | 'last' | 'top' | 'best' | 'controversial';\n}\n\nexport interface QueryCommentsResponse {\n duration: string;\n\n comments: CommentResponse[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QueryDraftsRequest {\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n user_id?: string;\n\n sort?: SortParamRequest[];\n\n filter?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface QueryDraftsResponse {\n duration: string;\n\n drafts: DraftResponse[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QueryFeedMembersRequest {\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n sort?: SortParamRequest[];\n\n filter?: Record<string, any>;\n}\n\nexport interface QueryFeedMembersResponse {\n duration: string;\n\n members: FeedMemberResponse[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QueryFeedModerationTemplate {\n created_at: Date;\n\n name: string;\n\n updated_at: Date;\n\n config?: FeedsModerationTemplateConfig;\n}\n\nexport interface QueryFeedModerationTemplatesResponse {\n duration: string;\n\n templates: QueryFeedModerationTemplate[];\n}\n\nexport interface QueryFeedsRequest {\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n watch?: boolean;\n\n sort?: SortParamRequest[];\n\n filter?: Record<string, any>;\n}\n\nexport interface QueryFeedsResponse {\n duration: string;\n\n feeds: FeedResponse[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QueryFeedsUsageStatsRequest {\n from?: string;\n\n to?: string;\n}\n\nexport interface QueryFeedsUsageStatsResponse {\n duration: string;\n\n activities: DailyMetricStatsResponse;\n\n api_requests: DailyMetricStatsResponse;\n\n follows: DailyMetricStatsResponse;\n\n openai_requests: DailyMetricStatsResponse;\n}\n\nexport interface QueryFollowsRequest {\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n sort?: SortParamRequest[];\n\n filter?: Record<string, any>;\n}\n\nexport interface QueryFollowsResponse {\n duration: string;\n\n follows: FollowResponse[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QueryMembersPayload {\n type: string;\n\n filter_conditions: Record<string, any>;\n\n id?: string;\n\n limit?: number;\n\n offset?: number;\n\n user_id?: string;\n\n members?: ChannelMemberRequest[];\n\n sort?: SortParamRequest[];\n\n user?: UserRequest;\n}\n\nexport interface QueryMembershipLevelsRequest {\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n sort?: SortParamRequest[];\n\n filter?: Record<string, any>;\n}\n\nexport interface QueryMembershipLevelsResponse {\n duration: string;\n\n membership_levels: MembershipLevelResponse[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QueryMessageFlagsPayload {\n limit?: number;\n\n offset?: number;\n\n show_deleted_messages?: boolean;\n\n user_id?: string;\n\n sort?: SortParamRequest[];\n\n filter_conditions?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface QueryMessageFlagsResponse {\n duration: string;\n\n flags: MessageFlagResponse[];\n}\n\nexport interface QueryMessageHistoryRequest {\n filter: Record<string, any>;\n\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n sort?: SortParamRequest[];\n}\n\nexport interface QueryMessageHistoryResponse {\n duration: string;\n\n message_history: MessageHistoryEntryResponse[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QueryModerationConfigsRequest {\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n user_id?: string;\n\n sort?: SortParamRequest[];\n\n filter?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface QueryModerationConfigsResponse {\n duration: string;\n\n configs: ConfigResponse[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QueryModerationFlagsRequest {\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n sort?: SortParam[];\n\n filter?: Record<string, any>;\n}\n\nexport interface QueryModerationFlagsResponse {\n duration: string;\n\n flags: ModerationFlagResponse[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QueryModerationLogsRequest {\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n user_id?: string;\n\n sort?: SortParamRequest[];\n\n filter?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface QueryModerationLogsResponse {\n duration: string;\n\n logs: ActionLogResponse[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QueryModerationRulesRequest {\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n user_id?: string;\n\n sort?: SortParamRequest[];\n\n filter?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface QueryModerationRulesResponse {\n duration: string;\n\n rules: ModerationRuleV2Response[];\n\n default_llm_labels: Record<string, string>;\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QueryPollVotesRequest {\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n sort?: SortParamRequest[];\n\n filter?: Record<string, any>;\n}\n\nexport interface QueryPollsRequest {\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n sort?: SortParamRequest[];\n\n filter?: Record<string, any>;\n}\n\nexport interface QueryPollsResponse {\n duration: string;\n\n polls: PollResponseData[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QueryReactionsRequest {\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n user_id?: string;\n\n sort?: SortParamRequest[];\n\n filter?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface QueryReactionsResponse {\n duration: string;\n\n reactions: ReactionResponse[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QueryRemindersRequest {\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n user_id?: string;\n\n sort?: SortParamRequest[];\n\n filter?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface QueryRemindersResponse {\n duration: string;\n\n reminders: ReminderResponseData[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QueryReviewQueueRequest {\n limit?: number;\n\n lock_count?: number;\n\n lock_duration?: number;\n\n lock_items?: boolean;\n\n next?: string;\n\n prev?: string;\n\n stats_only?: boolean;\n\n user_id?: string;\n\n sort?: SortParamRequest[];\n\n filter?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface QueryReviewQueueResponse {\n duration: string;\n\n items: ReviewQueueItemResponse[];\n\n action_config: Record<string, ModerationActionConfig[]>;\n\n stats: Record<string, any>;\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QuerySegmentTargetsRequest {\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n sort?: SortParamRequest[];\n\n filter?: Record<string, any>;\n}\n\nexport interface QuerySegmentTargetsResponse {\n duration: string;\n\n targets: SegmentTargetResponse[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QuerySegmentsRequest {\n filter: Record<string, any>;\n\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n sort?: SortParamRequest[];\n}\n\nexport interface QuerySegmentsResponse {\n duration: string;\n\n segments: SegmentResponse[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QueryThreadsRequest {\n limit?: number;\n\n member_limit?: number;\n\n next?: string;\n\n participant_limit?: number;\n\n prev?: string;\n\n reply_limit?: number;\n\n user_id?: string;\n\n sort?: SortParamRequest[];\n\n filter?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface QueryThreadsResponse {\n duration: string;\n\n threads: ThreadStateResponse[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QueryUserFeedbackRequest {\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n sort?: SortParamRequest[];\n\n filter_conditions?: Record<string, any>;\n}\n\nexport interface QueryUserFeedbackResponse {\n duration: string;\n\n user_feedback: UserFeedbackResponse[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QueryUsersPayload {\n filter_conditions: Record<string, any>;\n\n include_deactivated_users?: boolean;\n\n limit?: number;\n\n offset?: number;\n\n presence?: boolean;\n\n user_id?: string;\n\n sort?: SortParamRequest[];\n\n user?: UserRequest;\n}\n\nexport interface QueryUsersResponse {\n duration: string;\n\n users: FullUserResponse[];\n}\n\nexport interface RTMPBroadcastRequest {\n name: string;\n\n stream_url: string;\n\n quality?:\n | '360p'\n | '480p'\n | '720p'\n | '1080p'\n | '1440p'\n | 'portrait-360x640'\n | 'portrait-480x854'\n | 'portrait-720x1280'\n | 'portrait-1080x1920'\n | 'portrait-1440x2560';\n\n stream_key?: string;\n\n layout?: LayoutSettingsRequest;\n}\n\nexport interface RTMPIngress {\n address: string;\n}\n\nexport interface RTMPLocation {\n name: string;\n\n stream_key: string;\n\n stream_url: string;\n}\n\nexport interface RTMPSettings {\n enabled: boolean;\n\n quality_name?: string;\n\n layout?: LayoutSettings;\n\n location?: RTMPLocation;\n}\n\nexport interface RTMPSettingsRequest {\n enabled?: boolean;\n\n quality?:\n | '360p'\n | '480p'\n | '720p'\n | '1080p'\n | '1440p'\n | 'portrait-360x640'\n | 'portrait-480x854'\n | 'portrait-720x1280'\n | 'portrait-1080x1920'\n | 'portrait-1440x2560';\n\n layout?: LayoutSettingsRequest;\n}\n\nexport interface RTMPSettingsResponse {\n enabled: boolean;\n\n quality: string;\n\n layout: LayoutSettingsResponse;\n}\n\nexport interface RankingConfig {\n type: 'recency' | 'expression' | 'interest';\n\n score?: string;\n\n defaults?: Record<string, any>;\n\n functions?: Record<string, DecayFunctionConfig>;\n}\n\nexport interface Reaction {\n created_at: Date;\n\n message_id: string;\n\n score: number;\n\n type: string;\n\n updated_at: Date;\n\n custom: Record<string, any>;\n\n user_id?: string;\n\n user?: User;\n}\n\nexport interface ReactionDeletedEvent {\n channel_id: string;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n type: string;\n\n team?: string;\n\n thread_participants?: User[];\n\n message?: Message;\n\n reaction?: Reaction;\n\n user?: User;\n}\n\nexport interface ReactionGroupResponse {\n count: number;\n\n first_reaction_at: Date;\n\n last_reaction_at: Date;\n\n sum_scores: number;\n}\n\nexport interface ReactionNewEvent {\n channel_id: string;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n type: string;\n\n team?: string;\n\n thread_participants?: User[];\n\n message?: Message;\n\n reaction?: Reaction;\n\n user?: User;\n}\n\nexport interface ReactionRequest {\n type: string;\n\n created_at?: Date;\n\n score?: number;\n\n updated_at?: Date;\n\n user_id?: string;\n\n custom?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface ReactionResponse {\n created_at: Date;\n\n message_id: string;\n\n score: number;\n\n type: string;\n\n updated_at: Date;\n\n user_id: string;\n\n custom: Record<string, any>;\n\n user: UserResponse;\n}\n\nexport interface ReactionUpdatedEvent {\n channel_id: string;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n message: Message;\n\n reaction: Reaction;\n\n type: string;\n\n team?: string;\n\n user?: User;\n}\n\nexport interface ReactivateUserRequest {\n created_by_id?: string;\n\n name?: string;\n\n restore_messages?: boolean;\n}\n\nexport interface ReactivateUserResponse {\n duration: string;\n\n user?: UserResponse;\n}\n\nexport interface ReactivateUsersRequest {\n user_ids: string[];\n\n created_by_id?: string;\n\n restore_channels?: boolean;\n\n restore_messages?: boolean;\n}\n\nexport interface ReactivateUsersResponse {\n duration: string;\n\n task_id: string;\n}\n\nexport interface ReadReceipts {\n enabled: boolean;\n}\n\nexport interface ReadReceiptsResponse {\n enabled?: boolean;\n}\n\nexport interface ReadStateResponse {\n last_read: Date;\n\n unread_messages: number;\n\n user: UserResponse;\n\n last_delivered_at?: Date;\n\n last_delivered_message_id?: string;\n\n last_read_message_id?: string;\n}\n\nexport interface RecordSettings {\n mode: string;\n\n audio_only?: boolean;\n\n quality?: string;\n\n layout?: LayoutSettings;\n}\n\nexport interface RecordSettingsRequest {\n mode: 'available' | 'disabled' | 'auto-on';\n\n audio_only?: boolean;\n\n quality?:\n | '360p'\n | '480p'\n | '720p'\n | '1080p'\n | '1440p'\n | 'portrait-360x640'\n | 'portrait-480x854'\n | 'portrait-720x1280'\n | 'portrait-1080x1920'\n | 'portrait-1440x2560';\n\n layout?: LayoutSettingsRequest;\n}\n\nexport interface RecordSettingsResponse {\n audio_only: boolean;\n\n mode: string;\n\n quality: string;\n\n layout: LayoutSettingsResponse;\n}\n\nexport interface RejectFeedMemberInviteRequest {\n user_id?: string;\n\n user?: UserRequest;\n}\n\nexport interface RejectFeedMemberInviteResponse {\n duration: string;\n\n member: FeedMemberResponse;\n}\n\nexport interface RejectFollowRequest {\n source: string;\n\n target: string;\n}\n\nexport interface RejectFollowResponse {\n duration: string;\n\n follow: FollowResponse;\n}\n\nexport interface ReminderCreatedEvent {\n cid: string;\n\n created_at: Date;\n\n message_id: string;\n\n user_id: string;\n\n custom: Record<string, any>;\n\n type: string;\n\n parent_id?: string;\n\n received_at?: Date;\n\n reminder?: ReminderResponseData;\n}\n\nexport interface ReminderDeletedEvent {\n cid: string;\n\n created_at: Date;\n\n message_id: string;\n\n user_id: string;\n\n custom: Record<string, any>;\n\n type: string;\n\n parent_id?: string;\n\n received_at?: Date;\n\n reminder?: ReminderResponseData;\n}\n\nexport interface ReminderNotificationEvent {\n cid: string;\n\n created_at: Date;\n\n message_id: string;\n\n user_id: string;\n\n custom: Record<string, any>;\n\n type: string;\n\n parent_id?: string;\n\n received_at?: Date;\n\n reminder?: ReminderResponseData;\n}\n\nexport interface ReminderResponseData {\n channel_cid: string;\n\n created_at: Date;\n\n message_id: string;\n\n updated_at: Date;\n\n user_id: string;\n\n remind_at?: Date;\n\n channel?: ChannelResponse;\n\n message?: Message;\n\n user?: User;\n}\n\nexport interface ReminderUpdatedEvent {\n cid: string;\n\n created_at: Date;\n\n message_id: string;\n\n user_id: string;\n\n custom: Record<string, any>;\n\n type: string;\n\n parent_id?: string;\n\n received_at?: Date;\n\n reminder?: ReminderResponseData;\n}\n\nexport interface RepliesMeta {\n depth_truncated: boolean;\n\n has_more: boolean;\n\n remaining: number;\n\n next_cursor?: string;\n}\n\nexport interface ReportByHistogramBucket {\n category: string;\n\n count: number;\n\n sum: number;\n\n lower_bound?: Bound;\n\n upper_bound?: Bound;\n}\n\nexport interface ReportResponse {\n call: CallReportResponse;\n\n participants: ParticipantReportResponse;\n\n user_ratings: UserRatingReportResponse;\n}\n\nexport interface Response {\n duration: string;\n}\n\nexport interface RestoreActionRequest {}\n\nexport interface RestoreUsersRequest {\n user_ids: string[];\n}\n\nexport interface ReviewQueueItemNewEvent {\n created_at: Date;\n\n custom: Record<string, any>;\n\n type: string;\n\n received_at?: Date;\n\n flags?: ModerationFlagResponse[];\n\n action?: ActionLogResponse;\n\n review_queue_item?: ReviewQueueItemResponse;\n}\n\nexport interface ReviewQueueItemResponse {\n ai_text_severity: string;\n\n created_at: Date;\n\n entity_id: string;\n\n entity_type: string;\n\n flags_count: number;\n\n id: string;\n\n latest_moderator_action: string;\n\n recommended_action: string;\n\n reviewed_by: string;\n\n severity: number;\n\n status: string;\n\n updated_at: Date;\n\n actions: ActionLogResponse[];\n\n bans: Ban[];\n\n flags: ModerationFlagResponse[];\n\n languages: string[];\n\n completed_at?: Date;\n\n config_key?: string;\n\n entity_creator_id?: string;\n\n reviewed_at?: Date;\n\n teams?: string[];\n\n activity?: EnrichedActivity;\n\n assigned_to?: UserResponse;\n\n call?: CallResponse;\n\n entity_creator?: EntityCreatorResponse;\n\n feeds_v2_activity?: EnrichedActivity;\n\n feeds_v2_reaction?: Reaction;\n\n feeds_v3_activity?: ActivityResponse;\n\n feeds_v3_comment?: CommentResponse;\n\n message?: MessageResponse;\n\n moderation_payload?: ModerationPayload;\n\n reaction?: Reaction;\n}\n\nexport interface ReviewQueueItemUpdatedEvent {\n created_at: Date;\n\n custom: Record<string, any>;\n\n type: string;\n\n received_at?: Date;\n\n flags?: ModerationFlagResponse[];\n\n action?: ActionLogResponse;\n\n review_queue_item?: ReviewQueueItemResponse;\n}\n\nexport interface RingSettings {\n auto_cancel_timeout_ms: number;\n\n incoming_call_timeout_ms: number;\n\n missed_call_timeout_ms: number;\n}\n\nexport interface RingSettingsRequest {\n auto_cancel_timeout_ms: number;\n\n incoming_call_timeout_ms: number;\n\n missed_call_timeout_ms?: number;\n}\n\nexport interface RingSettingsResponse {\n auto_cancel_timeout_ms: number;\n\n incoming_call_timeout_ms: number;\n\n missed_call_timeout_ms: number;\n}\n\nexport interface Role {\n created_at: Date;\n\n custom: boolean;\n\n name: string;\n\n updated_at: Date;\n\n scopes: string[];\n}\n\nexport interface RuleBuilderAction {\n type:\n | 'ban_user'\n | 'flag_user'\n | 'flag_content'\n | 'block_content'\n | 'shadow_content'\n | 'bounce_flag_content'\n | 'bounce_content'\n | 'bounce_remove_content';\n\n ban_options?: BanOptions;\n\n flag_user_options?: FlagUserOptions;\n}\n\nexport interface RuleBuilderCondition {\n confidence?: number;\n\n type?: string;\n\n content_count_rule_params?: ContentCountRuleParameters;\n\n image_content_params?: ImageContentParameters;\n\n image_rule_params?: ImageRuleParameters;\n\n text_content_params?: TextContentParameters;\n\n text_rule_params?: TextRuleParameters;\n\n user_created_within_params?: UserCreatedWithinParameters;\n\n user_custom_property_params?: UserCustomPropertyParameters;\n\n user_rule_params?: UserRuleParameters;\n\n video_content_params?: VideoContentParameters;\n\n video_rule_params?: VideoRuleParameters;\n}\n\nexport interface RuleBuilderConditionGroup {\n logic?: string;\n\n conditions?: RuleBuilderCondition[];\n}\n\nexport interface RuleBuilderConfig {\n async?: boolean;\n\n rules?: RuleBuilderRule[];\n}\n\nexport interface RuleBuilderRule {\n rule_type: string;\n\n action: RuleBuilderAction;\n\n cooldown_period?: string;\n\n id?: string;\n\n logic?: string;\n\n conditions?: RuleBuilderCondition[];\n\n groups?: RuleBuilderConditionGroup[];\n}\n\nexport interface S3Request {\n s3_region: string;\n\n s3_api_key?: string;\n\n s3_custom_endpoint_url?: string;\n\n s3_secret?: string;\n}\n\nexport interface SDKUsageReport {\n per_sdk_usage: Record<string, PerSDKUsageReport>;\n}\n\nexport interface SDKUsageReportResponse {\n daily: DailyAggregateSDKUsageReportResponse[];\n}\n\nexport interface SRTIngress {\n address: string;\n}\n\nexport interface ScreensharingSettings {\n access_request_enabled: boolean;\n\n enabled: boolean;\n\n target_resolution?: TargetResolution;\n}\n\nexport interface ScreensharingSettingsRequest {\n access_request_enabled?: boolean;\n\n enabled?: boolean;\n\n target_resolution?: TargetResolution;\n}\n\nexport interface ScreensharingSettingsResponse {\n access_request_enabled: boolean;\n\n enabled: boolean;\n\n target_resolution?: TargetResolution;\n}\n\nexport interface SearchPayload {\n filter_conditions: Record<string, any>;\n\n limit?: number;\n\n next?: string;\n\n offset?: number;\n\n query?: string;\n\n sort?: SortParamRequest[];\n\n message_filter_conditions?: Record<string, any>;\n\n message_options?: MessageOptions;\n}\n\nexport interface SearchResponse {\n duration: string;\n\n results: SearchResult[];\n\n next?: string;\n\n previous?: string;\n\n results_warning?: SearchWarning;\n}\n\nexport interface SearchResult {\n message?: SearchResultMessage;\n}\n\nexport interface SearchResultMessage {\n cid: string;\n\n created_at: Date;\n\n deleted_reply_count: number;\n\n html: string;\n\n id: string;\n\n pinned: boolean;\n\n reply_count: number;\n\n shadowed: boolean;\n\n silent: boolean;\n\n text: string;\n\n type: string;\n\n updated_at: Date;\n\n attachments: Attachment[];\n\n latest_reactions: ReactionResponse[];\n\n mentioned_users: UserResponse[];\n\n own_reactions: ReactionResponse[];\n\n restricted_visibility: string[];\n\n custom: Record<string, any>;\n\n reaction_counts: Record<string, number>;\n\n reaction_scores: Record<string, number>;\n\n user: UserResponse;\n\n command?: string;\n\n deleted_at?: Date;\n\n deleted_for_me?: boolean;\n\n message_text_updated_at?: Date;\n\n mml?: string;\n\n parent_id?: string;\n\n pin_expires?: Date;\n\n pinned_at?: Date;\n\n poll_id?: string;\n\n quoted_message_id?: string;\n\n show_in_channel?: boolean;\n\n thread_participants?: UserResponse[];\n\n channel?: ChannelResponse;\n\n draft?: DraftResponse;\n\n i18n?: Record<string, string>;\n\n image_labels?: Record<string, string[]>;\n\n member?: ChannelMemberResponse;\n\n moderation?: ModerationV2Response;\n\n pinned_by?: UserResponse;\n\n poll?: PollResponseData;\n\n quoted_message?: MessageResponse;\n\n reaction_groups?: Record<string, ReactionGroupResponse>;\n\n reminder?: ReminderResponseData;\n\n shared_location?: SharedLocationResponseData;\n}\n\nexport interface SearchWarning {\n warning_code: number;\n\n warning_description: string;\n\n channel_search_count?: number;\n\n channel_search_cids?: string[];\n}\n\nexport interface Segment {\n all_sender_channels: boolean;\n\n all_users: boolean;\n\n created_at: Date;\n\n id: string;\n\n name: string;\n\n size: number;\n\n type: string;\n\n updated_at: Date;\n\n deleted_at?: Date;\n\n description?: string;\n\n task_id?: string;\n\n filter?: Record<string, any>;\n}\n\nexport interface SegmentResponse {\n all_sender_channels: boolean;\n\n all_users: boolean;\n\n created_at: Date;\n\n deleted_at: Date;\n\n description: string;\n\n id: string;\n\n name: string;\n\n size: number;\n\n type: string;\n\n updated_at: Date;\n\n filter: Record<string, any>;\n}\n\nexport interface SegmentTargetResponse {\n app_pk: number;\n\n created_at: Date;\n\n segment_id: string;\n\n target_id: string;\n}\n\nexport interface SendCallEventRequest {\n user_id?: string;\n\n custom?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface SendCallEventResponse {\n duration: string;\n}\n\nexport interface SendClosedCaptionRequest {\n speaker_id: string;\n\n text: string;\n\n end_time?: Date;\n\n language?: string;\n\n service?: string;\n\n start_time?: Date;\n\n translated?: boolean;\n\n user_id?: string;\n\n user?: UserRequest;\n}\n\nexport interface SendClosedCaptionResponse {\n duration: string;\n}\n\nexport interface SendEventRequest {\n event: EventRequest;\n}\n\nexport interface SendMessageRequest {\n message: MessageRequest;\n\n force_moderation?: boolean;\n\n keep_channel_hidden?: boolean;\n\n pending?: boolean;\n\n skip_enrich_url?: boolean;\n\n skip_push?: boolean;\n\n pending_message_metadata?: Record<string, string>;\n}\n\nexport interface SendMessageResponse {\n duration: string;\n\n message: MessageResponse;\n\n pending_message_metadata?: Record<string, string>;\n}\n\nexport interface SendReactionRequest {\n reaction: ReactionRequest;\n\n enforce_unique?: boolean;\n\n skip_push?: boolean;\n}\n\nexport interface SendReactionResponse {\n duration: string;\n\n message: MessageResponse;\n\n reaction: ReactionResponse;\n}\n\nexport interface SendUserCustomEventRequest {\n event: UserCustomEventRequest;\n}\n\nexport interface SessionSettings {\n inactivity_timeout_seconds: number;\n}\n\nexport interface SessionSettingsRequest {\n inactivity_timeout_seconds: number;\n}\n\nexport interface SessionSettingsResponse {\n inactivity_timeout_seconds: number;\n}\n\nexport interface ShadowBlockActionRequest {\n reason?: string;\n}\n\nexport interface SharedLocation {\n channel_cid: string;\n\n created_at: Date;\n\n created_by_device_id: string;\n\n message_id: string;\n\n updated_at: Date;\n\n user_id: string;\n\n end_at?: Date;\n\n latitude?: number;\n\n longitude?: number;\n\n channel?: Channel;\n\n message?: Message;\n}\n\nexport interface SharedLocationResponse {\n channel_cid: string;\n\n created_at: Date;\n\n created_by_device_id: string;\n\n duration: string;\n\n latitude: number;\n\n longitude: number;\n\n message_id: string;\n\n updated_at: Date;\n\n user_id: string;\n\n end_at?: Date;\n\n channel?: ChannelResponse;\n\n message?: MessageResponse;\n}\n\nexport interface SharedLocationResponseData {\n channel_cid: string;\n\n created_at: Date;\n\n created_by_device_id: string;\n\n latitude: number;\n\n longitude: number;\n\n message_id: string;\n\n updated_at: Date;\n\n user_id: string;\n\n end_at?: Date;\n\n channel?: ChannelResponse;\n\n message?: MessageResponse;\n}\n\nexport interface SharedLocationsResponse {\n duration: string;\n\n active_live_locations: SharedLocationResponseData[];\n}\n\nexport interface ShowChannelRequest {\n user_id?: string;\n\n user?: UserRequest;\n}\n\nexport interface ShowChannelResponse {\n duration: string;\n}\n\nexport interface SingleFollowResponse {\n duration: string;\n\n follow: FollowResponse;\n}\n\nexport interface SortParam {\n direction?: number;\n\n field?: string;\n}\n\nexport interface SortParamRequest {\n direction?: number;\n\n field?: string;\n}\n\nexport interface SpeechSegmentConfig {\n max_speech_caption_ms?: number;\n\n silence_duration_ms?: number;\n}\n\nexport interface StartCampaignRequest {\n scheduled_for?: Date;\n\n stop_at?: Date;\n}\n\nexport interface StartCampaignResponse {\n duration: string;\n\n campaign?: CampaignResponse;\n\n users?: PagerResponse;\n}\n\nexport interface StartClosedCaptionsRequest {\n enable_transcription?: boolean;\n\n external_storage?: string;\n\n language?:\n | 'auto'\n | 'en'\n | 'fr'\n | 'es'\n | 'de'\n | 'it'\n | 'nl'\n | 'pt'\n | 'pl'\n | 'ca'\n | 'cs'\n | 'da'\n | 'el'\n | 'fi'\n | 'id'\n | 'ja'\n | 'ru'\n | 'sv'\n | 'ta'\n | 'th'\n | 'tr'\n | 'hu'\n | 'ro'\n | 'zh'\n | 'ar'\n | 'tl'\n | 'he'\n | 'hi'\n | 'hr'\n | 'ko'\n | 'ms'\n | 'no'\n | 'uk'\n | 'bg'\n | 'et'\n | 'sl'\n | 'sk';\n\n speech_segment_config?: SpeechSegmentConfig;\n}\n\nexport interface StartClosedCaptionsResponse {\n duration: string;\n}\n\nexport interface StartFrameRecordingRequest {\n recording_external_storage?: string;\n}\n\nexport interface StartFrameRecordingResponse {\n duration: string;\n}\n\nexport interface StartHLSBroadcastingRequest {}\n\nexport interface StartHLSBroadcastingResponse {\n duration: string;\n\n playlist_url: string;\n}\n\nexport interface StartRTMPBroadcastsRequest {\n broadcasts: RTMPBroadcastRequest[];\n}\n\nexport interface StartRTMPBroadcastsResponse {\n duration: string;\n}\n\nexport interface StartRecordingRequest {\n recording_external_storage?: string;\n}\n\nexport interface StartRecordingResponse {\n duration: string;\n}\n\nexport interface StartTranscriptionRequest {\n enable_closed_captions?: boolean;\n\n language?:\n | 'auto'\n | 'en'\n | 'fr'\n | 'es'\n | 'de'\n | 'it'\n | 'nl'\n | 'pt'\n | 'pl'\n | 'ca'\n | 'cs'\n | 'da'\n | 'el'\n | 'fi'\n | 'id'\n | 'ja'\n | 'ru'\n | 'sv'\n | 'ta'\n | 'th'\n | 'tr'\n | 'hu'\n | 'ro'\n | 'zh'\n | 'ar'\n | 'tl'\n | 'he'\n | 'hi'\n | 'hr'\n | 'ko'\n | 'ms'\n | 'no'\n | 'uk'\n | 'bg'\n | 'et'\n | 'sl'\n | 'sk';\n\n transcription_external_storage?: string;\n}\n\nexport interface StartTranscriptionResponse {\n duration: string;\n}\n\nexport interface StopAllRTMPBroadcastsRequest {}\n\nexport interface StopAllRTMPBroadcastsResponse {\n duration: string;\n}\n\nexport interface StopCampaignRequest {}\n\nexport interface StopClosedCaptionsRequest {\n stop_transcription?: boolean;\n}\n\nexport interface StopClosedCaptionsResponse {\n duration: string;\n}\n\nexport interface StopFrameRecordingRequest {}\n\nexport interface StopFrameRecordingResponse {\n duration: string;\n}\n\nexport interface StopHLSBroadcastingRequest {}\n\nexport interface StopHLSBroadcastingResponse {\n duration: string;\n}\n\nexport interface StopLiveRequest {\n continue_closed_caption?: boolean;\n\n continue_hls?: boolean;\n\n continue_recording?: boolean;\n\n continue_rtmp_broadcasts?: boolean;\n\n continue_transcription?: boolean;\n}\n\nexport interface StopLiveResponse {\n duration: string;\n\n call: CallResponse;\n}\n\nexport interface StopRTMPBroadcastsRequest {}\n\nexport interface StopRTMPBroadcastsResponse {\n duration: string;\n}\n\nexport interface StopRecordingRequest {}\n\nexport interface StopRecordingResponse {\n duration: string;\n}\n\nexport interface StopTranscriptionRequest {\n stop_closed_captions?: boolean;\n}\n\nexport interface StopTranscriptionResponse {\n duration: string;\n}\n\nexport interface StoriesConfig {\n skip_watched?: boolean;\n\n track_watched?: boolean;\n}\n\nexport interface StoriesFeedUpdatedEvent {\n created_at: Date;\n\n fid: string;\n\n custom: Record<string, any>;\n\n type: string;\n\n feed_visibility?: string;\n\n received_at?: Date;\n\n activities?: ActivityResponse[];\n\n aggregated_activities?: AggregatedActivityResponse[];\n\n user?: UserResponseCommonFields;\n}\n\nexport interface SubmitActionRequest {\n action_type:\n | 'mark_reviewed'\n | 'delete_message'\n | 'delete_activity'\n | 'delete_comment'\n | 'delete_reaction'\n | 'ban'\n | 'custom'\n | 'unban'\n | 'restore'\n | 'delete_user'\n | 'unblock'\n | 'block'\n | 'shadow_block'\n | 'unmask'\n | 'kick_user'\n | 'end_call';\n\n item_id: string;\n\n user_id?: string;\n\n ban?: BanActionRequest;\n\n block?: BlockActionRequest;\n\n custom?: CustomActionRequest;\n\n delete_activity?: DeleteActivityRequest;\n\n delete_comment?: DeleteCommentRequest;\n\n delete_message?: DeleteMessageRequest;\n\n delete_reaction?: DeleteReactionRequest;\n\n delete_user?: DeleteUserRequest;\n\n mark_reviewed?: MarkReviewedRequest;\n\n shadow_block?: ShadowBlockActionRequest;\n\n unban?: UnbanActionRequest;\n\n user?: UserRequest;\n}\n\nexport interface SubmitActionResponse {\n duration: string;\n\n item?: ReviewQueueItemResponse;\n}\n\nexport interface SubscriberAllMetrics {\n audio?: SubscriberAudioMetrics;\n\n rtt_ms?: ActiveCallsLatencyStats;\n\n video?: SubscriberVideoMetrics;\n}\n\nexport interface SubscriberAudioMetrics {\n concealment_pct?: ActiveCallsLatencyStats;\n\n jitter_ms?: ActiveCallsLatencyStats;\n\n packets_lost_pct?: ActiveCallsLatencyStats;\n}\n\nexport interface SubscriberStatsResponse {\n total: number;\n\n total_subscribed_duration_seconds: number;\n\n unique: number;\n}\n\nexport interface SubscriberVideoMetrics {\n fps_30?: ActiveCallsFPSStats;\n\n jitter_ms?: ActiveCallsLatencyStats;\n\n packets_lost_pct?: ActiveCallsLatencyStats;\n}\n\nexport interface SubscribersMetrics {\n all?: SubscriberAllMetrics;\n}\n\nexport interface TargetResolution {\n bitrate: number;\n\n height: number;\n\n width: number;\n}\n\nexport interface TextContentParameters {\n contains_url?: boolean;\n\n severity?: string;\n\n blocklist_match?: string[];\n\n harm_labels?: string[];\n\n llm_harm_labels?: Record<string, string>;\n}\n\nexport interface TextRuleParameters {\n contains_url?: boolean;\n\n severity?: string;\n\n threshold?: number;\n\n time_window?: string;\n\n blocklist_match?: string[];\n\n harm_labels?: string[];\n\n llm_harm_labels?: Record<string, string>;\n}\n\nexport interface ThreadParticipant {\n app_pk: number;\n\n channel_cid: string;\n\n created_at: Date;\n\n last_read_at: Date;\n\n custom: Record<string, any>;\n\n last_thread_message_at?: Date;\n\n left_thread_at?: Date;\n\n thread_id?: string;\n\n user_id?: string;\n\n user?: UserResponse;\n}\n\nexport interface ThreadResponse {\n active_participant_count: number;\n\n channel_cid: string;\n\n created_at: Date;\n\n created_by_user_id: string;\n\n parent_message_id: string;\n\n participant_count: number;\n\n title: string;\n\n updated_at: Date;\n\n custom: Record<string, any>;\n\n deleted_at?: Date;\n\n last_message_at?: Date;\n\n reply_count?: number;\n\n thread_participants?: ThreadParticipant[];\n\n channel?: ChannelResponse;\n\n created_by?: UserResponse;\n\n parent_message?: MessageResponse;\n}\n\nexport interface ThreadStateResponse {\n active_participant_count: number;\n\n channel_cid: string;\n\n created_at: Date;\n\n created_by_user_id: string;\n\n parent_message_id: string;\n\n participant_count: number;\n\n title: string;\n\n updated_at: Date;\n\n latest_replies: MessageResponse[];\n\n custom: Record<string, any>;\n\n deleted_at?: Date;\n\n last_message_at?: Date;\n\n reply_count?: number;\n\n read?: ReadStateResponse[];\n\n thread_participants?: ThreadParticipant[];\n\n channel?: ChannelResponse;\n\n created_by?: UserResponse;\n\n draft?: DraftResponse;\n\n parent_message?: MessageResponse;\n}\n\nexport interface ThreadUpdatedEvent {\n channel_id: string;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n type: string;\n\n thread?: ThreadResponse;\n\n user?: User;\n}\n\nexport interface ThreadedCommentResponse {\n confidence_score: number;\n\n created_at: Date;\n\n downvote_count: number;\n\n id: string;\n\n object_id: string;\n\n object_type: string;\n\n reaction_count: number;\n\n reply_count: number;\n\n score: number;\n\n status: string;\n\n updated_at: Date;\n\n upvote_count: number;\n\n mentioned_users: UserResponse[];\n\n own_reactions: FeedsReactionResponse[];\n\n user: UserResponse;\n\n controversy_score?: number;\n\n deleted_at?: Date;\n\n parent_id?: string;\n\n text?: string;\n\n attachments?: Attachment[];\n\n latest_reactions?: FeedsReactionResponse[];\n\n replies?: ThreadedCommentResponse[];\n\n custom?: Record<string, any>;\n\n meta?: RepliesMeta;\n\n moderation?: ModerationV2Response;\n\n reaction_groups?: Record<string, ReactionGroupResponse>;\n}\n\nexport interface Thresholds {\n explicit?: LabelThresholds;\n\n spam?: LabelThresholds;\n\n toxic?: LabelThresholds;\n}\n\nexport interface ThumbnailResponse {\n image_url: string;\n}\n\nexport interface ThumbnailsSettings {\n enabled: boolean;\n}\n\nexport interface ThumbnailsSettingsRequest {\n enabled?: boolean;\n}\n\nexport interface ThumbnailsSettingsResponse {\n enabled: boolean;\n}\n\nexport interface Time {}\n\nexport interface TrackStatsResponse {\n duration_seconds: number;\n\n track_type: string;\n}\n\nexport interface TranscriptionSettings {\n closed_caption_mode: 'available' | 'disabled' | 'auto-on';\n\n language:\n | 'auto'\n | 'en'\n | 'fr'\n | 'es'\n | 'de'\n | 'it'\n | 'nl'\n | 'pt'\n | 'pl'\n | 'ca'\n | 'cs'\n | 'da'\n | 'el'\n | 'fi'\n | 'id'\n | 'ja'\n | 'ru'\n | 'sv'\n | 'ta'\n | 'th'\n | 'tr'\n | 'hu'\n | 'ro'\n | 'zh'\n | 'ar'\n | 'tl'\n | 'he'\n | 'hi'\n | 'hr'\n | 'ko'\n | 'ms'\n | 'no'\n | 'uk'\n | 'bg'\n | 'et'\n | 'sl'\n | 'sk';\n\n mode: 'available' | 'disabled' | 'auto-on';\n\n speech_segment_config?: SpeechSegmentConfig;\n\n translation?: TranslationSettings;\n}\n\nexport interface TranscriptionSettingsRequest {\n closed_caption_mode?: 'available' | 'disabled' | 'auto-on';\n\n language?:\n | 'auto'\n | 'en'\n | 'fr'\n | 'es'\n | 'de'\n | 'it'\n | 'nl'\n | 'pt'\n | 'pl'\n | 'ca'\n | 'cs'\n | 'da'\n | 'el'\n | 'fi'\n | 'id'\n | 'ja'\n | 'ru'\n | 'sv'\n | 'ta'\n | 'th'\n | 'tr'\n | 'hu'\n | 'ro'\n | 'zh'\n | 'ar'\n | 'tl'\n | 'he'\n | 'hi'\n | 'hr'\n | 'ko'\n | 'ms'\n | 'no'\n | 'uk'\n | 'bg'\n | 'et'\n | 'sl'\n | 'sk';\n\n mode?: 'available' | 'disabled' | 'auto-on';\n\n speech_segment_config?: SpeechSegmentConfig;\n\n translation?: TranslationSettings;\n}\n\nexport interface TranscriptionSettingsResponse {\n closed_caption_mode: 'available' | 'disabled' | 'auto-on';\n\n language:\n | 'auto'\n | 'en'\n | 'fr'\n | 'es'\n | 'de'\n | 'it'\n | 'nl'\n | 'pt'\n | 'pl'\n | 'ca'\n | 'cs'\n | 'da'\n | 'el'\n | 'fi'\n | 'id'\n | 'ja'\n | 'ru'\n | 'sv'\n | 'ta'\n | 'th'\n | 'tr'\n | 'hu'\n | 'ro'\n | 'zh'\n | 'ar'\n | 'tl'\n | 'he'\n | 'hi'\n | 'hr'\n | 'ko'\n | 'ms'\n | 'no'\n | 'uk'\n | 'bg'\n | 'et'\n | 'sl'\n | 'sk';\n\n mode: 'available' | 'disabled' | 'auto-on';\n\n speech_segment_config?: SpeechSegmentConfig;\n\n translation?: TranslationSettings;\n}\n\nexport interface TranslateMessageRequest {\n language:\n | 'af'\n | 'sq'\n | 'am'\n | 'ar'\n | 'az'\n | 'bn'\n | 'bs'\n | 'bg'\n | 'zh'\n | 'zh-TW'\n | 'hr'\n | 'cs'\n | 'da'\n | 'fa-AF'\n | 'nl'\n | 'en'\n | 'et'\n | 'fi'\n | 'fr'\n | 'fr-CA'\n | 'ka'\n | 'de'\n | 'el'\n | 'ha'\n | 'he'\n | 'hi'\n | 'hu'\n | 'id'\n | 'it'\n | 'ja'\n | 'ko'\n | 'lv'\n | 'ms'\n | 'no'\n | 'fa'\n | 'ps'\n | 'pl'\n | 'pt'\n | 'ro'\n | 'ru'\n | 'sr'\n | 'sk'\n | 'sl'\n | 'so'\n | 'es'\n | 'es-MX'\n | 'sw'\n | 'sv'\n | 'tl'\n | 'ta'\n | 'th'\n | 'tr'\n | 'uk'\n | 'ur'\n | 'vi'\n | 'lt'\n | 'ht';\n}\n\nexport interface TranslationSettings {\n enabled: boolean;\n\n languages: string[];\n}\n\nexport interface TruncateChannelRequest {\n hard_delete?: boolean;\n\n skip_push?: boolean;\n\n truncated_at?: Date;\n\n user_id?: string;\n\n member_ids?: string[];\n\n message?: MessageRequest;\n\n user?: UserRequest;\n}\n\nexport interface TruncateChannelResponse {\n duration: string;\n\n channel?: ChannelResponse;\n\n message?: MessageResponse;\n}\n\nexport interface TypingIndicators {\n enabled: boolean;\n}\n\nexport interface TypingIndicatorsResponse {\n enabled?: boolean;\n}\n\nexport interface UnbanActionRequest {}\n\nexport interface UnbanRequest {\n unbanned_by_id?: string;\n\n unbanned_by?: UserRequest;\n}\n\nexport interface UnbanResponse {\n duration: string;\n}\n\nexport interface UnblockActionRequest {}\n\nexport interface UnblockUserRequest {\n user_id: string;\n}\n\nexport interface UnblockUserResponse {\n duration: string;\n}\n\nexport interface UnblockUsersRequest {\n blocked_user_id: string;\n\n user_id?: string;\n\n user?: UserRequest;\n}\n\nexport interface UnblockUsersResponse {\n duration: string;\n}\n\nexport interface UnblockedUserEvent {\n call_cid: string;\n\n created_at: Date;\n\n user: UserResponse;\n\n type: string;\n}\n\nexport interface UnfollowBatchRequest {\n follows: FollowPair[];\n}\n\nexport interface UnfollowBatchResponse {\n duration: string;\n\n follows: FollowResponse[];\n}\n\nexport interface UnfollowResponse {\n duration: string;\n\n follow: FollowResponse;\n}\n\nexport interface UnmuteChannelRequest {\n expiration?: number;\n\n user_id?: string;\n\n channel_cids?: string[];\n\n user?: UserRequest;\n}\n\nexport interface UnmuteRequest {\n target_ids: string[];\n\n user_id?: string;\n\n user?: UserRequest;\n}\n\nexport interface UnmuteResponse {\n duration: string;\n\n non_existing_users?: string[];\n}\n\nexport interface UnpinActivityResponse {\n duration: string;\n\n feed: string;\n\n user_id: string;\n\n activity: ActivityResponse;\n}\n\nexport interface UnpinRequest {\n session_id: string;\n\n user_id: string;\n}\n\nexport interface UnpinResponse {\n duration: string;\n}\n\nexport interface UnreadCountsBatchRequest {\n user_ids: string[];\n}\n\nexport interface UnreadCountsBatchResponse {\n duration: string;\n\n counts_by_user: Record<string, UnreadCountsResponse>;\n}\n\nexport interface UnreadCountsChannel {\n channel_id: string;\n\n last_read: Date;\n\n unread_count: number;\n}\n\nexport interface UnreadCountsChannelType {\n channel_count: number;\n\n channel_type: string;\n\n unread_count: number;\n}\n\nexport interface UnreadCountsResponse {\n total_unread_count: number;\n\n total_unread_threads_count: number;\n\n channel_type: UnreadCountsChannelType[];\n\n channels: UnreadCountsChannel[];\n\n threads: UnreadCountsThread[];\n\n total_unread_count_by_team?: Record<string, number>;\n}\n\nexport interface UnreadCountsThread {\n last_read: Date;\n\n last_read_message_id: string;\n\n parent_message_id: string;\n\n unread_count: number;\n}\n\nexport interface UpdateActivityPartialRequest {\n user_id?: string;\n\n unset?: string[];\n\n set?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface UpdateActivityPartialResponse {\n duration: string;\n\n activity: ActivityResponse;\n}\n\nexport interface UpdateActivityRequest {\n expires_at?: Date;\n\n poll_id?: string;\n\n restrict_replies?: 'everyone' | 'people_i_follow' | 'nobody';\n\n text?: string;\n\n user_id?: string;\n\n visibility?: string;\n\n attachments?: Attachment[];\n\n feeds?: string[];\n\n filter_tags?: string[];\n\n interest_tags?: string[];\n\n custom?: Record<string, any>;\n\n location?: ActivityLocation;\n\n user?: UserRequest;\n}\n\nexport interface UpdateActivityResponse {\n duration: string;\n\n activity: ActivityResponse;\n}\n\nexport interface UpdateAppRequest {\n async_url_enrich_enabled?: boolean;\n\n auto_translation_enabled?: boolean;\n\n before_message_send_hook_url?: string;\n\n cdn_expiration_seconds?: number;\n\n channel_hide_members_only?: boolean;\n\n custom_action_handler_url?: string;\n\n disable_auth_checks?: boolean;\n\n disable_permissions_checks?: boolean;\n\n enforce_unique_usernames?: 'no' | 'app' | 'team';\n\n feeds_moderation_enabled?: boolean;\n\n feeds_v2_region?: string;\n\n guest_user_creation_disabled?: boolean;\n\n image_moderation_enabled?: boolean;\n\n max_aggregated_activities_length?: number;\n\n migrate_permissions_to_v2?: boolean;\n\n moderation_enabled?: boolean;\n\n moderation_webhook_url?: string;\n\n multi_tenant_enabled?: boolean;\n\n permission_version?: 'v1' | 'v2';\n\n reminders_interval?: number;\n\n reminders_max_members?: number;\n\n revoke_tokens_issued_before?: Date;\n\n sns_key?: string;\n\n sns_secret?: string;\n\n sns_topic_arn?: string;\n\n sqs_key?: string;\n\n sqs_secret?: string;\n\n sqs_url?: string;\n\n user_response_time_enabled?: boolean;\n\n webhook_url?: string;\n\n allowed_flag_reasons?: string[];\n\n event_hooks?: EventHook[];\n\n image_moderation_block_labels?: string[];\n\n image_moderation_labels?: string[];\n\n user_search_disallowed_roles?: string[];\n\n webhook_events?: string[];\n\n apn_config?: APNConfig;\n\n async_moderation_config?: AsyncModerationConfiguration;\n\n datadog_info?: DataDogInfo;\n\n file_upload_config?: FileUploadConfig;\n\n firebase_config?: FirebaseConfig;\n\n grants?: Record<string, string[]>;\n\n huawei_config?: HuaweiConfig;\n\n image_upload_config?: FileUploadConfig;\n\n moderation_dashboard_preferences?: ModerationDashboardPreferences;\n\n push_config?: PushConfig;\n\n xiaomi_config?: XiaomiConfig;\n}\n\nexport interface UpdateBlockListRequest {\n is_leet_check_enabled?: boolean;\n\n is_plural_check_enabled?: boolean;\n\n team?: string;\n\n words?: string[];\n}\n\nexport interface UpdateBlockListResponse {\n duration: string;\n\n blocklist?: BlockListResponse;\n}\n\nexport interface UpdateBookmarkFolderRequest {\n name?: string;\n\n user_id?: string;\n\n custom?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface UpdateBookmarkFolderResponse {\n duration: string;\n\n bookmark_folder: BookmarkFolderResponse;\n}\n\nexport interface UpdateBookmarkRequest {\n folder_id?: string;\n\n new_folder_id?: string;\n\n user_id?: string;\n\n custom?: Record<string, any>;\n\n new_folder?: AddFolderRequest;\n\n user?: UserRequest;\n}\n\nexport interface UpdateBookmarkResponse {\n duration: string;\n\n bookmark: BookmarkResponse;\n}\n\nexport interface UpdateCallMembersRequest {\n remove_members?: string[];\n\n update_members?: MemberRequest[];\n}\n\nexport interface UpdateCallMembersResponse {\n duration: string;\n\n members: MemberResponse[];\n}\n\nexport interface UpdateCallRequest {\n starts_at?: Date;\n\n custom?: Record<string, any>;\n\n settings_override?: CallSettingsRequest;\n}\n\nexport interface UpdateCallResponse {\n duration: string;\n\n members: MemberResponse[];\n\n own_capabilities: OwnCapability[];\n\n call: CallResponse;\n}\n\nexport interface UpdateCallTypeRequest {\n external_storage?: string;\n\n grants?: Record<string, string[]>;\n\n notification_settings?: NotificationSettings;\n\n settings?: CallSettingsRequest;\n}\n\nexport interface UpdateCallTypeResponse {\n created_at: Date;\n\n duration: string;\n\n name: string;\n\n updated_at: Date;\n\n grants: Record<string, string[]>;\n\n notification_settings: NotificationSettings;\n\n settings: CallSettingsResponse;\n\n external_storage?: string;\n}\n\nexport interface UpdateChannelPartialRequest {\n user_id?: string;\n\n unset?: string[];\n\n set?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface UpdateChannelPartialResponse {\n duration: string;\n\n members: ChannelMemberResponse[];\n\n channel?: ChannelResponse;\n}\n\nexport interface UpdateChannelRequest {\n accept_invite?: boolean;\n\n cooldown?: number;\n\n hide_history?: boolean;\n\n reject_invite?: boolean;\n\n skip_push?: boolean;\n\n user_id?: string;\n\n add_members?: ChannelMemberRequest[];\n\n add_moderators?: string[];\n\n assign_roles?: ChannelMemberRequest[];\n\n demote_moderators?: string[];\n\n invites?: ChannelMemberRequest[];\n\n remove_members?: string[];\n\n data?: ChannelInput;\n\n message?: MessageRequest;\n\n user?: UserRequest;\n}\n\nexport interface UpdateChannelResponse {\n duration: string;\n\n members: ChannelMemberResponse[];\n\n channel?: ChannelResponse;\n\n message?: MessageResponse;\n}\n\nexport interface UpdateChannelTypeRequest {\n automod: 'disabled' | 'simple' | 'AI';\n\n automod_behavior: 'flag' | 'block' | 'shadow_block';\n\n max_message_length: number;\n\n blocklist?: string;\n\n blocklist_behavior?: 'flag' | 'block' | 'shadow_block';\n\n connect_events?: boolean;\n\n count_messages?: boolean;\n\n custom_events?: boolean;\n\n delivery_events?: boolean;\n\n mark_messages_pending?: boolean;\n\n mutes?: boolean;\n\n partition_size?: number;\n\n partition_ttl?: string;\n\n polls?: boolean;\n\n push_notifications?: boolean;\n\n quotes?: boolean;\n\n reactions?: boolean;\n\n read_events?: boolean;\n\n reminders?: boolean;\n\n replies?: boolean;\n\n search?: boolean;\n\n shared_locations?: boolean;\n\n skip_last_msg_update_for_system_msgs?: boolean;\n\n typing_events?: boolean;\n\n uploads?: boolean;\n\n url_enrichment?: boolean;\n\n user_message_reminders?: boolean;\n\n allowed_flag_reasons?: string[];\n\n blocklists?: BlockListOptions[];\n\n commands?: string[];\n\n permissions?: PolicyRequest[];\n\n automod_thresholds?: Thresholds;\n\n grants?: Record<string, string[]>;\n}\n\nexport interface UpdateChannelTypeResponse {\n automod: 'disabled' | 'simple' | 'AI';\n\n automod_behavior: 'flag' | 'block' | 'shadow_block';\n\n connect_events: boolean;\n\n count_messages: boolean;\n\n created_at: Date;\n\n custom_events: boolean;\n\n delivery_events: boolean;\n\n duration: string;\n\n mark_messages_pending: boolean;\n\n max_message_length: number;\n\n mutes: boolean;\n\n name: string;\n\n polls: boolean;\n\n push_notifications: boolean;\n\n quotes: boolean;\n\n reactions: boolean;\n\n read_events: boolean;\n\n reminders: boolean;\n\n replies: boolean;\n\n search: boolean;\n\n shared_locations: boolean;\n\n skip_last_msg_update_for_system_msgs: boolean;\n\n typing_events: boolean;\n\n updated_at: Date;\n\n uploads: boolean;\n\n url_enrichment: boolean;\n\n user_message_reminders: boolean;\n\n commands: string[];\n\n permissions: PolicyRequest[];\n\n grants: Record<string, string[]>;\n\n blocklist?: string;\n\n blocklist_behavior?: 'flag' | 'block' | 'shadow_block';\n\n partition_size?: number;\n\n partition_ttl?: string;\n\n allowed_flag_reasons?: string[];\n\n blocklists?: BlockListOptions[];\n\n automod_thresholds?: Thresholds;\n}\n\nexport interface UpdateCommandRequest {\n description: string;\n\n args?: string;\n\n set?: string;\n}\n\nexport interface UpdateCommandResponse {\n duration: string;\n\n command?: Command;\n}\n\nexport interface UpdateCommentRequest {\n comment?: string;\n\n skip_push?: boolean;\n\n user_id?: string;\n\n custom?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface UpdateCommentResponse {\n duration: string;\n\n comment: CommentResponse;\n}\n\nexport interface UpdateExternalStorageRequest {\n bucket: string;\n\n storage_type: 's3' | 'gcs' | 'abs';\n\n gcs_credentials?: string;\n\n path?: string;\n\n aws_s3?: S3Request;\n\n azure_blob?: AzureRequest;\n}\n\nexport interface UpdateExternalStorageResponse {\n bucket: string;\n\n duration: string;\n\n name: string;\n\n path: string;\n\n type: 's3' | 'gcs' | 'abs';\n}\n\nexport interface UpdateFeedGroupRequest {\n default_visibility?:\n | 'public'\n | 'visible'\n | 'followers'\n | 'members'\n | 'private';\n\n activity_processors?: ActivityProcessorConfig[];\n\n activity_selectors?: ActivitySelectorConfig[];\n\n aggregation?: AggregationConfig;\n\n custom?: Record<string, any>;\n\n notification?: NotificationConfig;\n\n push_notification?: PushNotificationConfig;\n\n ranking?: RankingConfig;\n\n stories?: StoriesConfig;\n}\n\nexport interface UpdateFeedGroupResponse {\n duration: string;\n\n feed_group: FeedGroupResponse;\n}\n\nexport interface UpdateFeedMembersRequest {\n operation: 'upsert' | 'remove' | 'set';\n\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n members?: FeedMemberRequest[];\n}\n\nexport interface UpdateFeedMembersResponse {\n duration: string;\n\n added: FeedMemberResponse[];\n\n removed_ids: string[];\n\n updated: FeedMemberResponse[];\n}\n\nexport interface UpdateFeedRequest {\n created_by_id?: string;\n\n custom?: Record<string, any>;\n}\n\nexport interface UpdateFeedResponse {\n duration: string;\n\n feed: FeedResponse;\n}\n\nexport interface UpdateFeedViewRequest {\n activity_selectors?: ActivitySelectorConfig[];\n\n aggregation?: AggregationConfig;\n\n ranking?: RankingConfig;\n}\n\nexport interface UpdateFeedViewResponse {\n duration: string;\n\n feed_view: FeedViewResponse;\n}\n\nexport interface UpdateFeedVisibilityRequest {\n grants?: Record<string, string[]>;\n}\n\nexport interface UpdateFeedVisibilityResponse {\n duration: string;\n\n feed_visibility: FeedVisibilityResponse;\n}\n\nexport interface UpdateFollowRequest {\n source: string;\n\n target: string;\n\n create_notification_activity?: boolean;\n\n follower_role?: string;\n\n push_preference?: 'all' | 'none';\n\n skip_push?: boolean;\n\n custom?: Record<string, any>;\n}\n\nexport interface UpdateFollowResponse {\n duration: string;\n\n follow: FollowResponse;\n}\n\nexport interface UpdateLiveLocationRequest {\n message_id: string;\n\n end_at?: Date;\n\n latitude?: number;\n\n longitude?: number;\n}\n\nexport interface UpdateMemberPartialRequest {\n unset?: string[];\n\n set?: Record<string, any>;\n}\n\nexport interface UpdateMemberPartialResponse {\n duration: string;\n\n channel_member?: ChannelMemberResponse;\n}\n\nexport interface UpdateMembershipLevelRequest {\n description?: string;\n\n name?: string;\n\n priority?: number;\n\n tags?: string[];\n\n custom?: Record<string, any>;\n}\n\nexport interface UpdateMembershipLevelResponse {\n duration: string;\n\n membership_level: MembershipLevelResponse;\n}\n\nexport interface UpdateMessagePartialRequest {\n skip_enrich_url?: boolean;\n\n user_id?: string;\n\n unset?: string[];\n\n set?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface UpdateMessagePartialResponse {\n duration: string;\n\n message?: MessageResponse;\n\n pending_message_metadata?: Record<string, string>;\n}\n\nexport interface UpdateMessageRequest {\n message: MessageRequest;\n\n skip_enrich_url?: boolean;\n\n skip_push?: boolean;\n}\n\nexport interface UpdateMessageResponse {\n duration: string;\n\n message: MessageResponse;\n\n pending_message_metadata?: Record<string, string>;\n}\n\nexport interface UpdatePollOptionRequest {\n id: string;\n\n text: string;\n\n user_id?: string;\n\n custom?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface UpdatePollPartialRequest {\n user_id?: string;\n\n unset?: string[];\n\n set?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface UpdatePollRequest {\n id: string;\n\n name: string;\n\n allow_answers?: boolean;\n\n allow_user_suggested_options?: boolean;\n\n description?: string;\n\n enforce_unique_vote?: boolean;\n\n is_closed?: boolean;\n\n max_votes_allowed?: number;\n\n user_id?: string;\n\n voting_visibility?: 'anonymous' | 'public';\n\n options?: PollOptionRequest[];\n\n custom?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface UpdateReminderRequest {\n remind_at?: Date;\n\n user_id?: string;\n\n user?: UserRequest;\n}\n\nexport interface UpdateReminderResponse {\n duration: string;\n\n reminder: ReminderResponseData;\n}\n\nexport interface UpdateThreadPartialRequest {\n user_id?: string;\n\n unset?: string[];\n\n set?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface UpdateThreadPartialResponse {\n duration: string;\n\n thread: ThreadResponse;\n}\n\nexport interface UpdateUserPartialRequest {\n id: string;\n\n unset?: string[];\n\n set?: Record<string, any>;\n}\n\nexport interface UpdateUserPermissionsRequest {\n user_id: string;\n\n grant_permissions?: string[];\n\n revoke_permissions?: string[];\n}\n\nexport interface UpdateUserPermissionsResponse {\n duration: string;\n}\n\nexport interface UpdateUsersPartialRequest {\n users: UpdateUserPartialRequest[];\n}\n\nexport interface UpdateUsersRequest {\n users: Record<string, UserRequest>;\n}\n\nexport interface UpdateUsersResponse {\n duration: string;\n\n membership_deletion_task_id: string;\n\n users: Record<string, FullUserResponse>;\n}\n\nexport interface UpdatedCallPermissionsEvent {\n call_cid: string;\n\n created_at: Date;\n\n own_capabilities: OwnCapability[];\n\n user: UserResponse;\n\n type: string;\n}\n\nexport interface UploadChannelFileRequest {\n file?: string;\n\n user?: OnlyUserID;\n}\n\nexport interface UploadChannelFileResponse {\n duration: string;\n\n file?: string;\n\n moderation_action?: string;\n\n thumb_url?: string;\n}\n\nexport interface UploadChannelRequest {\n file?: string;\n\n upload_sizes?: ImageSize[];\n\n user?: OnlyUserID;\n}\n\nexport interface UploadChannelResponse {\n duration: string;\n\n file?: string;\n\n moderation_action?: string;\n\n thumb_url?: string;\n\n upload_sizes?: ImageSize[];\n}\n\nexport interface UpsertActivitiesRequest {\n activities: ActivityRequest[];\n}\n\nexport interface UpsertActivitiesResponse {\n duration: string;\n\n activities: ActivityResponse[];\n}\n\nexport interface UpsertConfigRequest {\n key: string;\n\n async?: boolean;\n\n team?: string;\n\n user_id?: string;\n\n ai_image_config?: AIImageConfig;\n\n ai_text_config?: AITextConfig;\n\n ai_video_config?: AIVideoConfig;\n\n automod_platform_circumvention_config?: AutomodPlatformCircumventionConfig;\n\n automod_semantic_filters_config?: AutomodSemanticFiltersConfig;\n\n automod_toxicity_config?: AutomodToxicityConfig;\n\n aws_rekognition_config?: AIImageConfig;\n\n block_list_config?: BlockListConfig;\n\n bodyguard_config?: AITextConfig;\n\n google_vision_config?: GoogleVisionConfig;\n\n llm_config?: LLMConfig;\n\n rule_builder_config?: RuleBuilderConfig;\n\n user?: UserRequest;\n\n velocity_filter_config?: VelocityFilterConfig;\n\n video_call_rule_config?: VideoCallRuleConfig;\n}\n\nexport interface UpsertConfigResponse {\n duration: string;\n\n config?: ConfigResponse;\n}\n\nexport interface UpsertModerationRuleRequest {\n name: string;\n\n rule_type: string;\n\n action: RuleBuilderAction;\n\n cooldown_period?: string;\n\n description?: string;\n\n enabled?: boolean;\n\n logic?: string;\n\n team?: string;\n\n conditions?: RuleBuilderCondition[];\n\n config_keys?: string[];\n\n groups?: RuleBuilderConditionGroup[];\n}\n\nexport interface UpsertModerationRuleResponse {\n duration: string;\n\n rule?: ModerationRuleV2Response;\n}\n\nexport interface UpsertModerationTemplateRequest {\n name: string;\n\n config: FeedsModerationTemplateConfig;\n}\n\nexport interface UpsertModerationTemplateResponse {\n created_at: Date;\n\n duration: string;\n\n name: string;\n\n updated_at: Date;\n\n config?: FeedsModerationTemplateConfig;\n}\n\nexport interface UpsertPushPreferencesRequest {\n preferences: PushPreferenceInput[];\n}\n\nexport interface UpsertPushPreferencesResponse {\n duration: string;\n\n user_channel_preferences: Record<\n string,\n Record<string, ChannelPushPreferences | null>\n >;\n\n user_preferences: Record<string, PushPreferences>;\n}\n\nexport interface UpsertPushProviderRequest {\n push_provider?: PushProvider;\n}\n\nexport interface UpsertPushProviderResponse {\n duration: string;\n\n push_provider: PushProviderResponse;\n}\n\nexport interface UpsertPushTemplateRequest {\n event_type:\n | 'message.new'\n | 'message.updated'\n | 'reaction.new'\n | 'notification.reminder_due'\n | 'feeds.activity.added'\n | 'feeds.comment.added'\n | 'feeds.activity.reaction.added'\n | 'feeds.comment.reaction.added'\n | 'feeds.follow.created'\n | 'feeds.notification_feed.updated';\n\n push_provider_type: 'firebase' | 'apn' | 'huawei' | 'xiaomi';\n\n enable_push?: boolean;\n\n push_provider_name?: string;\n\n template?: string;\n}\n\nexport interface UpsertPushTemplateResponse {\n duration: string;\n\n template?: PushTemplate;\n}\n\nexport interface User {\n banned: boolean;\n\n id: string;\n\n online: boolean;\n\n role: string;\n\n custom: Record<string, any>;\n\n teams_role: Record<string, string>;\n\n avg_response_time?: number;\n\n ban_expires?: Date;\n\n created_at?: Date;\n\n deactivated_at?: Date;\n\n deleted_at?: Date;\n\n invisible?: boolean;\n\n language?: string;\n\n last_active?: Date;\n\n last_engaged_at?: Date;\n\n revoke_tokens_issued_before?: Date;\n\n updated_at?: Date;\n\n teams?: string[];\n\n privacy_settings?: PrivacySettings;\n}\n\nexport interface UserBannedEvent {\n channel_id: string;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n shadow: boolean;\n\n created_by: User;\n\n type: string;\n\n expiration?: Date;\n\n reason?: string;\n\n team?: string;\n\n user?: User;\n}\n\nexport interface UserCreatedWithinParameters {\n max_age?: string;\n}\n\nexport interface UserCustomEventRequest {\n type: string;\n\n custom?: Record<string, any>;\n}\n\nexport interface UserCustomPropertyParameters {\n operator?: string;\n\n property_key?: string;\n}\n\nexport interface UserDeactivatedEvent {\n created_at: Date;\n\n created_by: User;\n\n type: string;\n\n user?: User;\n}\n\nexport interface UserDeletedEvent {\n created_at: Date;\n\n delete_conversation_channels: boolean;\n\n hard_delete: boolean;\n\n mark_messages_deleted: boolean;\n\n type: string;\n\n user?: User;\n}\n\nexport interface UserFeedbackReport {\n unreported_count: number;\n\n count_by_rating: Record<string, number>;\n}\n\nexport interface UserFeedbackReportResponse {\n daily: DailyAggregateUserFeedbackReportResponse[];\n}\n\nexport interface UserFeedbackResponse {\n cid: string;\n\n rating: number;\n\n reason: string;\n\n sdk: string;\n\n sdk_version: string;\n\n session_id: string;\n\n user_id: string;\n\n platform: PlatformDataResponse;\n\n custom?: Record<string, any>;\n}\n\nexport interface UserFlaggedEvent {\n created_at: Date;\n\n type: string;\n\n target_user?: string;\n\n target_users?: string[];\n\n user?: User;\n}\n\nexport interface UserMessagesDeletedEvent {\n created_at: Date;\n\n custom: Record<string, any>;\n\n user: UserResponseCommonFields;\n\n type: string;\n\n channel_id?: string;\n\n channel_member_count?: number;\n\n channel_message_count?: number;\n\n channel_type?: string;\n\n cid?: string;\n\n hard_delete?: boolean;\n\n received_at?: Date;\n\n team?: string;\n\n channel_custom?: Record<string, any>;\n}\n\nexport interface UserMute {\n created_at: Date;\n\n updated_at: Date;\n\n expires?: Date;\n\n target?: User;\n\n user?: User;\n}\n\nexport interface UserMuteResponse {\n created_at: Date;\n\n updated_at: Date;\n\n expires?: Date;\n\n target?: UserResponse;\n\n user?: UserResponse;\n}\n\nexport interface UserMutedEvent {\n created_at: Date;\n\n type: string;\n\n target_user?: string;\n\n target_users?: string[];\n\n user?: User;\n}\n\nexport interface UserRatingReportResponse {\n average: number;\n\n count: number;\n}\n\nexport interface UserReactivatedEvent {\n created_at: Date;\n\n type: string;\n\n user?: User;\n}\n\nexport interface UserRequest {\n id: string;\n\n image?: string;\n\n invisible?: boolean;\n\n language?: string;\n\n name?: string;\n\n role?: string;\n\n teams?: string[];\n\n custom?: Record<string, any>;\n\n privacy_settings?: PrivacySettingsResponse;\n\n teams_role?: Record<string, string>;\n}\n\nexport interface UserResponse {\n banned: boolean;\n\n created_at: Date;\n\n id: string;\n\n invisible: boolean;\n\n language: string;\n\n online: boolean;\n\n role: string;\n\n shadow_banned: boolean;\n\n updated_at: Date;\n\n blocked_user_ids: string[];\n\n teams: string[];\n\n custom: Record<string, any>;\n\n avg_response_time?: number;\n\n ban_expires?: Date;\n\n deactivated_at?: Date;\n\n deleted_at?: Date;\n\n image?: string;\n\n last_active?: Date;\n\n name?: string;\n\n revoke_tokens_issued_before?: Date;\n\n devices?: DeviceResponse[];\n\n privacy_settings?: PrivacySettingsResponse;\n\n push_notifications?: PushNotificationSettingsResponse;\n\n teams_role?: Record<string, string>;\n}\n\nexport interface UserResponseCommonFields {\n banned: boolean;\n\n created_at: Date;\n\n id: string;\n\n language: string;\n\n online: boolean;\n\n role: string;\n\n updated_at: Date;\n\n blocked_user_ids: string[];\n\n teams: string[];\n\n custom: Record<string, any>;\n\n avg_response_time?: number;\n\n deactivated_at?: Date;\n\n deleted_at?: Date;\n\n image?: string;\n\n last_active?: Date;\n\n name?: string;\n\n revoke_tokens_issued_before?: Date;\n\n teams_role?: Record<string, string>;\n}\n\nexport interface UserResponsePrivacyFields {\n banned: boolean;\n\n created_at: Date;\n\n id: string;\n\n language: string;\n\n online: boolean;\n\n role: string;\n\n updated_at: Date;\n\n blocked_user_ids: string[];\n\n teams: string[];\n\n custom: Record<string, any>;\n\n avg_response_time?: number;\n\n deactivated_at?: Date;\n\n deleted_at?: Date;\n\n image?: string;\n\n invisible?: boolean;\n\n last_active?: Date;\n\n name?: string;\n\n revoke_tokens_issued_before?: Date;\n\n privacy_settings?: PrivacySettingsResponse;\n\n teams_role?: Record<string, string>;\n}\n\nexport interface UserRuleParameters {\n max_age?: string;\n}\n\nexport interface UserUnbannedEvent {\n channel_id: string;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n shadow: boolean;\n\n type: string;\n\n team?: string;\n\n user?: User;\n}\n\nexport interface UserUnmutedEvent {\n created_at: Date;\n\n type: string;\n\n target_user?: string;\n\n target_users?: string[];\n\n user?: User;\n}\n\nexport interface UserUnreadReminderEvent {\n created_at: Date;\n\n channels: Record<string, ChannelMessages>;\n\n type: string;\n\n user?: User;\n}\n\nexport interface UserUpdatedEvent {\n created_at: Date;\n\n custom: Record<string, any>;\n\n user: UserResponsePrivacyFields;\n\n type: string;\n\n received_at?: Date;\n}\n\nexport interface VelocityFilterConfig {\n advanced_filters?: boolean;\n\n async?: boolean;\n\n cascading_actions?: boolean;\n\n cids_per_user?: number;\n\n enabled?: boolean;\n\n first_message_only?: boolean;\n\n rules?: VelocityFilterConfigRule[];\n}\n\nexport interface VelocityFilterConfigRule {\n action: 'flag' | 'shadow' | 'remove' | 'ban';\n\n ban_duration?: number;\n\n cascading_action?: 'flag' | 'shadow' | 'remove' | 'ban';\n\n cascading_threshold?: number;\n\n check_message_context?: boolean;\n\n fast_spam_threshold?: number;\n\n fast_spam_ttl?: number;\n\n ip_ban?: boolean;\n\n probation_period?: number;\n\n shadow_ban?: boolean;\n\n slow_spam_ban_duration?: number;\n\n slow_spam_threshold?: number;\n\n slow_spam_ttl?: number;\n\n url_only?: boolean;\n}\n\nexport interface VideoCallRuleConfig {\n flag_all_labels?: boolean;\n\n flagged_labels?: string[];\n\n rules?: HarmConfig[];\n}\n\nexport interface VideoContentParameters {\n harm_labels?: string[];\n}\n\nexport interface VideoEndCallRequest {}\n\nexport interface VideoKickUserRequest {}\n\nexport interface VideoReactionOverTimeResponse {\n by_minute?: CountByMinuteResponse[];\n}\n\nexport interface VideoReactionsResponse {\n reaction: string;\n\n count_over_time?: VideoReactionOverTimeResponse;\n}\n\nexport interface VideoRuleParameters {\n threshold?: number;\n\n time_window?: string;\n\n harm_labels?: string[];\n}\n\nexport interface VideoSettings {\n access_request_enabled: boolean;\n\n camera_default_on: boolean;\n\n camera_facing: 'front' | 'back' | 'external';\n\n enabled: boolean;\n\n target_resolution: TargetResolution;\n}\n\nexport interface VideoSettingsRequest {\n access_request_enabled?: boolean;\n\n camera_default_on?: boolean;\n\n camera_facing?: 'front' | 'back' | 'external';\n\n enabled?: boolean;\n\n target_resolution?: TargetResolution;\n}\n\nexport interface VideoSettingsResponse {\n access_request_enabled: boolean;\n\n camera_default_on: boolean;\n\n camera_facing: 'front' | 'back' | 'external';\n\n enabled: boolean;\n\n target_resolution: TargetResolution;\n}\n\nexport interface VoteData {\n answer_text?: string;\n\n option_id?: string;\n}\n\nexport interface WHIPIngress {\n address: string;\n}\n\nexport interface WSEvent {\n created_at: Date;\n\n type: string;\n\n custom: Record<string, any>;\n\n automoderation?: boolean;\n\n channel_id?: string;\n\n channel_last_message_at?: Date;\n\n channel_type?: string;\n\n cid?: string;\n\n connection_id?: string;\n\n parent_id?: string;\n\n reason?: string;\n\n team?: string;\n\n thread_id?: string;\n\n user_id?: string;\n\n watcher_count?: number;\n\n automoderation_scores?: ModerationResponse;\n\n channel?: ChannelResponse;\n\n created_by?: UserResponse;\n\n me?: OwnUserResponse;\n\n member?: ChannelMemberResponse;\n\n message?: MessageResponse;\n\n message_update?: MessageUpdate;\n\n poll?: PollResponseData;\n\n poll_vote?: PollVoteResponseData;\n\n reaction?: ReactionResponse;\n\n thread?: ThreadResponse;\n\n user?: UserResponse;\n}\n\nexport type WebhookEvent =\n | ({ type: '*' } & AnyEvent)\n | ({ type: 'activity.marked' } & ActivityMarkedEvent)\n | ({ type: 'call.accepted' } & CallAcceptedEvent)\n | ({ type: 'call.blocked_user' } & BlockedUserEvent)\n | ({ type: 'call.closed_caption' } & ClosedCaptionEvent)\n | ({ type: 'call.closed_captions_failed' } & CallClosedCaptionsFailedEvent)\n | ({ type: 'call.closed_captions_started' } & CallClosedCaptionsStartedEvent)\n | ({ type: 'call.closed_captions_stopped' } & CallClosedCaptionsStoppedEvent)\n | ({ type: 'call.created' } & CallCreatedEvent)\n | ({ type: 'call.deleted' } & CallDeletedEvent)\n | ({ type: 'call.ended' } & CallEndedEvent)\n | ({ type: 'call.frame_recording_failed' } & CallFrameRecordingFailedEvent)\n | ({ type: 'call.frame_recording_ready' } & CallFrameRecordingFrameReadyEvent)\n | ({ type: 'call.frame_recording_started' } & CallFrameRecordingStartedEvent)\n | ({ type: 'call.frame_recording_stopped' } & CallFrameRecordingStoppedEvent)\n | ({ type: 'call.hls_broadcasting_failed' } & CallHLSBroadcastingFailedEvent)\n | ({\n type: 'call.hls_broadcasting_started';\n } & CallHLSBroadcastingStartedEvent)\n | ({\n type: 'call.hls_broadcasting_stopped';\n } & CallHLSBroadcastingStoppedEvent)\n | ({ type: 'call.kicked_user' } & KickedUserEvent)\n | ({ type: 'call.live_started' } & CallLiveStartedEvent)\n | ({ type: 'call.member_added' } & CallMemberAddedEvent)\n | ({ type: 'call.member_removed' } & CallMemberRemovedEvent)\n | ({ type: 'call.member_updated' } & CallMemberUpdatedEvent)\n | ({\n type: 'call.member_updated_permission';\n } & CallMemberUpdatedPermissionEvent)\n | ({ type: 'call.missed' } & CallMissedEvent)\n | ({ type: 'call.moderation_blur' } & CallModerationBlurEvent)\n | ({ type: 'call.moderation_warning' } & CallModerationWarningEvent)\n | ({ type: 'call.notification' } & CallNotificationEvent)\n | ({ type: 'call.permission_request' } & PermissionRequestEvent)\n | ({ type: 'call.permissions_updated' } & UpdatedCallPermissionsEvent)\n | ({ type: 'call.reaction_new' } & CallReactionEvent)\n | ({ type: 'call.recording_failed' } & CallRecordingFailedEvent)\n | ({ type: 'call.recording_ready' } & CallRecordingReadyEvent)\n | ({ type: 'call.recording_started' } & CallRecordingStartedEvent)\n | ({ type: 'call.recording_stopped' } & CallRecordingStoppedEvent)\n | ({ type: 'call.rejected' } & CallRejectedEvent)\n | ({ type: 'call.ring' } & CallRingEvent)\n | ({ type: 'call.rtmp_broadcast_failed' } & CallRtmpBroadcastFailedEvent)\n | ({ type: 'call.rtmp_broadcast_started' } & CallRtmpBroadcastStartedEvent)\n | ({ type: 'call.rtmp_broadcast_stopped' } & CallRtmpBroadcastStoppedEvent)\n | ({ type: 'call.session_ended' } & CallSessionEndedEvent)\n | ({\n type: 'call.session_participant_count_updated';\n } & CallSessionParticipantCountsUpdatedEvent)\n | ({\n type: 'call.session_participant_joined';\n } & CallSessionParticipantJoinedEvent)\n | ({\n type: 'call.session_participant_left';\n } & CallSessionParticipantLeftEvent)\n | ({ type: 'call.session_started' } & CallSessionStartedEvent)\n | ({ type: 'call.stats_report_ready' } & CallStatsReportReadyEvent)\n | ({ type: 'call.transcription_failed' } & CallTranscriptionFailedEvent)\n | ({ type: 'call.transcription_ready' } & CallTranscriptionReadyEvent)\n | ({ type: 'call.transcription_started' } & CallTranscriptionStartedEvent)\n | ({ type: 'call.transcription_stopped' } & CallTranscriptionStoppedEvent)\n | ({ type: 'call.unblocked_user' } & UnblockedUserEvent)\n | ({ type: 'call.updated' } & CallUpdatedEvent)\n | ({ type: 'call.user_feedback_submitted' } & CallUserFeedbackSubmittedEvent)\n | ({ type: 'call.user_muted' } & CallUserMutedEvent)\n | ({ type: 'campaign.completed' } & CampaignCompletedEvent)\n | ({ type: 'campaign.started' } & CampaignStartedEvent)\n | ({ type: 'channel.created' } & ChannelCreatedEvent)\n | ({ type: 'channel.deleted' } & ChannelDeletedEvent)\n | ({ type: 'channel.frozen' } & ChannelFrozenEvent)\n | ({ type: 'channel.hidden' } & ChannelHiddenEvent)\n | ({ type: 'channel.muted' } & ChannelMutedEvent)\n | ({ type: 'channel.truncated' } & ChannelTruncatedEvent)\n | ({ type: 'channel.unfrozen' } & ChannelUnFrozenEvent)\n | ({ type: 'channel.unmuted' } & ChannelUnmutedEvent)\n | ({ type: 'channel.updated' } & ChannelUpdatedEvent)\n | ({ type: 'channel.visible' } & ChannelVisibleEvent)\n | ({ type: 'custom' } & CustomVideoEvent)\n | ({ type: 'export.bulk_image_moderation.error' } & AsyncExportErrorEvent)\n | ({\n type: 'export.bulk_image_moderation.success';\n } & AsyncBulkImageModerationEvent)\n | ({ type: 'export.channels.error' } & AsyncExportErrorEvent)\n | ({ type: 'export.channels.success' } & AsyncExportChannelsEvent)\n | ({ type: 'export.moderation_logs.error' } & AsyncExportErrorEvent)\n | ({\n type: 'export.moderation_logs.success';\n } & AsyncExportModerationLogsEvent)\n | ({ type: 'export.users.error' } & AsyncExportErrorEvent)\n | ({ type: 'export.users.success' } & AsyncExportUsersEvent)\n | ({ type: 'feeds.activity.added' } & ActivityAddedEvent)\n | ({ type: 'feeds.activity.deleted' } & ActivityDeletedEvent)\n | ({ type: 'feeds.activity.feedback' } & ActivityFeedbackEvent)\n | ({ type: 'feeds.activity.marked' } & ActivityMarkEvent)\n | ({ type: 'feeds.activity.pinned' } & ActivityPinnedEvent)\n | ({ type: 'feeds.activity.reaction.added' } & ActivityReactionAddedEvent)\n | ({ type: 'feeds.activity.reaction.deleted' } & ActivityReactionDeletedEvent)\n | ({ type: 'feeds.activity.reaction.updated' } & ActivityReactionUpdatedEvent)\n | ({\n type: 'feeds.activity.removed_from_feed';\n } & ActivityRemovedFromFeedEvent)\n | ({ type: 'feeds.activity.unpinned' } & ActivityUnpinnedEvent)\n | ({ type: 'feeds.activity.updated' } & ActivityUpdatedEvent)\n | ({ type: 'feeds.bookmark.added' } & BookmarkAddedEvent)\n | ({ type: 'feeds.bookmark.deleted' } & BookmarkDeletedEvent)\n | ({ type: 'feeds.bookmark.updated' } & BookmarkUpdatedEvent)\n | ({ type: 'feeds.bookmark_folder.deleted' } & BookmarkFolderDeletedEvent)\n | ({ type: 'feeds.bookmark_folder.updated' } & BookmarkFolderUpdatedEvent)\n | ({ type: 'feeds.comment.added' } & CommentAddedEvent)\n | ({ type: 'feeds.comment.deleted' } & CommentDeletedEvent)\n | ({ type: 'feeds.comment.reaction.added' } & CommentReactionAddedEvent)\n | ({ type: 'feeds.comment.reaction.deleted' } & CommentReactionDeletedEvent)\n | ({ type: 'feeds.comment.reaction.updated' } & CommentReactionUpdatedEvent)\n | ({ type: 'feeds.comment.updated' } & CommentUpdatedEvent)\n | ({ type: 'feeds.feed.created' } & FeedCreatedEvent)\n | ({ type: 'feeds.feed.deleted' } & FeedDeletedEvent)\n | ({ type: 'feeds.feed.updated' } & FeedUpdatedEvent)\n | ({ type: 'feeds.feed_group.changed' } & FeedGroupChangedEvent)\n | ({ type: 'feeds.feed_group.deleted' } & FeedGroupDeletedEvent)\n | ({ type: 'feeds.feed_member.added' } & FeedMemberAddedEvent)\n | ({ type: 'feeds.feed_member.removed' } & FeedMemberRemovedEvent)\n | ({ type: 'feeds.feed_member.updated' } & FeedMemberUpdatedEvent)\n | ({ type: 'feeds.follow.created' } & FollowCreatedEvent)\n | ({ type: 'feeds.follow.deleted' } & FollowDeletedEvent)\n | ({ type: 'feeds.follow.updated' } & FollowUpdatedEvent)\n | ({ type: 'feeds.notification_feed.updated' } & NotificationFeedUpdatedEvent)\n | ({ type: 'feeds.stories_feed.updated' } & StoriesFeedUpdatedEvent)\n | ({ type: 'flag.updated' } & FlagUpdatedEvent)\n | ({ type: 'member.added' } & MemberAddedEvent)\n | ({ type: 'member.removed' } & MemberRemovedEvent)\n | ({ type: 'member.updated' } & MemberUpdatedEvent)\n | ({ type: 'message.deleted' } & MessageDeletedEvent)\n | ({ type: 'message.flagged' } & MessageFlaggedEvent)\n | ({ type: 'message.new' } & MessageNewEvent)\n | ({ type: 'message.pending' } & PendingMessageEvent)\n | ({ type: 'message.read' } & MessageReadEvent)\n | ({ type: 'message.unblocked' } & MessageUnblockedEvent)\n | ({ type: 'message.undeleted' } & MessageUndeletedEvent)\n | ({ type: 'message.updated' } & MessageUpdatedEvent)\n | ({ type: 'moderation.custom_action' } & ModerationCustomActionEvent)\n | ({ type: 'moderation.flagged' } & ModerationFlaggedEvent)\n | ({ type: 'moderation.mark_reviewed' } & ModerationMarkReviewedEvent)\n | ({ type: 'moderation_check.completed' } & ModerationCheckCompletedEvent)\n | ({ type: 'notification.mark_unread' } & NotificationMarkUnreadEvent)\n | ({ type: 'notification.reminder_due' } & ReminderNotificationEvent)\n | ({ type: 'notification.thread_message_new' } & MessageNewEvent)\n | ({ type: 'reaction.deleted' } & ReactionDeletedEvent)\n | ({ type: 'reaction.new' } & ReactionNewEvent)\n | ({ type: 'reaction.updated' } & ReactionUpdatedEvent)\n | ({ type: 'reminder.created' } & ReminderCreatedEvent)\n | ({ type: 'reminder.deleted' } & ReminderDeletedEvent)\n | ({ type: 'reminder.updated' } & ReminderUpdatedEvent)\n | ({ type: 'review_queue_item.new' } & ReviewQueueItemNewEvent)\n | ({ type: 'review_queue_item.updated' } & ReviewQueueItemUpdatedEvent)\n | ({ type: 'thread.updated' } & ThreadUpdatedEvent)\n | ({ type: 'user.banned' } & UserBannedEvent)\n | ({ type: 'user.deactivated' } & UserDeactivatedEvent)\n | ({ type: 'user.deleted' } & UserDeletedEvent)\n | ({ type: 'user.flagged' } & UserFlaggedEvent)\n | ({ type: 'user.messages.deleted' } & UserMessagesDeletedEvent)\n | ({ type: 'user.muted' } & UserMutedEvent)\n | ({ type: 'user.reactivated' } & UserReactivatedEvent)\n | ({ type: 'user.unbanned' } & UserUnbannedEvent)\n | ({ type: 'user.unmuted' } & UserUnmutedEvent)\n | ({ type: 'user.unread_message_reminder' } & UserUnreadReminderEvent)\n | ({ type: 'user.updated' } & UserUpdatedEvent);\n\nexport interface WrappedUnreadCountsResponse {\n duration: string;\n\n total_unread_count: number;\n\n total_unread_threads_count: number;\n\n channel_type: UnreadCountsChannelType[];\n\n channels: UnreadCountsChannel[];\n\n threads: UnreadCountsThread[];\n\n total_unread_count_by_team?: Record<string, number>;\n}\n\nexport interface XiaomiConfig {\n disabled?: boolean;\n\n package_name?: string;\n\n secret?: string;\n}\n\nexport interface XiaomiConfigFields {\n enabled: boolean;\n\n package_name?: string;\n\n secret?: string;\n}\n"],"names":["uuidv4"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs.js","sources":["../../src/utils/create-token.ts","../../src/gen/model-decoders/decoders.ts","../../src/gen/common/CommonApi.ts","../../src/gen/video/VideoApi.ts","../../src/gen/video/CallApi.ts","../../src/StreamCall.ts","../../src/StreamVideoClient.ts","../../src/gen/chat/ChatApi.ts","../../src/gen/chat/ChannelApi.ts","../../src/StreamChannel.ts","../../src/StreamChatClient.ts","../../src/gen/moderation/ModerationApi.ts","../../src/StreamModerationClient.ts","../../src/types.ts","../../src/utils/rate-limit.ts","../../src/ApiClient.ts","../../src/gen/feeds/FeedsApi.ts","../../src/gen/feeds/FeedApi.ts","../../src/StreamFeed.ts","../../src/StreamFeedsClient.ts","../../src/StreamClient.ts","../../src/gen/models/index.ts"],"sourcesContent":["import jwt, { Secret, SignOptions } from 'jsonwebtoken';\n\nexport function JWTUserToken(\n apiSecret: Secret,\n payload: {\n user_id: string;\n exp?: number;\n iat: number;\n call_cids?: string[];\n } & { [key: string]: any },\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',\n noTimestamp: true,\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","type Decoder = (i: any) => any;\n\ntype TypeMapping = Record<string, { type: string; isSingle: boolean }>;\n\nexport const decoders: Record<string, Decoder> = {};\n\nconst decodeDatetimeType = (input: number | string) =>\n typeof input === 'number'\n ? new Date(Math.floor(input / 1000000))\n : new Date(input);\n\ndecoders.DatetimeType = decodeDatetimeType;\n\nconst decode = (typeMappings: TypeMapping, input?: Record<string, any>) => {\n if (!input || Object.keys(typeMappings).length === 0) return input;\n\n Object.keys(typeMappings).forEach((key) => {\n if (input[key] != null) {\n if (typeMappings[key]) {\n const decoder = decoders[typeMappings[key].type];\n if (decoder) {\n if (typeMappings[key].isSingle) {\n input[key] = decoder(input[key]);\n } else {\n Object.keys(input[key]).forEach((k) => {\n input[key][k] = decoder(input[key][k]);\n });\n }\n }\n }\n }\n });\n\n return input;\n};\n\ndecoders.AcceptFeedMemberInviteResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n member: { type: 'FeedMemberResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.AcceptFollowResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n follow: { type: 'FollowResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ActionLogResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n review_queue_item: { type: 'ReviewQueueItemResponse', isSingle: true },\n\n target_user: { type: 'UserResponse', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ActivityAddedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n activity: { type: 'ActivityResponse', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponseCommonFields', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ActivityDeletedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n activity: { type: 'ActivityResponse', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponseCommonFields', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ActivityFeedbackEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponseCommonFields', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ActivityMarkEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponseCommonFields', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ActivityMarkedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ActivityPinResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n activity: { type: 'ActivityResponse', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ActivityPinnedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n pinned_activity: { type: 'PinActivityResponse', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponseCommonFields', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ActivityReactionAddedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n activity: { type: 'ActivityResponse', isSingle: true },\n\n reaction: { type: 'FeedsReactionResponse', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponseCommonFields', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ActivityReactionDeletedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n activity: { type: 'ActivityResponse', isSingle: true },\n\n reaction: { type: 'FeedsReactionResponse', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponseCommonFields', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ActivityReactionUpdatedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n activity: { type: 'ActivityResponse', isSingle: true },\n\n reaction: { type: 'FeedsReactionResponse', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponseCommonFields', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ActivityRemovedFromFeedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n activity: { type: 'ActivityResponse', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponseCommonFields', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ActivityResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n comments: { type: 'CommentResponse', isSingle: false },\n\n latest_reactions: { type: 'FeedsReactionResponse', isSingle: false },\n\n mentioned_users: { type: 'UserResponse', isSingle: false },\n\n own_bookmarks: { type: 'BookmarkResponse', isSingle: false },\n\n own_reactions: { type: 'FeedsReactionResponse', isSingle: false },\n\n collections: { type: 'EnrichedCollectionResponse', isSingle: false },\n\n reaction_groups: { type: 'ReactionGroupResponse', isSingle: false },\n\n user: { type: 'UserResponse', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n edited_at: { type: 'DatetimeType', isSingle: true },\n\n expires_at: { type: 'DatetimeType', isSingle: true },\n\n current_feed: { type: 'FeedResponse', isSingle: true },\n\n parent: { type: 'ActivityResponse', isSingle: true },\n\n poll: { type: 'PollResponseData', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ActivitySelectorConfigResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n cutoff_time: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ActivityUnpinnedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n pinned_activity: { type: 'PinActivityResponse', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponseCommonFields', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ActivityUpdatedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n activity: { type: 'ActivityResponse', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponseCommonFields', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.AddActivityResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n activity: { type: 'ActivityResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.AddBookmarkResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n bookmark: { type: 'BookmarkResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.AddCommentReactionResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n comment: { type: 'CommentResponse', isSingle: true },\n\n reaction: { type: 'FeedsReactionResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.AddCommentResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n comment: { type: 'CommentResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.AddCommentsBatchResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n comments: { type: 'CommentResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.AddReactionResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n activity: { type: 'ActivityResponse', isSingle: true },\n\n reaction: { type: 'FeedsReactionResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.AggregatedActivityResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n activities: { type: 'ActivityResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.AnyEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.AppResponseFields = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n event_hooks: { type: 'EventHook', isSingle: false },\n\n call_types: { type: 'CallType', isSingle: false },\n\n channel_configs: { type: 'ChannelConfig', isSingle: false },\n\n push_notifications: { type: 'PushNotificationFields', isSingle: true },\n\n revoke_tokens_issued_before: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.AsyncBulkImageModerationEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n finished_at: { type: 'DatetimeType', isSingle: true },\n\n started_at: { type: 'DatetimeType', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.AsyncExportChannelsEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n finished_at: { type: 'DatetimeType', isSingle: true },\n\n started_at: { type: 'DatetimeType', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.AsyncExportErrorEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n finished_at: { type: 'DatetimeType', isSingle: true },\n\n started_at: { type: 'DatetimeType', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.AsyncExportModerationLogsEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n finished_at: { type: 'DatetimeType', isSingle: true },\n\n started_at: { type: 'DatetimeType', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.AsyncExportUsersEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n finished_at: { type: 'DatetimeType', isSingle: true },\n\n started_at: { type: 'DatetimeType', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.AutomodDetails = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n result: { type: 'MessageModerationResult', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.Ban = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n expires: { type: 'DatetimeType', isSingle: true },\n\n channel: { type: 'Channel', isSingle: true },\n\n created_by: { type: 'User', isSingle: true },\n\n target: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.BanResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n expires: { type: 'DatetimeType', isSingle: true },\n\n banned_by: { type: 'UserResponse', isSingle: true },\n\n channel: { type: 'ChannelResponse', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.BlockListResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.BlockUsersResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.BlockedUserEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n\n blocked_by_user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.BlockedUserResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n blocked_user: { type: 'UserResponse', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.BookmarkAddedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n bookmark: { type: 'BookmarkResponse', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponseCommonFields', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.BookmarkDeletedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n bookmark: { type: 'BookmarkResponse', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponseCommonFields', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.BookmarkFolderDeletedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n bookmark_folder: { type: 'BookmarkFolderResponse', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponseCommonFields', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.BookmarkFolderResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponseCommonFields', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.BookmarkFolderUpdatedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n bookmark_folder: { type: 'BookmarkFolderResponse', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponseCommonFields', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.BookmarkResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n activity: { type: 'ActivityResponse', isSingle: true },\n\n user: { type: 'UserResponseCommonFields', isSingle: true },\n\n folder: { type: 'BookmarkFolderResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.BookmarkUpdatedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n bookmark: { type: 'BookmarkResponse', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponseCommonFields', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallAcceptedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n call: { type: 'CallResponse', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallClosedCaptionsFailedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallClosedCaptionsStartedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallClosedCaptionsStoppedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallCreatedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n members: { type: 'MemberResponse', isSingle: false },\n\n call: { type: 'CallResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallDeletedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n call: { type: 'CallResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallEndedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n call: { type: 'CallResponse', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallFrameRecordingFailedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n call: { type: 'CallResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallFrameRecordingFrameReadyEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n captured_at: { type: 'DatetimeType', isSingle: true },\n\n created_at: { type: 'DatetimeType', isSingle: true },\n\n users: { type: 'UserResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallFrameRecordingStartedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n call: { type: 'CallResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallFrameRecordingStoppedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n call: { type: 'CallResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallHLSBroadcastingFailedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallHLSBroadcastingStartedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n call: { type: 'CallResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallHLSBroadcastingStoppedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallLiveStartedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n call: { type: 'CallResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallMemberAddedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n members: { type: 'MemberResponse', isSingle: false },\n\n call: { type: 'CallResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallMemberRemovedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n call: { type: 'CallResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallMemberUpdatedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n members: { type: 'MemberResponse', isSingle: false },\n\n call: { type: 'CallResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallMemberUpdatedPermissionEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n members: { type: 'MemberResponse', isSingle: false },\n\n call: { type: 'CallResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallMissedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n members: { type: 'MemberResponse', isSingle: false },\n\n call: { type: 'CallResponse', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallModerationBlurEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallModerationWarningEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallNotificationEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n members: { type: 'MemberResponse', isSingle: false },\n\n call: { type: 'CallResponse', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallParticipantResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n joined_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallParticipantTimeline = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n timestamp: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallReactionEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n reaction: { type: 'ReactionResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallRecording = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n end_time: { type: 'DatetimeType', isSingle: true },\n\n start_time: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallRecordingFailedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallRecordingReadyEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n call_recording: { type: 'CallRecording', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallRecordingStartedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallRecordingStoppedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallRejectedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n call: { type: 'CallResponse', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallReportResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n ended_at: { type: 'DatetimeType', isSingle: true },\n\n started_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n created_by: { type: 'UserResponse', isSingle: true },\n\n ended_at: { type: 'DatetimeType', isSingle: true },\n\n starts_at: { type: 'DatetimeType', isSingle: true },\n\n session: { type: 'CallSessionResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallRingEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n members: { type: 'MemberResponse', isSingle: false },\n\n call: { type: 'CallResponse', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallRtmpBroadcastFailedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallRtmpBroadcastStartedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallRtmpBroadcastStoppedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallSessionEndedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n call: { type: 'CallResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallSessionParticipantCountsUpdatedEvent = (\n input?: Record<string, any>,\n) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallSessionParticipantJoinedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n participant: { type: 'CallParticipantResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallSessionParticipantLeftEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n participant: { type: 'CallParticipantResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallSessionResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n participants: { type: 'CallParticipantResponse', isSingle: false },\n\n accepted_by: { type: 'DatetimeType', isSingle: false },\n\n missed_by: { type: 'DatetimeType', isSingle: false },\n\n rejected_by: { type: 'DatetimeType', isSingle: false },\n\n ended_at: { type: 'DatetimeType', isSingle: true },\n\n live_ended_at: { type: 'DatetimeType', isSingle: true },\n\n live_started_at: { type: 'DatetimeType', isSingle: true },\n\n started_at: { type: 'DatetimeType', isSingle: true },\n\n timer_ends_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallSessionStartedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n call: { type: 'CallResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallStateResponseFields = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n members: { type: 'MemberResponse', isSingle: false },\n\n call: { type: 'CallResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallStatsParticipant = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n sessions: { type: 'CallStatsParticipantSession', isSingle: false },\n\n latest_activity_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallStatsParticipantSession = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n ended_at: { type: 'DatetimeType', isSingle: true },\n\n started_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallStatsReportReadyEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallStatsReportSummaryResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n first_stats_time: { type: 'DatetimeType', isSingle: true },\n\n created_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallTranscription = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n end_time: { type: 'DatetimeType', isSingle: true },\n\n start_time: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallTranscriptionFailedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallTranscriptionReadyEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n call_transcription: { type: 'CallTranscription', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallTranscriptionStartedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallTranscriptionStoppedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallType = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallTypeResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallUpdatedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n call: { type: 'CallResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallUserFeedbackSubmittedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallUserMutedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CampaignCompletedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n\n campaign: { type: 'CampaignResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CampaignResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n segments: { type: 'Segment', isSingle: false },\n\n users: { type: 'UserResponse', isSingle: false },\n\n stats: { type: 'CampaignStatsResponse', isSingle: true },\n\n scheduled_for: { type: 'DatetimeType', isSingle: true },\n\n stop_at: { type: 'DatetimeType', isSingle: true },\n\n sender: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CampaignStartedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n\n campaign: { type: 'CampaignResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CampaignStatsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n stats_completed_at: { type: 'DatetimeType', isSingle: true },\n\n stats_started_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.Channel = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n last_message_at: { type: 'DatetimeType', isSingle: true },\n\n message_count_updated_at: { type: 'DatetimeType', isSingle: true },\n\n active_live_locations: { type: 'SharedLocation', isSingle: false },\n\n invites: { type: 'ChannelMember', isSingle: false },\n\n members: { type: 'ChannelMember', isSingle: false },\n\n config: { type: 'ChannelConfig', isSingle: true },\n\n created_by: { type: 'User', isSingle: true },\n\n members_lookup: { type: 'ChannelMemberLookup', isSingle: false },\n\n truncated_by: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ChannelConfig = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ChannelConfigWithInfo = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n commands: { type: 'Command', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ChannelCreatedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ChannelDeletedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n channel: { type: 'ChannelResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ChannelFrozenEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ChannelHiddenEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n channel: { type: 'ChannelResponse', isSingle: true },\n\n user: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ChannelMember = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n archived_at: { type: 'DatetimeType', isSingle: true },\n\n ban_expires: { type: 'DatetimeType', isSingle: true },\n\n created_at: { type: 'DatetimeType', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n invite_accepted_at: { type: 'DatetimeType', isSingle: true },\n\n invite_rejected_at: { type: 'DatetimeType', isSingle: true },\n\n pinned_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ChannelMemberLookup = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n archived_at: { type: 'DatetimeType', isSingle: true },\n\n ban_expires: { type: 'DatetimeType', isSingle: true },\n\n pinned_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ChannelMemberResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n archived_at: { type: 'DatetimeType', isSingle: true },\n\n ban_expires: { type: 'DatetimeType', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n invite_accepted_at: { type: 'DatetimeType', isSingle: true },\n\n invite_rejected_at: { type: 'DatetimeType', isSingle: true },\n\n pinned_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ChannelMute = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n expires: { type: 'DatetimeType', isSingle: true },\n\n channel: { type: 'ChannelResponse', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ChannelMutedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ChannelPushPreferencesResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n disabled_until: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ChannelResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n hide_messages_before: { type: 'DatetimeType', isSingle: true },\n\n last_message_at: { type: 'DatetimeType', isSingle: true },\n\n mute_expires_at: { type: 'DatetimeType', isSingle: true },\n\n truncated_at: { type: 'DatetimeType', isSingle: true },\n\n members: { type: 'ChannelMemberResponse', isSingle: false },\n\n config: { type: 'ChannelConfigWithInfo', isSingle: true },\n\n created_by: { type: 'UserResponse', isSingle: true },\n\n truncated_by: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ChannelStateResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n members: { type: 'ChannelMemberResponse', isSingle: false },\n\n messages: { type: 'MessageResponse', isSingle: false },\n\n pinned_messages: { type: 'MessageResponse', isSingle: false },\n\n threads: { type: 'ThreadStateResponse', isSingle: false },\n\n hide_messages_before: { type: 'DatetimeType', isSingle: true },\n\n active_live_locations: {\n type: 'SharedLocationResponseData',\n isSingle: false,\n },\n\n pending_messages: { type: 'PendingMessageResponse', isSingle: false },\n\n read: { type: 'ReadStateResponse', isSingle: false },\n\n watchers: { type: 'UserResponse', isSingle: false },\n\n channel: { type: 'ChannelResponse', isSingle: true },\n\n draft: { type: 'DraftResponse', isSingle: true },\n\n membership: { type: 'ChannelMemberResponse', isSingle: true },\n\n push_preferences: {\n type: 'ChannelPushPreferencesResponse',\n isSingle: true,\n },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ChannelStateResponseFields = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n members: { type: 'ChannelMemberResponse', isSingle: false },\n\n messages: { type: 'MessageResponse', isSingle: false },\n\n pinned_messages: { type: 'MessageResponse', isSingle: false },\n\n threads: { type: 'ThreadStateResponse', isSingle: false },\n\n hide_messages_before: { type: 'DatetimeType', isSingle: true },\n\n active_live_locations: {\n type: 'SharedLocationResponseData',\n isSingle: false,\n },\n\n pending_messages: { type: 'PendingMessageResponse', isSingle: false },\n\n read: { type: 'ReadStateResponse', isSingle: false },\n\n watchers: { type: 'UserResponse', isSingle: false },\n\n channel: { type: 'ChannelResponse', isSingle: true },\n\n draft: { type: 'DraftResponse', isSingle: true },\n\n membership: { type: 'ChannelMemberResponse', isSingle: true },\n\n push_preferences: {\n type: 'ChannelPushPreferencesResponse',\n isSingle: true,\n },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ChannelTruncatedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n channel: { type: 'ChannelResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ChannelTypeConfig = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n commands: { type: 'Command', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ChannelUnFrozenEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ChannelUnmutedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ChannelUpdatedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n channel: { type: 'ChannelResponse', isSingle: true },\n\n message: { type: 'Message', isSingle: true },\n\n user: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ChannelVisibleEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ChatActivityStatsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n messages: { type: 'MessageStatsResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CheckResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n item: { type: 'ReviewQueueItemResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ClosedCaptionEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CollectionResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.Command = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CommentAddedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n activity: { type: 'ActivityResponse', isSingle: true },\n\n comment: { type: 'CommentResponse', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponseCommonFields', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CommentDeletedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n comment: { type: 'CommentResponse', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponseCommonFields', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CommentReactionAddedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n activity: { type: 'ActivityResponse', isSingle: true },\n\n comment: { type: 'CommentResponse', isSingle: true },\n\n reaction: { type: 'FeedsReactionResponse', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponseCommonFields', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CommentReactionDeletedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n comment: { type: 'CommentResponse', isSingle: true },\n\n reaction: { type: 'FeedsReactionResponse', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CommentReactionUpdatedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n activity: { type: 'ActivityResponse', isSingle: true },\n\n comment: { type: 'CommentResponse', isSingle: true },\n\n reaction: { type: 'FeedsReactionResponse', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponseCommonFields', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CommentResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n mentioned_users: { type: 'UserResponse', isSingle: false },\n\n own_reactions: { type: 'FeedsReactionResponse', isSingle: false },\n\n user: { type: 'UserResponse', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n latest_reactions: { type: 'FeedsReactionResponse', isSingle: false },\n\n reaction_groups: { type: 'ReactionGroupResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CommentUpdatedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n comment: { type: 'CommentResponse', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponseCommonFields', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ConfigResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CountByMinuteResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n start_ts: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CreateBlockListResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n blocklist: { type: 'BlockListResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CreateCallTypeResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CreateChannelTypeResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CreateCollectionsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n collections: { type: 'CollectionResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CreateCommandResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n command: { type: 'Command', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CreateFeedGroupResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n feed_group: { type: 'FeedGroupResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CreateFeedViewResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n feed_view: { type: 'FeedViewResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CreateFeedsBatchResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n feeds: { type: 'FeedResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CreateGuestResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CreateImportResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n import_task: { type: 'ImportTask', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CreateMembershipLevelResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n membership_level: { type: 'MembershipLevelResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CreateRoleResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n role: { type: 'Role', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CreateSIPTrunkResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n sip_trunk: { type: 'SIPTrunkResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CustomCheckResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n item: { type: 'ReviewQueueItemResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CustomVideoEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.DeactivateUserResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.DeleteActivityReactionResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n activity: { type: 'ActivityResponse', isSingle: true },\n\n reaction: { type: 'FeedsReactionResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.DeleteBookmarkResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n bookmark: { type: 'BookmarkResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.DeleteCallResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n call: { type: 'CallResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.DeleteChannelResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n channel: { type: 'ChannelResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.DeleteCommentReactionResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n comment: { type: 'CommentResponse', isSingle: true },\n\n reaction: { type: 'FeedsReactionResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.DeleteCommentResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n activity: { type: 'ActivityResponse', isSingle: true },\n\n comment: { type: 'CommentResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.DeleteMessageResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n message: { type: 'MessageResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.DeleteReactionResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n message: { type: 'MessageResponse', isSingle: true },\n\n reaction: { type: 'ReactionResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.Device = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.DeviceResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.DraftPayloadResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n mentioned_users: { type: 'UserResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.DraftResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n message: { type: 'DraftPayloadResponse', isSingle: true },\n\n channel: { type: 'ChannelResponse', isSingle: true },\n\n parent_message: { type: 'MessageResponse', isSingle: true },\n\n quoted_message: { type: 'MessageResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.EgressRTMPResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n started_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.EnrichedCollectionResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.EntityCreatorResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n ban_expires: { type: 'DatetimeType', isSingle: true },\n\n deactivated_at: { type: 'DatetimeType', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n last_active: { type: 'DatetimeType', isSingle: true },\n\n revoke_tokens_issued_before: { type: 'DatetimeType', isSingle: true },\n\n devices: { type: 'DeviceResponse', isSingle: false },\n\n push_notifications: {\n type: 'PushNotificationSettingsResponse',\n isSingle: true,\n },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.EventHook = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.EventResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n event: { type: 'WSEvent', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ExportUserResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n messages: { type: 'MessageResponse', isSingle: false },\n\n reactions: { type: 'ReactionResponse', isSingle: false },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.FeedCreatedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n members: { type: 'FeedMemberResponse', isSingle: false },\n\n feed: { type: 'FeedResponse', isSingle: true },\n\n user: { type: 'UserResponseCommonFields', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.FeedDeletedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponseCommonFields', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.FeedGroupChangedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponseCommonFields', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.FeedGroupDeletedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.FeedGroupResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n activity_selectors: {\n type: 'ActivitySelectorConfigResponse',\n isSingle: false,\n },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.FeedMemberAddedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n member: { type: 'FeedMemberResponse', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponseCommonFields', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.FeedMemberRemovedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponseCommonFields', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.FeedMemberResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n\n invite_accepted_at: { type: 'DatetimeType', isSingle: true },\n\n invite_rejected_at: { type: 'DatetimeType', isSingle: true },\n\n membership_level: { type: 'MembershipLevelResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.FeedMemberUpdatedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n member: { type: 'FeedMemberResponse', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponseCommonFields', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.FeedResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n created_by: { type: 'UserResponse', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n own_follows: { type: 'FollowResponse', isSingle: false },\n\n own_membership: { type: 'FeedMemberResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.FeedSuggestionResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n created_by: { type: 'UserResponse', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n own_follows: { type: 'FollowResponse', isSingle: false },\n\n own_membership: { type: 'FeedMemberResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.FeedUpdatedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n feed: { type: 'FeedResponse', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponseCommonFields', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.FeedViewResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n last_used_at: { type: 'DatetimeType', isSingle: true },\n\n activity_selectors: {\n type: 'ActivitySelectorConfigResponse',\n isSingle: false,\n },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.FeedsReactionResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.FlagDetails = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n automod: { type: 'AutomodDetails', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.FlagFeedback = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.FlagUpdatedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n\n created_by: { type: 'UserResponse', isSingle: true },\n\n message: { type: 'MessageResponse', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.FollowBatchResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n follows: { type: 'FollowResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.FollowCreatedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n follow: { type: 'FollowResponse', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.FollowDeletedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n follow: { type: 'FollowResponse', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.FollowResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n source_feed: { type: 'FeedResponse', isSingle: true },\n\n target_feed: { type: 'FeedResponse', isSingle: true },\n\n request_accepted_at: { type: 'DatetimeType', isSingle: true },\n\n request_rejected_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.FollowUpdatedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n follow: { type: 'FollowResponse', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.FullUserResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n channel_mutes: { type: 'ChannelMute', isSingle: false },\n\n devices: { type: 'DeviceResponse', isSingle: false },\n\n mutes: { type: 'UserMuteResponse', isSingle: false },\n\n ban_expires: { type: 'DatetimeType', isSingle: true },\n\n deactivated_at: { type: 'DatetimeType', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n last_active: { type: 'DatetimeType', isSingle: true },\n\n revoke_tokens_issued_before: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetActiveCallsStatusResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n end_time: { type: 'DatetimeType', isSingle: true },\n\n start_time: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetActivityResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n activity: { type: 'ActivityResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetApplicationResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n app: { type: 'AppResponseFields', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetBlockListResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n blocklist: { type: 'BlockListResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetBlockedUsersResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n blocks: { type: 'BlockedUserResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetCallReportResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n video_reactions: { type: 'VideoReactionsResponse', isSingle: false },\n\n chat_activity: { type: 'ChatActivityStatsResponse', isSingle: true },\n\n session: { type: 'CallSessionResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetCallResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n members: { type: 'MemberResponse', isSingle: false },\n\n call: { type: 'CallResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetCallTypeResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetChannelTypeResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n commands: { type: 'Command', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetCommandResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetCommentRepliesResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n comments: { type: 'ThreadedCommentResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetCommentResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n comment: { type: 'CommentResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetCommentsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n comments: { type: 'ThreadedCommentResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetConfigResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n config: { type: 'ConfigResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetDraftResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n draft: { type: 'DraftResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetFeedGroupResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n feed_group: { type: 'FeedGroupResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetFeedViewResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n feed_view: { type: 'FeedViewResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetFollowSuggestionsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n suggestions: { type: 'FeedSuggestionResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetImportResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n import_task: { type: 'ImportTask', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetManyMessagesResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n messages: { type: 'MessageResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetMessageResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n message: { type: 'MessageWithChannelResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetModerationRuleResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n rule: { type: 'ModerationRuleV2Response', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetOrCreateCallResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n members: { type: 'MemberResponse', isSingle: false },\n\n call: { type: 'CallResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetOrCreateFeedGroupResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n feed_group: { type: 'FeedGroupResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetOrCreateFeedResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n activities: { type: 'ActivityResponse', isSingle: false },\n\n aggregated_activities: {\n type: 'AggregatedActivityResponse',\n isSingle: false,\n },\n\n followers: { type: 'FollowResponse', isSingle: false },\n\n following: { type: 'FollowResponse', isSingle: false },\n\n members: { type: 'FeedMemberResponse', isSingle: false },\n\n pinned_activities: { type: 'ActivityPinResponse', isSingle: false },\n\n feed: { type: 'FeedResponse', isSingle: true },\n\n notification_status: { type: 'NotificationStatusResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetOrCreateFeedViewResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n feed_view: { type: 'FeedViewResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetPushTemplatesResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n templates: { type: 'PushTemplate', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetReactionsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n reactions: { type: 'ReactionResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetRepliesResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n messages: { type: 'MessageResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetReviewQueueItemResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n item: { type: 'ReviewQueueItemResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetSegmentResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n segment: { type: 'SegmentResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetTaskResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetThreadResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n thread: { type: 'ThreadStateResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GoLiveResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n call: { type: 'CallResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ImportTask = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n history: { type: 'ImportTaskHistory', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ImportTaskHistory = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.KickedUserEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n\n kicked_by_user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ListBlockListResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n blocklists: { type: 'BlockListResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ListCallTypeResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n call_types: { type: 'CallTypeResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ListChannelTypesResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n channel_types: { type: 'ChannelTypeConfig', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ListCommandsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n commands: { type: 'Command', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ListDevicesResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n devices: { type: 'DeviceResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ListFeedGroupsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n groups: { type: 'FeedGroupResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ListFeedViewsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n views: { type: 'FeedViewResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ListImportsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n import_tasks: { type: 'ImportTask', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ListPushProvidersResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n push_providers: { type: 'PushProviderResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ListRecordingsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n recordings: { type: 'CallRecording', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ListRolesResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n roles: { type: 'Role', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ListSIPInboundRoutingRuleResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n sip_inbound_routing_rules: {\n type: 'SIPInboundRoutingRuleResponse',\n isSingle: false,\n },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ListSIPTrunksResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n sip_trunks: { type: 'SIPTrunkResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ListTranscriptionsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n transcriptions: { type: 'CallTranscription', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.MarkReadResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n event: { type: 'MessageReadEvent', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.MemberAddedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n member: { type: 'ChannelMember', isSingle: true },\n\n user: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.MemberRemovedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n member: { type: 'ChannelMember', isSingle: true },\n\n user: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.MemberResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.MemberUpdatedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n member: { type: 'ChannelMember', isSingle: true },\n\n user: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.MembersResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n members: { type: 'ChannelMemberResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.MembershipLevelResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.Message = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n latest_reactions: { type: 'Reaction', isSingle: false },\n\n mentioned_users: { type: 'User', isSingle: false },\n\n own_reactions: { type: 'Reaction', isSingle: false },\n\n reaction_groups: { type: 'ReactionGroupResponse', isSingle: false },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n message_text_updated_at: { type: 'DatetimeType', isSingle: true },\n\n pin_expires: { type: 'DatetimeType', isSingle: true },\n\n pinned_at: { type: 'DatetimeType', isSingle: true },\n\n thread_participants: { type: 'User', isSingle: false },\n\n member: { type: 'ChannelMember', isSingle: true },\n\n pinned_by: { type: 'User', isSingle: true },\n\n poll: { type: 'Poll', isSingle: true },\n\n quoted_message: { type: 'Message', isSingle: true },\n\n reminder: { type: 'MessageReminder', isSingle: true },\n\n shared_location: { type: 'SharedLocation', isSingle: true },\n\n user: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.MessageDeletedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n thread_participants: { type: 'User', isSingle: false },\n\n message: { type: 'Message', isSingle: true },\n\n user: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.MessageFlagResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n approved_at: { type: 'DatetimeType', isSingle: true },\n\n rejected_at: { type: 'DatetimeType', isSingle: true },\n\n reviewed_at: { type: 'DatetimeType', isSingle: true },\n\n details: { type: 'FlagDetails', isSingle: true },\n\n message: { type: 'Message', isSingle: true },\n\n moderation_feedback: { type: 'FlagFeedback', isSingle: true },\n\n moderation_result: { type: 'MessageModerationResult', isSingle: true },\n\n reviewed_by: { type: 'UserResponse', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.MessageFlaggedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n thread_participants: { type: 'User', isSingle: false },\n\n message: { type: 'Message', isSingle: true },\n\n user: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.MessageHistoryEntryResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n message_updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.MessageModerationResult = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.MessageNewEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n thread_participants: { type: 'User', isSingle: false },\n\n message: { type: 'Message', isSingle: true },\n\n user: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.MessageReadEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n channel_last_message_at: { type: 'DatetimeType', isSingle: true },\n\n channel: { type: 'ChannelResponse', isSingle: true },\n\n thread: { type: 'ThreadResponse', isSingle: true },\n\n user: { type: 'UserResponseCommonFields', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.MessageReminder = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n remind_at: { type: 'DatetimeType', isSingle: true },\n\n channel: { type: 'Channel', isSingle: true },\n\n message: { type: 'Message', isSingle: true },\n\n user: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.MessageResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n latest_reactions: { type: 'ReactionResponse', isSingle: false },\n\n mentioned_users: { type: 'UserResponse', isSingle: false },\n\n own_reactions: { type: 'ReactionResponse', isSingle: false },\n\n user: { type: 'UserResponse', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n message_text_updated_at: { type: 'DatetimeType', isSingle: true },\n\n pin_expires: { type: 'DatetimeType', isSingle: true },\n\n pinned_at: { type: 'DatetimeType', isSingle: true },\n\n thread_participants: { type: 'UserResponse', isSingle: false },\n\n draft: { type: 'DraftResponse', isSingle: true },\n\n member: { type: 'ChannelMemberResponse', isSingle: true },\n\n pinned_by: { type: 'UserResponse', isSingle: true },\n\n poll: { type: 'PollResponseData', isSingle: true },\n\n quoted_message: { type: 'MessageResponse', isSingle: true },\n\n reaction_groups: { type: 'ReactionGroupResponse', isSingle: false },\n\n reminder: { type: 'ReminderResponseData', isSingle: true },\n\n shared_location: { type: 'SharedLocationResponseData', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.MessageStatsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n count_over_time: { type: 'CountByMinuteResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.MessageUnblockedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n thread_participants: { type: 'User', isSingle: false },\n\n message: { type: 'Message', isSingle: true },\n\n user: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.MessageUndeletedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n thread_participants: { type: 'User', isSingle: false },\n\n message: { type: 'Message', isSingle: true },\n\n user: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.MessageUpdatedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n thread_participants: { type: 'User', isSingle: false },\n\n message: { type: 'Message', isSingle: true },\n\n user: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.MessageWithChannelResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n latest_reactions: { type: 'ReactionResponse', isSingle: false },\n\n mentioned_users: { type: 'UserResponse', isSingle: false },\n\n own_reactions: { type: 'ReactionResponse', isSingle: false },\n\n channel: { type: 'ChannelResponse', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n message_text_updated_at: { type: 'DatetimeType', isSingle: true },\n\n pin_expires: { type: 'DatetimeType', isSingle: true },\n\n pinned_at: { type: 'DatetimeType', isSingle: true },\n\n thread_participants: { type: 'UserResponse', isSingle: false },\n\n draft: { type: 'DraftResponse', isSingle: true },\n\n member: { type: 'ChannelMemberResponse', isSingle: true },\n\n pinned_by: { type: 'UserResponse', isSingle: true },\n\n poll: { type: 'PollResponseData', isSingle: true },\n\n quoted_message: { type: 'MessageResponse', isSingle: true },\n\n reaction_groups: { type: 'ReactionGroupResponse', isSingle: false },\n\n reminder: { type: 'ReminderResponseData', isSingle: true },\n\n shared_location: { type: 'SharedLocationResponseData', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ModerationCheckCompletedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ModerationCustomActionEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n review_queue_item: { type: 'ReviewQueueItemResponse', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n\n message: { type: 'MessageResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ModerationFlagResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n review_queue_item: { type: 'ReviewQueueItemResponse', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ModerationFlaggedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ModerationMarkReviewedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n item: { type: 'ReviewQueueItemResponse', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n\n message: { type: 'MessageResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ModerationRuleV2Response = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.MuteChannelResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n channel_mutes: { type: 'ChannelMute', isSingle: false },\n\n channel_mute: { type: 'ChannelMute', isSingle: true },\n\n own_user: { type: 'OwnUser', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.MuteResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n mutes: { type: 'UserMute', isSingle: false },\n\n own_user: { type: 'OwnUser', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.NotificationFeedUpdatedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n\n aggregated_activities: {\n type: 'AggregatedActivityResponse',\n isSingle: false,\n },\n\n notification_status: { type: 'NotificationStatusResponse', isSingle: true },\n\n user: { type: 'UserResponseCommonFields', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.NotificationMarkUnreadEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n last_read_at: { type: 'DatetimeType', isSingle: true },\n\n channel: { type: 'ChannelResponse', isSingle: true },\n\n user: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.NotificationStatusResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n last_read_at: { type: 'DatetimeType', isSingle: true },\n\n last_seen_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.OwnUser = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n channel_mutes: { type: 'ChannelMute', isSingle: false },\n\n devices: { type: 'Device', isSingle: false },\n\n mutes: { type: 'UserMute', isSingle: false },\n\n deactivated_at: { type: 'DatetimeType', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n last_active: { type: 'DatetimeType', isSingle: true },\n\n last_engaged_at: { type: 'DatetimeType', isSingle: true },\n\n push_preferences: { type: 'PushPreferences', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.OwnUserResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n channel_mutes: { type: 'ChannelMute', isSingle: false },\n\n devices: { type: 'DeviceResponse', isSingle: false },\n\n mutes: { type: 'UserMuteResponse', isSingle: false },\n\n deactivated_at: { type: 'DatetimeType', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n last_active: { type: 'DatetimeType', isSingle: true },\n\n revoke_tokens_issued_before: { type: 'DatetimeType', isSingle: true },\n\n push_preferences: { type: 'PushPreferencesResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ParticipantCountByMinuteResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n start_ts: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ParticipantCountOverTimeResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n by_minute: { type: 'ParticipantCountByMinuteResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ParticipantSeriesTimeframe = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n since: { type: 'DatetimeType', isSingle: true },\n\n until: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.PendingMessageEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n\n channel: { type: 'Channel', isSingle: true },\n\n message: { type: 'Message', isSingle: true },\n\n user: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.PendingMessageResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n channel: { type: 'ChannelResponse', isSingle: true },\n\n message: { type: 'MessageResponse', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.PermissionRequestEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.PinActivityResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n activity: { type: 'ActivityResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.Poll = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n latest_answers: { type: 'PollVote', isSingle: false },\n\n own_votes: { type: 'PollVote', isSingle: false },\n\n created_by: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.PollResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n poll: { type: 'PollResponseData', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.PollResponseData = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n latest_answers: { type: 'PollVoteResponseData', isSingle: false },\n\n own_votes: { type: 'PollVoteResponseData', isSingle: false },\n\n created_by: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.PollVote = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.PollVoteResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n vote: { type: 'PollVoteResponseData', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.PollVoteResponseData = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.PollVotesResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n votes: { type: 'PollVoteResponseData', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.PushNotificationFields = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n providers: { type: 'PushProvider', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.PushNotificationSettingsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n disabled_until: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.PushPreferences = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n disabled_until: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.PushPreferencesResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n disabled_until: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.PushProvider = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n disabled_at: { type: 'DatetimeType', isSingle: true },\n\n push_templates: { type: 'PushTemplate', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.PushProviderResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n disabled_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.PushTemplate = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryActivitiesResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n activities: { type: 'ActivityResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryActivityReactionsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n reactions: { type: 'FeedsReactionResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryBannedUsersResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n bans: { type: 'BanResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryBookmarkFoldersResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n bookmark_folders: { type: 'BookmarkFolderResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryBookmarksResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n bookmarks: { type: 'BookmarkResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryCallMembersResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n members: { type: 'MemberResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryCallParticipantsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n members: { type: 'MemberResponse', isSingle: false },\n\n participants: { type: 'CallParticipantResponse', isSingle: false },\n\n call: { type: 'CallResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryCallSessionParticipantStatsResponse = (\n input?: Record<string, any>,\n) => {\n const typeMappings: TypeMapping = {\n participants: { type: 'CallStatsParticipant', isSingle: false },\n\n call_ended_at: { type: 'DatetimeType', isSingle: true },\n\n call_started_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryCallSessionParticipantStatsTimelineResponse = (\n input?: Record<string, any>,\n) => {\n const typeMappings: TypeMapping = {\n events: { type: 'CallParticipantTimeline', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryCallStatsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n reports: { type: 'CallStatsReportSummaryResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryCallsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n calls: { type: 'CallStateResponseFields', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryCampaignsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n campaigns: { type: 'CampaignResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryChannelsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n channels: { type: 'ChannelStateResponseFields', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryCommentReactionsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n reactions: { type: 'FeedsReactionResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryCommentsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n comments: { type: 'CommentResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryDraftsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n drafts: { type: 'DraftResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryFeedMembersResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n members: { type: 'FeedMemberResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryFeedModerationTemplate = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryFeedModerationTemplatesResponse = (\n input?: Record<string, any>,\n) => {\n const typeMappings: TypeMapping = {\n templates: { type: 'QueryFeedModerationTemplate', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryFeedsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n feeds: { type: 'FeedResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryFollowsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n follows: { type: 'FollowResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryMembershipLevelsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n membership_levels: { type: 'MembershipLevelResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryMessageFlagsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n flags: { type: 'MessageFlagResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryMessageHistoryResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n message_history: { type: 'MessageHistoryEntryResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryModerationConfigsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n configs: { type: 'ConfigResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryModerationFlagsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n flags: { type: 'ModerationFlagResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryModerationLogsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n logs: { type: 'ActionLogResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryModerationRulesResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n rules: { type: 'ModerationRuleV2Response', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryPollsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n polls: { type: 'PollResponseData', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryReactionsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n reactions: { type: 'ReactionResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryRemindersResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n reminders: { type: 'ReminderResponseData', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QuerySegmentTargetsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n targets: { type: 'SegmentTargetResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QuerySegmentsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n segments: { type: 'SegmentResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryThreadsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n threads: { type: 'ThreadStateResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryUsersResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n users: { type: 'FullUserResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.Reaction = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ReactionDeletedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n thread_participants: { type: 'User', isSingle: false },\n\n message: { type: 'Message', isSingle: true },\n\n reaction: { type: 'Reaction', isSingle: true },\n\n user: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ReactionGroupResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n first_reaction_at: { type: 'DatetimeType', isSingle: true },\n\n last_reaction_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ReactionNewEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n thread_participants: { type: 'User', isSingle: false },\n\n message: { type: 'Message', isSingle: true },\n\n reaction: { type: 'Reaction', isSingle: true },\n\n user: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ReactionResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ReactionUpdatedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n message: { type: 'Message', isSingle: true },\n\n reaction: { type: 'Reaction', isSingle: true },\n\n user: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ReactivateUserResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ReadCollectionsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n collections: { type: 'CollectionResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ReadStateResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n last_read: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n\n last_delivered_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.RejectFeedMemberInviteResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n member: { type: 'FeedMemberResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.RejectFollowResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n follow: { type: 'FollowResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ReminderCreatedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n\n reminder: { type: 'ReminderResponseData', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ReminderDeletedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n\n reminder: { type: 'ReminderResponseData', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ReminderNotificationEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n\n reminder: { type: 'ReminderResponseData', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ReminderResponseData = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n remind_at: { type: 'DatetimeType', isSingle: true },\n\n channel: { type: 'ChannelResponse', isSingle: true },\n\n message: { type: 'MessageResponse', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ReminderUpdatedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n\n reminder: { type: 'ReminderResponseData', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ResolveSipInboundResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n sip_routing_rule: { type: 'SIPInboundRoutingRuleResponse', isSingle: true },\n\n sip_trunk: { type: 'SIPTrunkResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ReviewQueueItemNewEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n\n flags: { type: 'ModerationFlagResponse', isSingle: false },\n\n action: { type: 'ActionLogResponse', isSingle: true },\n\n review_queue_item: { type: 'ReviewQueueItemResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ReviewQueueItemResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n actions: { type: 'ActionLogResponse', isSingle: false },\n\n bans: { type: 'Ban', isSingle: false },\n\n flags: { type: 'ModerationFlagResponse', isSingle: false },\n\n completed_at: { type: 'DatetimeType', isSingle: true },\n\n reviewed_at: { type: 'DatetimeType', isSingle: true },\n\n assigned_to: { type: 'UserResponse', isSingle: true },\n\n call: { type: 'CallResponse', isSingle: true },\n\n entity_creator: { type: 'EntityCreatorResponse', isSingle: true },\n\n feeds_v2_reaction: { type: 'Reaction', isSingle: true },\n\n feeds_v3_activity: { type: 'ActivityResponse', isSingle: true },\n\n feeds_v3_comment: { type: 'CommentResponse', isSingle: true },\n\n message: { type: 'MessageResponse', isSingle: true },\n\n reaction: { type: 'Reaction', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ReviewQueueItemUpdatedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n\n flags: { type: 'ModerationFlagResponse', isSingle: false },\n\n action: { type: 'ActionLogResponse', isSingle: true },\n\n review_queue_item: { type: 'ReviewQueueItemResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.Role = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.SIPInboundRoutingRuleResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.SIPTrunkResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.SearchResult = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n message: { type: 'SearchResultMessage', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.SearchResultMessage = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n latest_reactions: { type: 'ReactionResponse', isSingle: false },\n\n mentioned_users: { type: 'UserResponse', isSingle: false },\n\n own_reactions: { type: 'ReactionResponse', isSingle: false },\n\n user: { type: 'UserResponse', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n message_text_updated_at: { type: 'DatetimeType', isSingle: true },\n\n pin_expires: { type: 'DatetimeType', isSingle: true },\n\n pinned_at: { type: 'DatetimeType', isSingle: true },\n\n thread_participants: { type: 'UserResponse', isSingle: false },\n\n channel: { type: 'ChannelResponse', isSingle: true },\n\n draft: { type: 'DraftResponse', isSingle: true },\n\n member: { type: 'ChannelMemberResponse', isSingle: true },\n\n pinned_by: { type: 'UserResponse', isSingle: true },\n\n poll: { type: 'PollResponseData', isSingle: true },\n\n quoted_message: { type: 'MessageResponse', isSingle: true },\n\n reaction_groups: { type: 'ReactionGroupResponse', isSingle: false },\n\n reminder: { type: 'ReminderResponseData', isSingle: true },\n\n shared_location: { type: 'SharedLocationResponseData', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.Segment = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.SegmentResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.SegmentTargetResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.SendMessageResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n message: { type: 'MessageResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.SendReactionResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n message: { type: 'MessageResponse', isSingle: true },\n\n reaction: { type: 'ReactionResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.SharedLocation = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n end_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.SharedLocationResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n end_at: { type: 'DatetimeType', isSingle: true },\n\n channel: { type: 'ChannelResponse', isSingle: true },\n\n message: { type: 'MessageResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.SharedLocationResponseData = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n end_at: { type: 'DatetimeType', isSingle: true },\n\n channel: { type: 'ChannelResponse', isSingle: true },\n\n message: { type: 'MessageResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.SharedLocationsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n active_live_locations: {\n type: 'SharedLocationResponseData',\n isSingle: false,\n },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.SingleFollowResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n follow: { type: 'FollowResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.StopLiveResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n call: { type: 'CallResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.StoriesFeedUpdatedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n\n activities: { type: 'ActivityResponse', isSingle: false },\n\n aggregated_activities: {\n type: 'AggregatedActivityResponse',\n isSingle: false,\n },\n\n user: { type: 'UserResponseCommonFields', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.SubmitActionResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n item: { type: 'ReviewQueueItemResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ThreadParticipant = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n last_read_at: { type: 'DatetimeType', isSingle: true },\n\n last_thread_message_at: { type: 'DatetimeType', isSingle: true },\n\n left_thread_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ThreadResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n last_message_at: { type: 'DatetimeType', isSingle: true },\n\n thread_participants: { type: 'ThreadParticipant', isSingle: false },\n\n channel: { type: 'ChannelResponse', isSingle: true },\n\n created_by: { type: 'UserResponse', isSingle: true },\n\n parent_message: { type: 'MessageResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ThreadStateResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n latest_replies: { type: 'MessageResponse', isSingle: false },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n last_message_at: { type: 'DatetimeType', isSingle: true },\n\n read: { type: 'ReadStateResponse', isSingle: false },\n\n thread_participants: { type: 'ThreadParticipant', isSingle: false },\n\n channel: { type: 'ChannelResponse', isSingle: true },\n\n created_by: { type: 'UserResponse', isSingle: true },\n\n draft: { type: 'DraftResponse', isSingle: true },\n\n parent_message: { type: 'MessageResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ThreadUpdatedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n thread: { type: 'ThreadResponse', isSingle: true },\n\n user: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ThreadedCommentResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n mentioned_users: { type: 'UserResponse', isSingle: false },\n\n own_reactions: { type: 'FeedsReactionResponse', isSingle: false },\n\n user: { type: 'UserResponse', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n latest_reactions: { type: 'FeedsReactionResponse', isSingle: false },\n\n replies: { type: 'ThreadedCommentResponse', isSingle: false },\n\n reaction_groups: { type: 'ReactionGroupResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.TruncateChannelResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n channel: { type: 'ChannelResponse', isSingle: true },\n\n message: { type: 'MessageResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UnblockedUserEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UnfollowBatchResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n follows: { type: 'FollowResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UnfollowResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n follow: { type: 'FollowResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UnpinActivityResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n activity: { type: 'ActivityResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UnreadCountsBatchResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n counts_by_user: { type: 'UnreadCountsResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UnreadCountsChannel = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n last_read: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UnreadCountsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n channels: { type: 'UnreadCountsChannel', isSingle: false },\n\n threads: { type: 'UnreadCountsThread', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UnreadCountsThread = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n last_read: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpdateActivityPartialResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n activity: { type: 'ActivityResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpdateActivityResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n activity: { type: 'ActivityResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpdateBlockListResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n blocklist: { type: 'BlockListResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpdateBookmarkFolderResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n bookmark_folder: { type: 'BookmarkFolderResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpdateBookmarkResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n bookmark: { type: 'BookmarkResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpdateCallMembersResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n members: { type: 'MemberResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpdateCallResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n members: { type: 'MemberResponse', isSingle: false },\n\n call: { type: 'CallResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpdateCallTypeResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpdateChannelPartialResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n members: { type: 'ChannelMemberResponse', isSingle: false },\n\n channel: { type: 'ChannelResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpdateChannelResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n members: { type: 'ChannelMemberResponse', isSingle: false },\n\n channel: { type: 'ChannelResponse', isSingle: true },\n\n message: { type: 'MessageResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpdateChannelTypeResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpdateCollectionsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n collections: { type: 'CollectionResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpdateCommandResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n command: { type: 'Command', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpdateCommentResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n comment: { type: 'CommentResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpdateFeedGroupResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n feed_group: { type: 'FeedGroupResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpdateFeedMembersResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n added: { type: 'FeedMemberResponse', isSingle: false },\n\n updated: { type: 'FeedMemberResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpdateFeedResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n feed: { type: 'FeedResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpdateFeedViewResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n feed_view: { type: 'FeedViewResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpdateFollowResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n follow: { type: 'FollowResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpdateMemberPartialResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n channel_member: { type: 'ChannelMemberResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpdateMembershipLevelResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n membership_level: { type: 'MembershipLevelResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpdateMessagePartialResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n message: { type: 'MessageResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpdateMessageResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n message: { type: 'MessageResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpdateReminderResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n reminder: { type: 'ReminderResponseData', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpdateSIPInboundRoutingRuleResponse = (\n input?: Record<string, any>,\n) => {\n const typeMappings: TypeMapping = {\n sip_inbound_routing_rule: {\n type: 'SIPInboundRoutingRuleResponse',\n isSingle: true,\n },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpdateSIPTrunkResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n sip_trunk: { type: 'SIPTrunkResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpdateThreadPartialResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n thread: { type: 'ThreadResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpdateUsersResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n users: { type: 'FullUserResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpdatedCallPermissionsEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpsertActivitiesResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n activities: { type: 'ActivityResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpsertCollectionsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n collections: { type: 'CollectionResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpsertConfigResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n config: { type: 'ConfigResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpsertModerationRuleResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n rule: { type: 'ModerationRuleV2Response', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpsertModerationTemplateResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpsertPushPreferencesResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n user_preferences: { type: 'PushPreferences', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpsertPushProviderResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n push_provider: { type: 'PushProviderResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpsertPushTemplateResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n template: { type: 'PushTemplate', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.User = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n ban_expires: { type: 'DatetimeType', isSingle: true },\n\n revoke_tokens_issued_before: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UserBannedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n created_by: { type: 'User', isSingle: true },\n\n expiration: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UserDeactivatedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n created_by: { type: 'User', isSingle: true },\n\n user: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UserDeletedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UserFlaggedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UserMessagesDeletedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponseCommonFields', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UserMute = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n expires: { type: 'DatetimeType', isSingle: true },\n\n target: { type: 'User', isSingle: true },\n\n user: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UserMuteResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n expires: { type: 'DatetimeType', isSingle: true },\n\n target: { type: 'UserResponse', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UserMutedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UserReactivatedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UserResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n ban_expires: { type: 'DatetimeType', isSingle: true },\n\n deactivated_at: { type: 'DatetimeType', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n last_active: { type: 'DatetimeType', isSingle: true },\n\n revoke_tokens_issued_before: { type: 'DatetimeType', isSingle: true },\n\n devices: { type: 'DeviceResponse', isSingle: false },\n\n push_notifications: {\n type: 'PushNotificationSettingsResponse',\n isSingle: true,\n },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UserResponseCommonFields = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n deactivated_at: { type: 'DatetimeType', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n last_active: { type: 'DatetimeType', isSingle: true },\n\n revoke_tokens_issued_before: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UserUnbannedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UserUnmutedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UserUnreadReminderEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UserUpdatedEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n received_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.VideoReactionOverTimeResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n by_minute: { type: 'CountByMinuteResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.VideoReactionsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n count_over_time: { type: 'VideoReactionOverTimeResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.WSEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n channel_last_message_at: { type: 'DatetimeType', isSingle: true },\n\n channel: { type: 'ChannelResponse', isSingle: true },\n\n created_by: { type: 'UserResponse', isSingle: true },\n\n me: { type: 'OwnUserResponse', isSingle: true },\n\n member: { type: 'ChannelMemberResponse', isSingle: true },\n\n message: { type: 'MessageResponse', isSingle: true },\n\n poll: { type: 'PollResponseData', isSingle: true },\n\n poll_vote: { type: 'PollVoteResponseData', isSingle: true },\n\n reaction: { type: 'ReactionResponse', isSingle: true },\n\n thread: { type: 'ThreadResponse', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.WrappedUnreadCountsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n channels: { type: 'UnreadCountsChannel', isSingle: false },\n\n threads: { type: 'UnreadCountsThread', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n","import { ApiClient, StreamResponse } from '../../gen-imports';\nimport {\n BlockUsersRequest,\n BlockUsersResponse,\n CheckExternalStorageResponse,\n CheckPushRequest,\n CheckPushResponse,\n CheckSNSRequest,\n CheckSNSResponse,\n CheckSQSRequest,\n CheckSQSResponse,\n CreateBlockListRequest,\n CreateBlockListResponse,\n CreateDeviceRequest,\n CreateExternalStorageRequest,\n CreateExternalStorageResponse,\n CreateGuestRequest,\n CreateGuestResponse,\n CreateImportRequest,\n CreateImportResponse,\n CreateImportURLRequest,\n CreateImportURLResponse,\n CreatePollOptionRequest,\n CreatePollRequest,\n CreateRoleRequest,\n CreateRoleResponse,\n DeactivateUserRequest,\n DeactivateUserResponse,\n DeactivateUsersRequest,\n DeactivateUsersResponse,\n DeleteExternalStorageResponse,\n DeleteUsersRequest,\n DeleteUsersResponse,\n ExportUserResponse,\n ExportUsersRequest,\n ExportUsersResponse,\n FileUploadRequest,\n FileUploadResponse,\n GetApplicationResponse,\n GetBlockListResponse,\n GetBlockedUsersResponse,\n GetCustomPermissionResponse,\n GetImportResponse,\n GetOGResponse,\n GetPushTemplatesResponse,\n GetRateLimitsResponse,\n GetTaskResponse,\n ImageUploadRequest,\n ImageUploadResponse,\n ListBlockListResponse,\n ListDevicesResponse,\n ListExternalStorageResponse,\n ListImportsResponse,\n ListPermissionsResponse,\n ListPushProvidersResponse,\n ListRolesResponse,\n PollOptionResponse,\n PollResponse,\n PollVotesResponse,\n QueryPollVotesRequest,\n QueryPollsRequest,\n QueryPollsResponse,\n QueryUsersPayload,\n QueryUsersResponse,\n ReactivateUserRequest,\n ReactivateUserResponse,\n ReactivateUsersRequest,\n ReactivateUsersResponse,\n Response,\n RestoreUsersRequest,\n SharedLocationResponse,\n SharedLocationsResponse,\n UnblockUsersRequest,\n UnblockUsersResponse,\n UpdateAppRequest,\n UpdateBlockListRequest,\n UpdateBlockListResponse,\n UpdateExternalStorageRequest,\n UpdateExternalStorageResponse,\n UpdateLiveLocationRequest,\n UpdatePollOptionRequest,\n UpdatePollPartialRequest,\n UpdatePollRequest,\n UpdateUsersPartialRequest,\n UpdateUsersRequest,\n UpdateUsersResponse,\n UpsertPushPreferencesRequest,\n UpsertPushPreferencesResponse,\n UpsertPushProviderRequest,\n UpsertPushProviderResponse,\n UpsertPushTemplateRequest,\n UpsertPushTemplateResponse,\n} from '../models';\nimport { decoders } from '../model-decoders/decoders';\n\nexport class CommonApi {\n constructor(public readonly apiClient: ApiClient) {}\n\n async getApp(): Promise<StreamResponse<GetApplicationResponse>> {\n const response = await this.apiClient.sendRequest<\n StreamResponse<GetApplicationResponse>\n >('GET', '/api/v2/app', undefined, undefined);\n\n decoders.GetApplicationResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async updateApp(\n request?: UpdateAppRequest,\n ): Promise<StreamResponse<Response>> {\n const body = {\n async_url_enrich_enabled: request?.async_url_enrich_enabled,\n auto_translation_enabled: request?.auto_translation_enabled,\n before_message_send_hook_url: request?.before_message_send_hook_url,\n cdn_expiration_seconds: request?.cdn_expiration_seconds,\n channel_hide_members_only: request?.channel_hide_members_only,\n custom_action_handler_url: request?.custom_action_handler_url,\n disable_auth_checks: request?.disable_auth_checks,\n disable_permissions_checks: request?.disable_permissions_checks,\n enforce_unique_usernames: request?.enforce_unique_usernames,\n feeds_moderation_enabled: request?.feeds_moderation_enabled,\n feeds_v2_region: request?.feeds_v2_region,\n guest_user_creation_disabled: request?.guest_user_creation_disabled,\n image_moderation_enabled: request?.image_moderation_enabled,\n max_aggregated_activities_length:\n request?.max_aggregated_activities_length,\n migrate_permissions_to_v2: request?.migrate_permissions_to_v2,\n moderation_enabled: request?.moderation_enabled,\n moderation_webhook_url: request?.moderation_webhook_url,\n multi_tenant_enabled: request?.multi_tenant_enabled,\n permission_version: request?.permission_version,\n reminders_interval: request?.reminders_interval,\n reminders_max_members: request?.reminders_max_members,\n revoke_tokens_issued_before: request?.revoke_tokens_issued_before,\n sns_key: request?.sns_key,\n sns_secret: request?.sns_secret,\n sns_topic_arn: request?.sns_topic_arn,\n sqs_key: request?.sqs_key,\n sqs_secret: request?.sqs_secret,\n sqs_url: request?.sqs_url,\n user_response_time_enabled: request?.user_response_time_enabled,\n webhook_url: request?.webhook_url,\n allowed_flag_reasons: request?.allowed_flag_reasons,\n event_hooks: request?.event_hooks,\n image_moderation_block_labels: request?.image_moderation_block_labels,\n image_moderation_labels: request?.image_moderation_labels,\n user_search_disallowed_roles: request?.user_search_disallowed_roles,\n webhook_events: request?.webhook_events,\n apn_config: request?.apn_config,\n async_moderation_config: request?.async_moderation_config,\n datadog_info: request?.datadog_info,\n file_upload_config: request?.file_upload_config,\n firebase_config: request?.firebase_config,\n grants: request?.grants,\n huawei_config: request?.huawei_config,\n image_upload_config: request?.image_upload_config,\n moderation_dashboard_preferences:\n request?.moderation_dashboard_preferences,\n push_config: request?.push_config,\n xiaomi_config: request?.xiaomi_config,\n };\n\n const response = await this.apiClient.sendRequest<StreamResponse<Response>>(\n 'PATCH',\n '/api/v2/app',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async listBlockLists(request?: {\n team?: string;\n }): Promise<StreamResponse<ListBlockListResponse>> {\n const queryParams = {\n team: request?.team,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<ListBlockListResponse>\n >('GET', '/api/v2/blocklists', undefined, queryParams);\n\n decoders.ListBlockListResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async createBlockList(\n request: CreateBlockListRequest,\n ): Promise<StreamResponse<CreateBlockListResponse>> {\n const body = {\n name: request?.name,\n words: request?.words,\n is_leet_check_enabled: request?.is_leet_check_enabled,\n is_plural_check_enabled: request?.is_plural_check_enabled,\n team: request?.team,\n type: request?.type,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<CreateBlockListResponse>\n >(\n 'POST',\n '/api/v2/blocklists',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.CreateBlockListResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deleteBlockList(request: {\n name: string;\n team?: string;\n }): Promise<StreamResponse<Response>> {\n const queryParams = {\n team: request?.team,\n };\n const pathParams = {\n name: request?.name,\n };\n\n const response = await this.apiClient.sendRequest<StreamResponse<Response>>(\n 'DELETE',\n '/api/v2/blocklists/{name}',\n pathParams,\n queryParams,\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getBlockList(request: {\n name: string;\n team?: string;\n }): Promise<StreamResponse<GetBlockListResponse>> {\n const queryParams = {\n team: request?.team,\n };\n const pathParams = {\n name: request?.name,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<GetBlockListResponse>\n >('GET', '/api/v2/blocklists/{name}', pathParams, queryParams);\n\n decoders.GetBlockListResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async updateBlockList(\n request: UpdateBlockListRequest & { name: string },\n ): Promise<StreamResponse<UpdateBlockListResponse>> {\n const pathParams = {\n name: request?.name,\n };\n const body = {\n is_leet_check_enabled: request?.is_leet_check_enabled,\n is_plural_check_enabled: request?.is_plural_check_enabled,\n team: request?.team,\n words: request?.words,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UpdateBlockListResponse>\n >(\n 'PUT',\n '/api/v2/blocklists/{name}',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UpdateBlockListResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async checkPush(\n request?: CheckPushRequest,\n ): Promise<StreamResponse<CheckPushResponse>> {\n const body = {\n apn_template: request?.apn_template,\n event_type: request?.event_type,\n firebase_data_template: request?.firebase_data_template,\n firebase_template: request?.firebase_template,\n message_id: request?.message_id,\n push_provider_name: request?.push_provider_name,\n push_provider_type: request?.push_provider_type,\n skip_devices: request?.skip_devices,\n user_id: request?.user_id,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<CheckPushResponse>\n >(\n 'POST',\n '/api/v2/check_push',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.CheckPushResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async checkSNS(\n request?: CheckSNSRequest,\n ): Promise<StreamResponse<CheckSNSResponse>> {\n const body = {\n sns_key: request?.sns_key,\n sns_secret: request?.sns_secret,\n sns_topic_arn: request?.sns_topic_arn,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<CheckSNSResponse>\n >(\n 'POST',\n '/api/v2/check_sns',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.CheckSNSResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async checkSQS(\n request?: CheckSQSRequest,\n ): Promise<StreamResponse<CheckSQSResponse>> {\n const body = {\n sqs_key: request?.sqs_key,\n sqs_secret: request?.sqs_secret,\n sqs_url: request?.sqs_url,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<CheckSQSResponse>\n >(\n 'POST',\n '/api/v2/check_sqs',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.CheckSQSResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deleteDevice(request: {\n id: string;\n user_id?: string;\n }): Promise<StreamResponse<Response>> {\n const queryParams = {\n id: request?.id,\n user_id: request?.user_id,\n };\n\n const response = await this.apiClient.sendRequest<StreamResponse<Response>>(\n 'DELETE',\n '/api/v2/devices',\n undefined,\n queryParams,\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async listDevices(request?: {\n user_id?: string;\n }): Promise<StreamResponse<ListDevicesResponse>> {\n const queryParams = {\n user_id: request?.user_id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<ListDevicesResponse>\n >('GET', '/api/v2/devices', undefined, queryParams);\n\n decoders.ListDevicesResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async createDevice(\n request: CreateDeviceRequest,\n ): Promise<StreamResponse<Response>> {\n const body = {\n id: request?.id,\n push_provider: request?.push_provider,\n push_provider_name: request?.push_provider_name,\n user_id: request?.user_id,\n voip_token: request?.voip_token,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<StreamResponse<Response>>(\n 'POST',\n '/api/v2/devices',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async exportUsers(\n request: ExportUsersRequest,\n ): Promise<StreamResponse<ExportUsersResponse>> {\n const body = {\n user_ids: request?.user_ids,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<ExportUsersResponse>\n >(\n 'POST',\n '/api/v2/export/users',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.ExportUsersResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async listExternalStorage(): Promise<\n StreamResponse<ListExternalStorageResponse>\n > {\n const response = await this.apiClient.sendRequest<\n StreamResponse<ListExternalStorageResponse>\n >('GET', '/api/v2/external_storage', undefined, undefined);\n\n decoders.ListExternalStorageResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async createExternalStorage(\n request: CreateExternalStorageRequest,\n ): Promise<StreamResponse<CreateExternalStorageResponse>> {\n const body = {\n bucket: request?.bucket,\n name: request?.name,\n storage_type: request?.storage_type,\n gcs_credentials: request?.gcs_credentials,\n path: request?.path,\n aws_s3: request?.aws_s3,\n azure_blob: request?.azure_blob,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<CreateExternalStorageResponse>\n >(\n 'POST',\n '/api/v2/external_storage',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.CreateExternalStorageResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deleteExternalStorage(request: {\n name: string;\n }): Promise<StreamResponse<DeleteExternalStorageResponse>> {\n const pathParams = {\n name: request?.name,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<DeleteExternalStorageResponse>\n >('DELETE', '/api/v2/external_storage/{name}', pathParams, undefined);\n\n decoders.DeleteExternalStorageResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async updateExternalStorage(\n request: UpdateExternalStorageRequest & { name: string },\n ): Promise<StreamResponse<UpdateExternalStorageResponse>> {\n const pathParams = {\n name: request?.name,\n };\n const body = {\n bucket: request?.bucket,\n storage_type: request?.storage_type,\n gcs_credentials: request?.gcs_credentials,\n path: request?.path,\n aws_s3: request?.aws_s3,\n azure_blob: request?.azure_blob,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UpdateExternalStorageResponse>\n >(\n 'PUT',\n '/api/v2/external_storage/{name}',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UpdateExternalStorageResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async checkExternalStorage(request: {\n name: string;\n }): Promise<StreamResponse<CheckExternalStorageResponse>> {\n const pathParams = {\n name: request?.name,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<CheckExternalStorageResponse>\n >('GET', '/api/v2/external_storage/{name}/check', pathParams, undefined);\n\n decoders.CheckExternalStorageResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async createGuest(\n request: CreateGuestRequest,\n ): Promise<StreamResponse<CreateGuestResponse>> {\n const body = {\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<CreateGuestResponse>\n >('POST', '/api/v2/guest', undefined, undefined, body, 'application/json');\n\n decoders.CreateGuestResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async createImportURL(\n request?: CreateImportURLRequest,\n ): Promise<StreamResponse<CreateImportURLResponse>> {\n const body = {\n filename: request?.filename,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<CreateImportURLResponse>\n >(\n 'POST',\n '/api/v2/import_urls',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.CreateImportURLResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async listImports(): Promise<StreamResponse<ListImportsResponse>> {\n const response = await this.apiClient.sendRequest<\n StreamResponse<ListImportsResponse>\n >('GET', '/api/v2/imports', undefined, undefined);\n\n decoders.ListImportsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async createImport(\n request: CreateImportRequest,\n ): Promise<StreamResponse<CreateImportResponse>> {\n const body = {\n mode: request?.mode,\n path: request?.path,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<CreateImportResponse>\n >(\n 'POST',\n '/api/v2/imports',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.CreateImportResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getImport(request: {\n id: string;\n }): Promise<StreamResponse<GetImportResponse>> {\n const pathParams = {\n id: request?.id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<GetImportResponse>\n >('GET', '/api/v2/imports/{id}', pathParams, undefined);\n\n decoders.GetImportResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getOG(request: {\n url: string;\n }): Promise<StreamResponse<GetOGResponse>> {\n const queryParams = {\n url: request?.url,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<GetOGResponse>\n >('GET', '/api/v2/og', undefined, queryParams);\n\n decoders.GetOGResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async listPermissions(): Promise<StreamResponse<ListPermissionsResponse>> {\n const response = await this.apiClient.sendRequest<\n StreamResponse<ListPermissionsResponse>\n >('GET', '/api/v2/permissions', undefined, undefined);\n\n decoders.ListPermissionsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getPermission(request: {\n id: string;\n }): Promise<StreamResponse<GetCustomPermissionResponse>> {\n const pathParams = {\n id: request?.id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<GetCustomPermissionResponse>\n >('GET', '/api/v2/permissions/{id}', pathParams, undefined);\n\n decoders.GetCustomPermissionResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async createPoll(\n request: CreatePollRequest,\n ): Promise<StreamResponse<PollResponse>> {\n const body = {\n name: request?.name,\n allow_answers: request?.allow_answers,\n allow_user_suggested_options: request?.allow_user_suggested_options,\n description: request?.description,\n enforce_unique_vote: request?.enforce_unique_vote,\n id: request?.id,\n is_closed: request?.is_closed,\n max_votes_allowed: request?.max_votes_allowed,\n user_id: request?.user_id,\n voting_visibility: request?.voting_visibility,\n options: request?.options,\n custom: request?.custom,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<PollResponse>\n >('POST', '/api/v2/polls', undefined, undefined, body, 'application/json');\n\n decoders.PollResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async updatePoll(\n request: UpdatePollRequest,\n ): Promise<StreamResponse<PollResponse>> {\n const body = {\n id: request?.id,\n name: request?.name,\n allow_answers: request?.allow_answers,\n allow_user_suggested_options: request?.allow_user_suggested_options,\n description: request?.description,\n enforce_unique_vote: request?.enforce_unique_vote,\n is_closed: request?.is_closed,\n max_votes_allowed: request?.max_votes_allowed,\n user_id: request?.user_id,\n voting_visibility: request?.voting_visibility,\n options: request?.options,\n custom: request?.custom,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<PollResponse>\n >('PUT', '/api/v2/polls', undefined, undefined, body, 'application/json');\n\n decoders.PollResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async queryPolls(\n request?: QueryPollsRequest & { user_id?: string },\n ): Promise<StreamResponse<QueryPollsResponse>> {\n const queryParams = {\n user_id: request?.user_id,\n };\n const body = {\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n sort: request?.sort,\n filter: request?.filter,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<QueryPollsResponse>\n >(\n 'POST',\n '/api/v2/polls/query',\n undefined,\n queryParams,\n body,\n 'application/json',\n );\n\n decoders.QueryPollsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deletePoll(request: {\n poll_id: string;\n user_id?: string;\n }): Promise<StreamResponse<Response>> {\n const queryParams = {\n user_id: request?.user_id,\n };\n const pathParams = {\n poll_id: request?.poll_id,\n };\n\n const response = await this.apiClient.sendRequest<StreamResponse<Response>>(\n 'DELETE',\n '/api/v2/polls/{poll_id}',\n pathParams,\n queryParams,\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getPoll(request: {\n poll_id: string;\n user_id?: string;\n }): Promise<StreamResponse<PollResponse>> {\n const queryParams = {\n user_id: request?.user_id,\n };\n const pathParams = {\n poll_id: request?.poll_id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<PollResponse>\n >('GET', '/api/v2/polls/{poll_id}', pathParams, queryParams);\n\n decoders.PollResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async updatePollPartial(\n request: UpdatePollPartialRequest & { poll_id: string },\n ): Promise<StreamResponse<PollResponse>> {\n const pathParams = {\n poll_id: request?.poll_id,\n };\n const body = {\n user_id: request?.user_id,\n unset: request?.unset,\n set: request?.set,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<PollResponse>\n >(\n 'PATCH',\n '/api/v2/polls/{poll_id}',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.PollResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async createPollOption(\n request: CreatePollOptionRequest & { poll_id: string },\n ): Promise<StreamResponse<PollOptionResponse>> {\n const pathParams = {\n poll_id: request?.poll_id,\n };\n const body = {\n text: request?.text,\n user_id: request?.user_id,\n custom: request?.custom,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<PollOptionResponse>\n >(\n 'POST',\n '/api/v2/polls/{poll_id}/options',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.PollOptionResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async updatePollOption(\n request: UpdatePollOptionRequest & { poll_id: string },\n ): Promise<StreamResponse<PollOptionResponse>> {\n const pathParams = {\n poll_id: request?.poll_id,\n };\n const body = {\n id: request?.id,\n text: request?.text,\n user_id: request?.user_id,\n custom: request?.custom,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<PollOptionResponse>\n >(\n 'PUT',\n '/api/v2/polls/{poll_id}/options',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.PollOptionResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deletePollOption(request: {\n poll_id: string;\n option_id: string;\n user_id?: string;\n }): Promise<StreamResponse<Response>> {\n const queryParams = {\n user_id: request?.user_id,\n };\n const pathParams = {\n poll_id: request?.poll_id,\n option_id: request?.option_id,\n };\n\n const response = await this.apiClient.sendRequest<StreamResponse<Response>>(\n 'DELETE',\n '/api/v2/polls/{poll_id}/options/{option_id}',\n pathParams,\n queryParams,\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getPollOption(request: {\n poll_id: string;\n option_id: string;\n user_id?: string;\n }): Promise<StreamResponse<PollOptionResponse>> {\n const queryParams = {\n user_id: request?.user_id,\n };\n const pathParams = {\n poll_id: request?.poll_id,\n option_id: request?.option_id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<PollOptionResponse>\n >(\n 'GET',\n '/api/v2/polls/{poll_id}/options/{option_id}',\n pathParams,\n queryParams,\n );\n\n decoders.PollOptionResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async queryPollVotes(\n request: QueryPollVotesRequest & { poll_id: string; user_id?: string },\n ): Promise<StreamResponse<PollVotesResponse>> {\n const queryParams = {\n user_id: request?.user_id,\n };\n const pathParams = {\n poll_id: request?.poll_id,\n };\n const body = {\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n sort: request?.sort,\n filter: request?.filter,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<PollVotesResponse>\n >(\n 'POST',\n '/api/v2/polls/{poll_id}/votes',\n pathParams,\n queryParams,\n body,\n 'application/json',\n );\n\n decoders.PollVotesResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async updatePushNotificationPreferences(\n request: UpsertPushPreferencesRequest,\n ): Promise<StreamResponse<UpsertPushPreferencesResponse>> {\n const body = {\n preferences: request?.preferences,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UpsertPushPreferencesResponse>\n >(\n 'POST',\n '/api/v2/push_preferences',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UpsertPushPreferencesResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async listPushProviders(): Promise<\n StreamResponse<ListPushProvidersResponse>\n > {\n const response = await this.apiClient.sendRequest<\n StreamResponse<ListPushProvidersResponse>\n >('GET', '/api/v2/push_providers', undefined, undefined);\n\n decoders.ListPushProvidersResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async upsertPushProvider(\n request?: UpsertPushProviderRequest,\n ): Promise<StreamResponse<UpsertPushProviderResponse>> {\n const body = {\n push_provider: request?.push_provider,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UpsertPushProviderResponse>\n >(\n 'POST',\n '/api/v2/push_providers',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UpsertPushProviderResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deletePushProvider(request: {\n type: string;\n name: string;\n }): Promise<StreamResponse<Response>> {\n const pathParams = {\n type: request?.type,\n name: request?.name,\n };\n\n const response = await this.apiClient.sendRequest<StreamResponse<Response>>(\n 'DELETE',\n '/api/v2/push_providers/{type}/{name}',\n pathParams,\n undefined,\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getPushTemplates(request: {\n push_provider_type: string;\n push_provider_name?: string;\n }): Promise<StreamResponse<GetPushTemplatesResponse>> {\n const queryParams = {\n push_provider_type: request?.push_provider_type,\n push_provider_name: request?.push_provider_name,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<GetPushTemplatesResponse>\n >('GET', '/api/v2/push_templates', undefined, queryParams);\n\n decoders.GetPushTemplatesResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async upsertPushTemplate(\n request: UpsertPushTemplateRequest,\n ): Promise<StreamResponse<UpsertPushTemplateResponse>> {\n const body = {\n event_type: request?.event_type,\n push_provider_type: request?.push_provider_type,\n enable_push: request?.enable_push,\n push_provider_name: request?.push_provider_name,\n template: request?.template,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UpsertPushTemplateResponse>\n >(\n 'POST',\n '/api/v2/push_templates',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UpsertPushTemplateResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getRateLimits(request?: {\n server_side?: boolean;\n android?: boolean;\n ios?: boolean;\n web?: boolean;\n endpoints?: string;\n }): Promise<StreamResponse<GetRateLimitsResponse>> {\n const queryParams = {\n server_side: request?.server_side,\n android: request?.android,\n ios: request?.ios,\n web: request?.web,\n endpoints: request?.endpoints,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<GetRateLimitsResponse>\n >('GET', '/api/v2/rate_limits', undefined, queryParams);\n\n decoders.GetRateLimitsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async listRoles(): Promise<StreamResponse<ListRolesResponse>> {\n const response = await this.apiClient.sendRequest<\n StreamResponse<ListRolesResponse>\n >('GET', '/api/v2/roles', undefined, undefined);\n\n decoders.ListRolesResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async createRole(\n request: CreateRoleRequest,\n ): Promise<StreamResponse<CreateRoleResponse>> {\n const body = {\n name: request?.name,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<CreateRoleResponse>\n >('POST', '/api/v2/roles', undefined, undefined, body, 'application/json');\n\n decoders.CreateRoleResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deleteRole(request: {\n name: string;\n }): Promise<StreamResponse<Response>> {\n const pathParams = {\n name: request?.name,\n };\n\n const response = await this.apiClient.sendRequest<StreamResponse<Response>>(\n 'DELETE',\n '/api/v2/roles/{name}',\n pathParams,\n undefined,\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getTask(request: {\n id: string;\n }): Promise<StreamResponse<GetTaskResponse>> {\n const pathParams = {\n id: request?.id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<GetTaskResponse>\n >('GET', '/api/v2/tasks/{id}', pathParams, undefined);\n\n decoders.GetTaskResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deleteFile(request?: {\n url?: string;\n }): Promise<StreamResponse<Response>> {\n const queryParams = {\n url: request?.url,\n };\n\n const response = await this.apiClient.sendRequest<StreamResponse<Response>>(\n 'DELETE',\n '/api/v2/uploads/file',\n undefined,\n queryParams,\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async uploadFile(\n request?: FileUploadRequest,\n ): Promise<StreamResponse<FileUploadResponse>> {\n const body = {\n file: request?.file,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<FileUploadResponse>\n >(\n 'POST',\n '/api/v2/uploads/file',\n undefined,\n undefined,\n body,\n 'multipart/form-data',\n );\n\n decoders.FileUploadResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deleteImage(request?: {\n url?: string;\n }): Promise<StreamResponse<Response>> {\n const queryParams = {\n url: request?.url,\n };\n\n const response = await this.apiClient.sendRequest<StreamResponse<Response>>(\n 'DELETE',\n '/api/v2/uploads/image',\n undefined,\n queryParams,\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async uploadImage(\n request?: ImageUploadRequest,\n ): Promise<StreamResponse<ImageUploadResponse>> {\n const body = {\n file: request?.file,\n upload_sizes: request?.upload_sizes,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<ImageUploadResponse>\n >(\n 'POST',\n '/api/v2/uploads/image',\n undefined,\n undefined,\n body,\n 'multipart/form-data',\n );\n\n decoders.ImageUploadResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async queryUsers(request?: {\n payload?: QueryUsersPayload;\n }): Promise<StreamResponse<QueryUsersResponse>> {\n const queryParams = {\n payload: request?.payload,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<QueryUsersResponse>\n >('GET', '/api/v2/users', undefined, queryParams);\n\n decoders.QueryUsersResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async updateUsersPartial(\n request: UpdateUsersPartialRequest,\n ): Promise<StreamResponse<UpdateUsersResponse>> {\n const body = {\n users: request?.users,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UpdateUsersResponse>\n >('PATCH', '/api/v2/users', undefined, undefined, body, 'application/json');\n\n decoders.UpdateUsersResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async updateUsers(\n request: UpdateUsersRequest,\n ): Promise<StreamResponse<UpdateUsersResponse>> {\n const body = {\n users: request?.users,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UpdateUsersResponse>\n >('POST', '/api/v2/users', undefined, undefined, body, 'application/json');\n\n decoders.UpdateUsersResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getBlockedUsers(request?: {\n user_id?: string;\n }): Promise<StreamResponse<GetBlockedUsersResponse>> {\n const queryParams = {\n user_id: request?.user_id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<GetBlockedUsersResponse>\n >('GET', '/api/v2/users/block', undefined, queryParams);\n\n decoders.GetBlockedUsersResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async blockUsers(\n request: BlockUsersRequest,\n ): Promise<StreamResponse<BlockUsersResponse>> {\n const body = {\n blocked_user_id: request?.blocked_user_id,\n user_id: request?.user_id,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<BlockUsersResponse>\n >(\n 'POST',\n '/api/v2/users/block',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.BlockUsersResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deactivateUsers(\n request: DeactivateUsersRequest,\n ): Promise<StreamResponse<DeactivateUsersResponse>> {\n const body = {\n user_ids: request?.user_ids,\n created_by_id: request?.created_by_id,\n mark_channels_deleted: request?.mark_channels_deleted,\n mark_messages_deleted: request?.mark_messages_deleted,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<DeactivateUsersResponse>\n >(\n 'POST',\n '/api/v2/users/deactivate',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.DeactivateUsersResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deleteUsers(\n request: DeleteUsersRequest,\n ): Promise<StreamResponse<DeleteUsersResponse>> {\n const body = {\n user_ids: request?.user_ids,\n calls: request?.calls,\n conversations: request?.conversations,\n files: request?.files,\n messages: request?.messages,\n new_call_owner_id: request?.new_call_owner_id,\n new_channel_owner_id: request?.new_channel_owner_id,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<DeleteUsersResponse>\n >(\n 'POST',\n '/api/v2/users/delete',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.DeleteUsersResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getUserLiveLocations(request?: {\n user_id?: string;\n }): Promise<StreamResponse<SharedLocationsResponse>> {\n const queryParams = {\n user_id: request?.user_id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<SharedLocationsResponse>\n >('GET', '/api/v2/users/live_locations', undefined, queryParams);\n\n decoders.SharedLocationsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async updateLiveLocation(\n request: UpdateLiveLocationRequest & { user_id?: string },\n ): Promise<StreamResponse<SharedLocationResponse>> {\n const queryParams = {\n user_id: request?.user_id,\n };\n const body = {\n message_id: request?.message_id,\n end_at: request?.end_at,\n latitude: request?.latitude,\n longitude: request?.longitude,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<SharedLocationResponse>\n >(\n 'PUT',\n '/api/v2/users/live_locations',\n undefined,\n queryParams,\n body,\n 'application/json',\n );\n\n decoders.SharedLocationResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async reactivateUsers(\n request: ReactivateUsersRequest,\n ): Promise<StreamResponse<ReactivateUsersResponse>> {\n const body = {\n user_ids: request?.user_ids,\n created_by_id: request?.created_by_id,\n restore_channels: request?.restore_channels,\n restore_messages: request?.restore_messages,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<ReactivateUsersResponse>\n >(\n 'POST',\n '/api/v2/users/reactivate',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.ReactivateUsersResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async restoreUsers(\n request: RestoreUsersRequest,\n ): Promise<StreamResponse<Response>> {\n const body = {\n user_ids: request?.user_ids,\n };\n\n const response = await this.apiClient.sendRequest<StreamResponse<Response>>(\n 'POST',\n '/api/v2/users/restore',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async unblockUsers(\n request: UnblockUsersRequest,\n ): Promise<StreamResponse<UnblockUsersResponse>> {\n const body = {\n blocked_user_id: request?.blocked_user_id,\n user_id: request?.user_id,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UnblockUsersResponse>\n >(\n 'POST',\n '/api/v2/users/unblock',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UnblockUsersResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deactivateUser(\n request: DeactivateUserRequest & { user_id: string },\n ): Promise<StreamResponse<DeactivateUserResponse>> {\n const pathParams = {\n user_id: request?.user_id,\n };\n const body = {\n created_by_id: request?.created_by_id,\n mark_messages_deleted: request?.mark_messages_deleted,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<DeactivateUserResponse>\n >(\n 'POST',\n '/api/v2/users/{user_id}/deactivate',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.DeactivateUserResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async exportUser(request: {\n user_id: string;\n }): Promise<StreamResponse<ExportUserResponse>> {\n const pathParams = {\n user_id: request?.user_id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<ExportUserResponse>\n >('GET', '/api/v2/users/{user_id}/export', pathParams, undefined);\n\n decoders.ExportUserResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async reactivateUser(\n request: ReactivateUserRequest & { user_id: string },\n ): Promise<StreamResponse<ReactivateUserResponse>> {\n const pathParams = {\n user_id: request?.user_id,\n };\n const body = {\n created_by_id: request?.created_by_id,\n name: request?.name,\n restore_messages: request?.restore_messages,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<ReactivateUserResponse>\n >(\n 'POST',\n '/api/v2/users/{user_id}/reactivate',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.ReactivateUserResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n}\n","import { ApiClient, StreamResponse } from '../../gen-imports';\nimport {\n BlockUserRequest,\n BlockUserResponse,\n CollectUserFeedbackRequest,\n CollectUserFeedbackResponse,\n CreateCallTypeRequest,\n CreateCallTypeResponse,\n CreateSIPTrunkRequest,\n CreateSIPTrunkResponse,\n DeleteCallRequest,\n DeleteCallResponse,\n DeleteRecordingResponse,\n DeleteSIPInboundRoutingRuleResponse,\n DeleteSIPTrunkResponse,\n DeleteTranscriptionResponse,\n EndCallResponse,\n GetActiveCallsStatusResponse,\n GetCallReportResponse,\n GetCallResponse,\n GetCallSessionParticipantStatsDetailsResponse,\n GetCallTypeResponse,\n GetEdgesResponse,\n GetOrCreateCallRequest,\n GetOrCreateCallResponse,\n GoLiveRequest,\n GoLiveResponse,\n KickUserRequest,\n KickUserResponse,\n ListCallTypeResponse,\n ListRecordingsResponse,\n ListSIPInboundRoutingRuleResponse,\n ListSIPTrunksResponse,\n ListTranscriptionsResponse,\n MuteUsersRequest,\n MuteUsersResponse,\n PinRequest,\n PinResponse,\n QueryAggregateCallStatsRequest,\n QueryAggregateCallStatsResponse,\n QueryCallMembersRequest,\n QueryCallMembersResponse,\n QueryCallParticipantsRequest,\n QueryCallParticipantsResponse,\n QueryCallSessionParticipantStatsResponse,\n QueryCallSessionParticipantStatsTimelineResponse,\n QueryCallStatsRequest,\n QueryCallStatsResponse,\n QueryCallsRequest,\n QueryCallsResponse,\n QueryUserFeedbackRequest,\n QueryUserFeedbackResponse,\n ResolveSipInboundRequest,\n ResolveSipInboundResponse,\n Response,\n RingCallRequest,\n RingCallResponse,\n SIPInboundRoutingRuleRequest,\n SIPInboundRoutingRuleResponse,\n SendCallEventRequest,\n SendCallEventResponse,\n SendClosedCaptionRequest,\n SendClosedCaptionResponse,\n SortParamRequest,\n StartClosedCaptionsRequest,\n StartClosedCaptionsResponse,\n StartFrameRecordingRequest,\n StartFrameRecordingResponse,\n StartHLSBroadcastingResponse,\n StartRTMPBroadcastsRequest,\n StartRTMPBroadcastsResponse,\n StartRecordingRequest,\n StartRecordingResponse,\n StartTranscriptionRequest,\n StartTranscriptionResponse,\n StopAllRTMPBroadcastsResponse,\n StopClosedCaptionsRequest,\n StopClosedCaptionsResponse,\n StopFrameRecordingResponse,\n StopHLSBroadcastingResponse,\n StopLiveRequest,\n StopLiveResponse,\n StopRTMPBroadcastsRequest,\n StopRTMPBroadcastsResponse,\n StopRecordingResponse,\n StopTranscriptionRequest,\n StopTranscriptionResponse,\n UnblockUserRequest,\n UnblockUserResponse,\n UnpinRequest,\n UnpinResponse,\n UpdateCallMembersRequest,\n UpdateCallMembersResponse,\n UpdateCallRequest,\n UpdateCallResponse,\n UpdateCallTypeRequest,\n UpdateCallTypeResponse,\n UpdateSIPInboundRoutingRuleRequest,\n UpdateSIPInboundRoutingRuleResponse,\n UpdateSIPTrunkRequest,\n UpdateSIPTrunkResponse,\n UpdateUserPermissionsRequest,\n UpdateUserPermissionsResponse,\n} from '../models';\nimport { decoders } from '../model-decoders/decoders';\n\nexport class VideoApi {\n constructor(public readonly apiClient: ApiClient) {}\n\n async getActiveCallsStatus(): Promise<\n StreamResponse<GetActiveCallsStatusResponse>\n > {\n const response = await this.apiClient.sendRequest<\n StreamResponse<GetActiveCallsStatusResponse>\n >('GET', '/api/v2/video/active_calls_status', undefined, undefined);\n\n decoders.GetActiveCallsStatusResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async queryUserFeedback(\n request?: QueryUserFeedbackRequest & { full?: boolean },\n ): Promise<StreamResponse<QueryUserFeedbackResponse>> {\n const queryParams = {\n full: request?.full,\n };\n const body = {\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n sort: request?.sort,\n filter_conditions: request?.filter_conditions,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<QueryUserFeedbackResponse>\n >(\n 'POST',\n '/api/v2/video/call/feedback',\n undefined,\n queryParams,\n body,\n 'application/json',\n );\n\n decoders.QueryUserFeedbackResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async queryCallMembers(\n request: QueryCallMembersRequest,\n ): Promise<StreamResponse<QueryCallMembersResponse>> {\n const body = {\n id: request?.id,\n type: request?.type,\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n sort: request?.sort,\n filter_conditions: request?.filter_conditions,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<QueryCallMembersResponse>\n >(\n 'POST',\n '/api/v2/video/call/members',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.QueryCallMembersResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async queryCallStats(\n request?: QueryCallStatsRequest,\n ): Promise<StreamResponse<QueryCallStatsResponse>> {\n const body = {\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n sort: request?.sort,\n filter_conditions: request?.filter_conditions,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<QueryCallStatsResponse>\n >(\n 'POST',\n '/api/v2/video/call/stats',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.QueryCallStatsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getCall(request: {\n type: string;\n id: string;\n members_limit?: number;\n ring?: boolean;\n notify?: boolean;\n video?: boolean;\n }): Promise<StreamResponse<GetCallResponse>> {\n const queryParams = {\n members_limit: request?.members_limit,\n ring: request?.ring,\n notify: request?.notify,\n video: request?.video,\n };\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<GetCallResponse>\n >('GET', '/api/v2/video/call/{type}/{id}', pathParams, queryParams);\n\n decoders.GetCallResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async updateCall(\n request: UpdateCallRequest & { type: string; id: string },\n ): Promise<StreamResponse<UpdateCallResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n starts_at: request?.starts_at,\n custom: request?.custom,\n settings_override: request?.settings_override,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UpdateCallResponse>\n >(\n 'PATCH',\n '/api/v2/video/call/{type}/{id}',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UpdateCallResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getOrCreateCall(\n request: GetOrCreateCallRequest & { type: string; id: string },\n ): Promise<StreamResponse<GetOrCreateCallResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n members_limit: request?.members_limit,\n notify: request?.notify,\n ring: request?.ring,\n video: request?.video,\n data: request?.data,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<GetOrCreateCallResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.GetOrCreateCallResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async blockUser(\n request: BlockUserRequest & { type: string; id: string },\n ): Promise<StreamResponse<BlockUserResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n user_id: request?.user_id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<BlockUserResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/block',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.BlockUserResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async sendClosedCaption(\n request: SendClosedCaptionRequest & { type: string; id: string },\n ): Promise<StreamResponse<SendClosedCaptionResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n speaker_id: request?.speaker_id,\n text: request?.text,\n end_time: request?.end_time,\n language: request?.language,\n service: request?.service,\n start_time: request?.start_time,\n translated: request?.translated,\n user_id: request?.user_id,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<SendClosedCaptionResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/closed_captions',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.SendClosedCaptionResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deleteCall(\n request: DeleteCallRequest & { type: string; id: string },\n ): Promise<StreamResponse<DeleteCallResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n hard: request?.hard,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<DeleteCallResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/delete',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.DeleteCallResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async sendCallEvent(\n request: SendCallEventRequest & { type: string; id: string },\n ): Promise<StreamResponse<SendCallEventResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n user_id: request?.user_id,\n custom: request?.custom,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<SendCallEventResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/event',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.SendCallEventResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async collectUserFeedback(\n request: CollectUserFeedbackRequest & { type: string; id: string },\n ): Promise<StreamResponse<CollectUserFeedbackResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n rating: request?.rating,\n sdk: request?.sdk,\n sdk_version: request?.sdk_version,\n reason: request?.reason,\n user_session_id: request?.user_session_id,\n custom: request?.custom,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<CollectUserFeedbackResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/feedback',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.CollectUserFeedbackResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async goLive(\n request: GoLiveRequest & { type: string; id: string },\n ): Promise<StreamResponse<GoLiveResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n recording_storage_name: request?.recording_storage_name,\n start_closed_caption: request?.start_closed_caption,\n start_hls: request?.start_hls,\n start_recording: request?.start_recording,\n start_transcription: request?.start_transcription,\n transcription_storage_name: request?.transcription_storage_name,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<GoLiveResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/go_live',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.GoLiveResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async kickUser(\n request: KickUserRequest & { type: string; id: string },\n ): Promise<StreamResponse<KickUserResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n user_id: request?.user_id,\n block: request?.block,\n kicked_by_id: request?.kicked_by_id,\n kicked_by: request?.kicked_by,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<KickUserResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/kick',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.KickUserResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async endCall(request: {\n type: string;\n id: string;\n }): Promise<StreamResponse<EndCallResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<EndCallResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/mark_ended',\n pathParams,\n undefined,\n );\n\n decoders.EndCallResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async updateCallMembers(\n request: UpdateCallMembersRequest & { type: string; id: string },\n ): Promise<StreamResponse<UpdateCallMembersResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n remove_members: request?.remove_members,\n update_members: request?.update_members,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UpdateCallMembersResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/members',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UpdateCallMembersResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async muteUsers(\n request: MuteUsersRequest & { type: string; id: string },\n ): Promise<StreamResponse<MuteUsersResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n audio: request?.audio,\n mute_all_users: request?.mute_all_users,\n muted_by_id: request?.muted_by_id,\n screenshare: request?.screenshare,\n screenshare_audio: request?.screenshare_audio,\n video: request?.video,\n user_ids: request?.user_ids,\n muted_by: request?.muted_by,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<MuteUsersResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/mute_users',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.MuteUsersResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async queryCallParticipants(\n request: QueryCallParticipantsRequest & {\n id: string;\n type: string;\n limit?: number;\n },\n ): Promise<StreamResponse<QueryCallParticipantsResponse>> {\n const queryParams = {\n limit: request?.limit,\n };\n const pathParams = {\n id: request?.id,\n type: request?.type,\n };\n const body = {\n filter_conditions: request?.filter_conditions,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<QueryCallParticipantsResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/participants',\n pathParams,\n queryParams,\n body,\n 'application/json',\n );\n\n decoders.QueryCallParticipantsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async videoPin(\n request: PinRequest & { type: string; id: string },\n ): Promise<StreamResponse<PinResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n session_id: request?.session_id,\n user_id: request?.user_id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<PinResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/pin',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.PinResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async listRecordings(request: {\n type: string;\n id: string;\n }): Promise<StreamResponse<ListRecordingsResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<ListRecordingsResponse>\n >(\n 'GET',\n '/api/v2/video/call/{type}/{id}/recordings',\n pathParams,\n undefined,\n );\n\n decoders.ListRecordingsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getCallReport(request: {\n type: string;\n id: string;\n session_id?: string;\n }): Promise<StreamResponse<GetCallReportResponse>> {\n const queryParams = {\n session_id: request?.session_id,\n };\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<GetCallReportResponse>\n >('GET', '/api/v2/video/call/{type}/{id}/report', pathParams, queryParams);\n\n decoders.GetCallReportResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async ringCall(\n request: RingCallRequest & { type: string; id: string },\n ): Promise<StreamResponse<RingCallResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n video: request?.video,\n members_ids: request?.members_ids,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<RingCallResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/ring',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.RingCallResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async startRTMPBroadcasts(\n request: StartRTMPBroadcastsRequest & { type: string; id: string },\n ): Promise<StreamResponse<StartRTMPBroadcastsResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n broadcasts: request?.broadcasts,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<StartRTMPBroadcastsResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/rtmp_broadcasts',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.StartRTMPBroadcastsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async stopAllRTMPBroadcasts(request: {\n type: string;\n id: string;\n }): Promise<StreamResponse<StopAllRTMPBroadcastsResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<StopAllRTMPBroadcastsResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/rtmp_broadcasts/stop',\n pathParams,\n undefined,\n );\n\n decoders.StopAllRTMPBroadcastsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async stopRTMPBroadcast(\n request: StopRTMPBroadcastsRequest & {\n type: string;\n id: string;\n name: string;\n },\n ): Promise<StreamResponse<StopRTMPBroadcastsResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n name: request?.name,\n };\n const body = {};\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<StopRTMPBroadcastsResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/rtmp_broadcasts/{name}/stop',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.StopRTMPBroadcastsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async startHLSBroadcasting(request: {\n type: string;\n id: string;\n }): Promise<StreamResponse<StartHLSBroadcastingResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<StartHLSBroadcastingResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/start_broadcasting',\n pathParams,\n undefined,\n );\n\n decoders.StartHLSBroadcastingResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async startClosedCaptions(\n request: StartClosedCaptionsRequest & { type: string; id: string },\n ): Promise<StreamResponse<StartClosedCaptionsResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n enable_transcription: request?.enable_transcription,\n external_storage: request?.external_storage,\n language: request?.language,\n speech_segment_config: request?.speech_segment_config,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<StartClosedCaptionsResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/start_closed_captions',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.StartClosedCaptionsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async startFrameRecording(\n request: StartFrameRecordingRequest & { type: string; id: string },\n ): Promise<StreamResponse<StartFrameRecordingResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n recording_external_storage: request?.recording_external_storage,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<StartFrameRecordingResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/start_frame_recording',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.StartFrameRecordingResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async startRecording(\n request: StartRecordingRequest & { type: string; id: string },\n ): Promise<StreamResponse<StartRecordingResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n recording_external_storage: request?.recording_external_storage,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<StartRecordingResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/start_recording',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.StartRecordingResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async startTranscription(\n request: StartTranscriptionRequest & { type: string; id: string },\n ): Promise<StreamResponse<StartTranscriptionResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n enable_closed_captions: request?.enable_closed_captions,\n language: request?.language,\n transcription_external_storage: request?.transcription_external_storage,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<StartTranscriptionResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/start_transcription',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.StartTranscriptionResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async stopHLSBroadcasting(request: {\n type: string;\n id: string;\n }): Promise<StreamResponse<StopHLSBroadcastingResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<StopHLSBroadcastingResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/stop_broadcasting',\n pathParams,\n undefined,\n );\n\n decoders.StopHLSBroadcastingResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async stopClosedCaptions(\n request: StopClosedCaptionsRequest & { type: string; id: string },\n ): Promise<StreamResponse<StopClosedCaptionsResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n stop_transcription: request?.stop_transcription,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<StopClosedCaptionsResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/stop_closed_captions',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.StopClosedCaptionsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async stopFrameRecording(request: {\n type: string;\n id: string;\n }): Promise<StreamResponse<StopFrameRecordingResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<StopFrameRecordingResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/stop_frame_recording',\n pathParams,\n undefined,\n );\n\n decoders.StopFrameRecordingResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async stopLive(\n request: StopLiveRequest & { type: string; id: string },\n ): Promise<StreamResponse<StopLiveResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n continue_closed_caption: request?.continue_closed_caption,\n continue_hls: request?.continue_hls,\n continue_recording: request?.continue_recording,\n continue_rtmp_broadcasts: request?.continue_rtmp_broadcasts,\n continue_transcription: request?.continue_transcription,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<StopLiveResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/stop_live',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.StopLiveResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async stopRecording(request: {\n type: string;\n id: string;\n }): Promise<StreamResponse<StopRecordingResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<StopRecordingResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/stop_recording',\n pathParams,\n undefined,\n );\n\n decoders.StopRecordingResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async stopTranscription(\n request: StopTranscriptionRequest & { type: string; id: string },\n ): Promise<StreamResponse<StopTranscriptionResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n stop_closed_captions: request?.stop_closed_captions,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<StopTranscriptionResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/stop_transcription',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.StopTranscriptionResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async listTranscriptions(request: {\n type: string;\n id: string;\n }): Promise<StreamResponse<ListTranscriptionsResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<ListTranscriptionsResponse>\n >(\n 'GET',\n '/api/v2/video/call/{type}/{id}/transcriptions',\n pathParams,\n undefined,\n );\n\n decoders.ListTranscriptionsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async unblockUser(\n request: UnblockUserRequest & { type: string; id: string },\n ): Promise<StreamResponse<UnblockUserResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n user_id: request?.user_id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UnblockUserResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/unblock',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UnblockUserResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async videoUnpin(\n request: UnpinRequest & { type: string; id: string },\n ): Promise<StreamResponse<UnpinResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n session_id: request?.session_id,\n user_id: request?.user_id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UnpinResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/unpin',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UnpinResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async updateUserPermissions(\n request: UpdateUserPermissionsRequest & { type: string; id: string },\n ): Promise<StreamResponse<UpdateUserPermissionsResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n user_id: request?.user_id,\n grant_permissions: request?.grant_permissions,\n revoke_permissions: request?.revoke_permissions,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UpdateUserPermissionsResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/user_permissions',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UpdateUserPermissionsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deleteRecording(request: {\n type: string;\n id: string;\n session: string;\n filename: string;\n }): Promise<StreamResponse<DeleteRecordingResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n session: request?.session,\n filename: request?.filename,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<DeleteRecordingResponse>\n >(\n 'DELETE',\n '/api/v2/video/call/{type}/{id}/{session}/recordings/{filename}',\n pathParams,\n undefined,\n );\n\n decoders.DeleteRecordingResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deleteTranscription(request: {\n type: string;\n id: string;\n session: string;\n filename: string;\n }): Promise<StreamResponse<DeleteTranscriptionResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n session: request?.session,\n filename: request?.filename,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<DeleteTranscriptionResponse>\n >(\n 'DELETE',\n '/api/v2/video/call/{type}/{id}/{session}/transcriptions/{filename}',\n pathParams,\n undefined,\n );\n\n decoders.DeleteTranscriptionResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getCallSessionParticipantStatsDetails(request: {\n call_type: string;\n call_id: string;\n session: string;\n user: string;\n user_session: string;\n since?: string;\n until?: string;\n max_points?: number;\n }): Promise<StreamResponse<GetCallSessionParticipantStatsDetailsResponse>> {\n const queryParams = {\n since: request?.since,\n until: request?.until,\n max_points: request?.max_points,\n };\n const pathParams = {\n call_type: request?.call_type,\n call_id: request?.call_id,\n session: request?.session,\n user: request?.user,\n user_session: request?.user_session,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<GetCallSessionParticipantStatsDetailsResponse>\n >(\n 'GET',\n '/api/v2/video/call_stats/{call_type}/{call_id}/{session}/participant/{user}/{user_session}/details',\n pathParams,\n queryParams,\n );\n\n decoders.GetCallSessionParticipantStatsDetailsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async queryCallSessionParticipantStats(request: {\n call_type: string;\n call_id: string;\n session: string;\n sort?: SortParamRequest[];\n filter_conditions?: Record<string, any>;\n }): Promise<StreamResponse<QueryCallSessionParticipantStatsResponse>> {\n const queryParams = {\n sort: request?.sort,\n filter_conditions: request?.filter_conditions,\n };\n const pathParams = {\n call_type: request?.call_type,\n call_id: request?.call_id,\n session: request?.session,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<QueryCallSessionParticipantStatsResponse>\n >(\n 'GET',\n '/api/v2/video/call_stats/{call_type}/{call_id}/{session}/participants',\n pathParams,\n queryParams,\n );\n\n decoders.QueryCallSessionParticipantStatsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getCallSessionParticipantStatsTimeline(request: {\n call_type: string;\n call_id: string;\n session: string;\n user: string;\n user_session: string;\n start_time?: string;\n end_time?: string;\n severity?: string[];\n }): Promise<\n StreamResponse<QueryCallSessionParticipantStatsTimelineResponse>\n > {\n const queryParams = {\n start_time: request?.start_time,\n end_time: request?.end_time,\n severity: request?.severity,\n };\n const pathParams = {\n call_type: request?.call_type,\n call_id: request?.call_id,\n session: request?.session,\n user: request?.user,\n user_session: request?.user_session,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<QueryCallSessionParticipantStatsTimelineResponse>\n >(\n 'GET',\n '/api/v2/video/call_stats/{call_type}/{call_id}/{session}/participants/{user}/{user_session}/timeline',\n pathParams,\n queryParams,\n );\n\n decoders.QueryCallSessionParticipantStatsTimelineResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async queryCalls(\n request?: QueryCallsRequest,\n ): Promise<StreamResponse<QueryCallsResponse>> {\n const body = {\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n sort: request?.sort,\n filter_conditions: request?.filter_conditions,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<QueryCallsResponse>\n >(\n 'POST',\n '/api/v2/video/calls',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.QueryCallsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async listCallTypes(): Promise<StreamResponse<ListCallTypeResponse>> {\n const response = await this.apiClient.sendRequest<\n StreamResponse<ListCallTypeResponse>\n >('GET', '/api/v2/video/calltypes', undefined, undefined);\n\n decoders.ListCallTypeResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async createCallType(\n request: CreateCallTypeRequest,\n ): Promise<StreamResponse<CreateCallTypeResponse>> {\n const body = {\n name: request?.name,\n external_storage: request?.external_storage,\n grants: request?.grants,\n notification_settings: request?.notification_settings,\n settings: request?.settings,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<CreateCallTypeResponse>\n >(\n 'POST',\n '/api/v2/video/calltypes',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.CreateCallTypeResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deleteCallType(request: {\n name: string;\n }): Promise<StreamResponse<Response>> {\n const pathParams = {\n name: request?.name,\n };\n\n const response = await this.apiClient.sendRequest<StreamResponse<Response>>(\n 'DELETE',\n '/api/v2/video/calltypes/{name}',\n pathParams,\n undefined,\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getCallType(request: {\n name: string;\n }): Promise<StreamResponse<GetCallTypeResponse>> {\n const pathParams = {\n name: request?.name,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<GetCallTypeResponse>\n >('GET', '/api/v2/video/calltypes/{name}', pathParams, undefined);\n\n decoders.GetCallTypeResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async updateCallType(\n request: UpdateCallTypeRequest & { name: string },\n ): Promise<StreamResponse<UpdateCallTypeResponse>> {\n const pathParams = {\n name: request?.name,\n };\n const body = {\n external_storage: request?.external_storage,\n grants: request?.grants,\n notification_settings: request?.notification_settings,\n settings: request?.settings,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UpdateCallTypeResponse>\n >(\n 'PUT',\n '/api/v2/video/calltypes/{name}',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UpdateCallTypeResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getEdges(): Promise<StreamResponse<GetEdgesResponse>> {\n const response = await this.apiClient.sendRequest<\n StreamResponse<GetEdgesResponse>\n >('GET', '/api/v2/video/edges', undefined, undefined);\n\n decoders.GetEdgesResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async resolveSipInbound(\n request: ResolveSipInboundRequest,\n ): Promise<StreamResponse<ResolveSipInboundResponse>> {\n const body = {\n sip_caller_number: request?.sip_caller_number,\n sip_trunk_number: request?.sip_trunk_number,\n challenge: request?.challenge,\n sip_headers: request?.sip_headers,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<ResolveSipInboundResponse>\n >(\n 'POST',\n '/api/v2/video/sip/resolve',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.ResolveSipInboundResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async listSIPInboundRoutingRule(): Promise<\n StreamResponse<ListSIPInboundRoutingRuleResponse>\n > {\n const response = await this.apiClient.sendRequest<\n StreamResponse<ListSIPInboundRoutingRuleResponse>\n >('GET', '/api/v2/video/sip/routing_rules', undefined, undefined);\n\n decoders.ListSIPInboundRoutingRuleResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async createSIPInboundRoutingRule(\n request: SIPInboundRoutingRuleRequest,\n ): Promise<StreamResponse<SIPInboundRoutingRuleResponse>> {\n const body = {\n name: request?.name,\n trunk_ids: request?.trunk_ids,\n caller_configs: request?.caller_configs,\n called_numbers: request?.called_numbers,\n caller_numbers: request?.caller_numbers,\n call_configs: request?.call_configs,\n direct_routing_configs: request?.direct_routing_configs,\n pin_protection_configs: request?.pin_protection_configs,\n pin_routing_configs: request?.pin_routing_configs,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<SIPInboundRoutingRuleResponse>\n >(\n 'POST',\n '/api/v2/video/sip/routing_rules',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.SIPInboundRoutingRuleResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deleteSIPInboundRoutingRule(request: {\n id: string;\n }): Promise<StreamResponse<DeleteSIPInboundRoutingRuleResponse>> {\n const pathParams = {\n id: request?.id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<DeleteSIPInboundRoutingRuleResponse>\n >('DELETE', '/api/v2/video/sip/routing_rules/{id}', pathParams, undefined);\n\n decoders.DeleteSIPInboundRoutingRuleResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async updateSIPInboundRoutingRule(\n request: UpdateSIPInboundRoutingRuleRequest & { id: string },\n ): Promise<StreamResponse<UpdateSIPInboundRoutingRuleResponse>> {\n const pathParams = {\n id: request?.id,\n };\n const body = {\n name: request?.name,\n called_numbers: request?.called_numbers,\n trunk_ids: request?.trunk_ids,\n caller_configs: request?.caller_configs,\n caller_numbers: request?.caller_numbers,\n call_configs: request?.call_configs,\n direct_routing_configs: request?.direct_routing_configs,\n pin_protection_configs: request?.pin_protection_configs,\n pin_routing_configs: request?.pin_routing_configs,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UpdateSIPInboundRoutingRuleResponse>\n >(\n 'PUT',\n '/api/v2/video/sip/routing_rules/{id}',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UpdateSIPInboundRoutingRuleResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async listSIPTrunks(): Promise<StreamResponse<ListSIPTrunksResponse>> {\n const response = await this.apiClient.sendRequest<\n StreamResponse<ListSIPTrunksResponse>\n >('GET', '/api/v2/video/sip/trunks', undefined, undefined);\n\n decoders.ListSIPTrunksResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async createSIPTrunk(\n request: CreateSIPTrunkRequest,\n ): Promise<StreamResponse<CreateSIPTrunkResponse>> {\n const body = {\n name: request?.name,\n numbers: request?.numbers,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<CreateSIPTrunkResponse>\n >(\n 'POST',\n '/api/v2/video/sip/trunks',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.CreateSIPTrunkResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deleteSIPTrunk(request: {\n id: string;\n }): Promise<StreamResponse<DeleteSIPTrunkResponse>> {\n const pathParams = {\n id: request?.id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<DeleteSIPTrunkResponse>\n >('DELETE', '/api/v2/video/sip/trunks/{id}', pathParams, undefined);\n\n decoders.DeleteSIPTrunkResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async updateSIPTrunk(\n request: UpdateSIPTrunkRequest & { id: string },\n ): Promise<StreamResponse<UpdateSIPTrunkResponse>> {\n const pathParams = {\n id: request?.id,\n };\n const body = {\n name: request?.name,\n numbers: request?.numbers,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UpdateSIPTrunkResponse>\n >(\n 'PUT',\n '/api/v2/video/sip/trunks/{id}',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UpdateSIPTrunkResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async queryAggregateCallStats(\n request?: QueryAggregateCallStatsRequest,\n ): Promise<StreamResponse<QueryAggregateCallStatsResponse>> {\n const body = {\n from: request?.from,\n to: request?.to,\n report_types: request?.report_types,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<QueryAggregateCallStatsResponse>\n >(\n 'POST',\n '/api/v2/video/stats',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.QueryAggregateCallStatsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n}\n","import { StreamResponse, VideoApi } from '../../gen-imports';\nimport {\n BlockUserRequest,\n BlockUserResponse,\n CollectUserFeedbackRequest,\n CollectUserFeedbackResponse,\n DeleteCallRequest,\n DeleteCallResponse,\n DeleteRecordingResponse,\n DeleteTranscriptionResponse,\n EndCallResponse,\n GetCallReportResponse,\n GetCallResponse,\n GetOrCreateCallRequest,\n GetOrCreateCallResponse,\n GoLiveRequest,\n GoLiveResponse,\n KickUserRequest,\n KickUserResponse,\n ListRecordingsResponse,\n ListTranscriptionsResponse,\n MuteUsersRequest,\n MuteUsersResponse,\n PinRequest,\n PinResponse,\n QueryCallParticipantsRequest,\n QueryCallParticipantsResponse,\n RingCallRequest,\n RingCallResponse,\n SendCallEventRequest,\n SendCallEventResponse,\n SendClosedCaptionRequest,\n SendClosedCaptionResponse,\n StartClosedCaptionsRequest,\n StartClosedCaptionsResponse,\n StartFrameRecordingRequest,\n StartFrameRecordingResponse,\n StartHLSBroadcastingResponse,\n StartRTMPBroadcastsRequest,\n StartRTMPBroadcastsResponse,\n StartRecordingRequest,\n StartRecordingResponse,\n StartTranscriptionRequest,\n StartTranscriptionResponse,\n StopAllRTMPBroadcastsResponse,\n StopClosedCaptionsRequest,\n StopClosedCaptionsResponse,\n StopFrameRecordingResponse,\n StopHLSBroadcastingResponse,\n StopLiveRequest,\n StopLiveResponse,\n StopRTMPBroadcastsRequest,\n StopRTMPBroadcastsResponse,\n StopRecordingResponse,\n StopTranscriptionRequest,\n StopTranscriptionResponse,\n UnblockUserRequest,\n UnblockUserResponse,\n UnpinRequest,\n UnpinResponse,\n UpdateCallMembersRequest,\n UpdateCallMembersResponse,\n UpdateCallRequest,\n UpdateCallResponse,\n UpdateUserPermissionsRequest,\n UpdateUserPermissionsResponse,\n} from '../models';\n\nexport class CallApi {\n constructor(\n protected videoApi: VideoApi,\n public readonly type: string,\n public readonly id: string,\n ) {}\n\n get(request?: {\n members_limit?: number;\n ring?: boolean;\n notify?: boolean;\n video?: boolean;\n }): Promise<StreamResponse<GetCallResponse>> {\n return this.videoApi.getCall({ id: this.id, type: this.type, ...request });\n }\n\n update(\n request?: UpdateCallRequest,\n ): Promise<StreamResponse<UpdateCallResponse>> {\n return this.videoApi.updateCall({\n id: this.id,\n type: this.type,\n ...request,\n });\n }\n\n getOrCreate(\n request?: GetOrCreateCallRequest,\n ): Promise<StreamResponse<GetOrCreateCallResponse>> {\n return this.videoApi.getOrCreateCall({\n id: this.id,\n type: this.type,\n ...request,\n });\n }\n\n blockUser(\n request: BlockUserRequest,\n ): Promise<StreamResponse<BlockUserResponse>> {\n return this.videoApi.blockUser({\n id: this.id,\n type: this.type,\n ...request,\n });\n }\n\n sendClosedCaption(\n request: SendClosedCaptionRequest,\n ): Promise<StreamResponse<SendClosedCaptionResponse>> {\n return this.videoApi.sendClosedCaption({\n id: this.id,\n type: this.type,\n ...request,\n });\n }\n\n delete(\n request?: DeleteCallRequest,\n ): Promise<StreamResponse<DeleteCallResponse>> {\n return this.videoApi.deleteCall({\n id: this.id,\n type: this.type,\n ...request,\n });\n }\n\n sendCallEvent(\n request?: SendCallEventRequest,\n ): Promise<StreamResponse<SendCallEventResponse>> {\n return this.videoApi.sendCallEvent({\n id: this.id,\n type: this.type,\n ...request,\n });\n }\n\n collectUserFeedback(\n request: CollectUserFeedbackRequest,\n ): Promise<StreamResponse<CollectUserFeedbackResponse>> {\n return this.videoApi.collectUserFeedback({\n id: this.id,\n type: this.type,\n ...request,\n });\n }\n\n goLive(request?: GoLiveRequest): Promise<StreamResponse<GoLiveResponse>> {\n return this.videoApi.goLive({ id: this.id, type: this.type, ...request });\n }\n\n kickUser(\n request: KickUserRequest,\n ): Promise<StreamResponse<KickUserResponse>> {\n return this.videoApi.kickUser({ id: this.id, type: this.type, ...request });\n }\n\n end(): Promise<StreamResponse<EndCallResponse>> {\n return this.videoApi.endCall({ id: this.id, type: this.type });\n }\n\n updateCallMembers(\n request?: UpdateCallMembersRequest,\n ): Promise<StreamResponse<UpdateCallMembersResponse>> {\n return this.videoApi.updateCallMembers({\n id: this.id,\n type: this.type,\n ...request,\n });\n }\n\n muteUsers(\n request?: MuteUsersRequest,\n ): Promise<StreamResponse<MuteUsersResponse>> {\n return this.videoApi.muteUsers({\n id: this.id,\n type: this.type,\n ...request,\n });\n }\n\n queryCallParticipants(\n request?: QueryCallParticipantsRequest & { limit?: number },\n ): Promise<StreamResponse<QueryCallParticipantsResponse>> {\n return this.videoApi.queryCallParticipants({\n id: this.id,\n type: this.type,\n ...request,\n });\n }\n\n videoPin(request: PinRequest): Promise<StreamResponse<PinResponse>> {\n return this.videoApi.videoPin({ id: this.id, type: this.type, ...request });\n }\n\n listRecordings(): Promise<StreamResponse<ListRecordingsResponse>> {\n return this.videoApi.listRecordings({ id: this.id, type: this.type });\n }\n\n getCallReport(request?: {\n session_id?: string;\n }): Promise<StreamResponse<GetCallReportResponse>> {\n return this.videoApi.getCallReport({\n id: this.id,\n type: this.type,\n ...request,\n });\n }\n\n ring(request?: RingCallRequest): Promise<StreamResponse<RingCallResponse>> {\n return this.videoApi.ringCall({ id: this.id, type: this.type, ...request });\n }\n\n startRTMPBroadcasts(\n request: StartRTMPBroadcastsRequest,\n ): Promise<StreamResponse<StartRTMPBroadcastsResponse>> {\n return this.videoApi.startRTMPBroadcasts({\n id: this.id,\n type: this.type,\n ...request,\n });\n }\n\n stopAllRTMPBroadcasts(): Promise<\n StreamResponse<StopAllRTMPBroadcastsResponse>\n > {\n return this.videoApi.stopAllRTMPBroadcasts({\n id: this.id,\n type: this.type,\n });\n }\n\n stopRTMPBroadcast(\n request: StopRTMPBroadcastsRequest & { name: string },\n ): Promise<StreamResponse<StopRTMPBroadcastsResponse>> {\n return this.videoApi.stopRTMPBroadcast({\n id: this.id,\n type: this.type,\n ...request,\n });\n }\n\n startHLSBroadcasting(): Promise<\n StreamResponse<StartHLSBroadcastingResponse>\n > {\n return this.videoApi.startHLSBroadcasting({ id: this.id, type: this.type });\n }\n\n startClosedCaptions(\n request?: StartClosedCaptionsRequest,\n ): Promise<StreamResponse<StartClosedCaptionsResponse>> {\n return this.videoApi.startClosedCaptions({\n id: this.id,\n type: this.type,\n ...request,\n });\n }\n\n startFrameRecording(\n request?: StartFrameRecordingRequest,\n ): Promise<StreamResponse<StartFrameRecordingResponse>> {\n return this.videoApi.startFrameRecording({\n id: this.id,\n type: this.type,\n ...request,\n });\n }\n\n startRecording(\n request?: StartRecordingRequest,\n ): Promise<StreamResponse<StartRecordingResponse>> {\n return this.videoApi.startRecording({\n id: this.id,\n type: this.type,\n ...request,\n });\n }\n\n startTranscription(\n request?: StartTranscriptionRequest,\n ): Promise<StreamResponse<StartTranscriptionResponse>> {\n return this.videoApi.startTranscription({\n id: this.id,\n type: this.type,\n ...request,\n });\n }\n\n stopHLSBroadcasting(): Promise<StreamResponse<StopHLSBroadcastingResponse>> {\n return this.videoApi.stopHLSBroadcasting({ id: this.id, type: this.type });\n }\n\n stopClosedCaptions(\n request?: StopClosedCaptionsRequest,\n ): Promise<StreamResponse<StopClosedCaptionsResponse>> {\n return this.videoApi.stopClosedCaptions({\n id: this.id,\n type: this.type,\n ...request,\n });\n }\n\n stopFrameRecording(): Promise<StreamResponse<StopFrameRecordingResponse>> {\n return this.videoApi.stopFrameRecording({ id: this.id, type: this.type });\n }\n\n stopLive(\n request?: StopLiveRequest,\n ): Promise<StreamResponse<StopLiveResponse>> {\n return this.videoApi.stopLive({ id: this.id, type: this.type, ...request });\n }\n\n stopRecording(): Promise<StreamResponse<StopRecordingResponse>> {\n return this.videoApi.stopRecording({ id: this.id, type: this.type });\n }\n\n stopTranscription(\n request?: StopTranscriptionRequest,\n ): Promise<StreamResponse<StopTranscriptionResponse>> {\n return this.videoApi.stopTranscription({\n id: this.id,\n type: this.type,\n ...request,\n });\n }\n\n listTranscriptions(): Promise<StreamResponse<ListTranscriptionsResponse>> {\n return this.videoApi.listTranscriptions({ id: this.id, type: this.type });\n }\n\n unblockUser(\n request: UnblockUserRequest,\n ): Promise<StreamResponse<UnblockUserResponse>> {\n return this.videoApi.unblockUser({\n id: this.id,\n type: this.type,\n ...request,\n });\n }\n\n videoUnpin(request: UnpinRequest): Promise<StreamResponse<UnpinResponse>> {\n return this.videoApi.videoUnpin({\n id: this.id,\n type: this.type,\n ...request,\n });\n }\n\n updateUserPermissions(\n request: UpdateUserPermissionsRequest,\n ): Promise<StreamResponse<UpdateUserPermissionsResponse>> {\n return this.videoApi.updateUserPermissions({\n id: this.id,\n type: this.type,\n ...request,\n });\n }\n\n deleteRecording(request: {\n session: string;\n filename: string;\n }): Promise<StreamResponse<DeleteRecordingResponse>> {\n return this.videoApi.deleteRecording({\n id: this.id,\n type: this.type,\n ...request,\n });\n }\n\n deleteTranscription(request: {\n session: string;\n filename: string;\n }): Promise<StreamResponse<DeleteTranscriptionResponse>> {\n return this.videoApi.deleteTranscription({\n id: this.id,\n type: this.type,\n ...request,\n });\n }\n}\n","import { VideoApi } from './gen-imports';\nimport {\n CallResponse,\n GetOrCreateCallRequest,\n QueryCallMembersRequest,\n} from './gen/models';\nimport { CallApi } from './gen/video/CallApi';\nimport { StreamClient } from './StreamClient';\nimport { OmitTypeId } from './types';\n\nexport class StreamCall extends CallApi {\n data?: CallResponse;\n\n constructor(\n videoApi: VideoApi,\n readonly type: string,\n readonly id: string,\n private readonly streamClient: StreamClient,\n ) {\n super(videoApi, type, id);\n }\n\n get cid() {\n return `${this.type}:${this.id}`;\n }\n\n create = (request?: GetOrCreateCallRequest) => this.getOrCreate(request);\n\n queryMembers = (request?: OmitTypeId<QueryCallMembersRequest>) => {\n return this.videoApi.queryCallMembers({\n id: this.id,\n type: this.type,\n ...(request ?? {}),\n });\n };\n\n getOrCreate = async (request?: GetOrCreateCallRequest) => {\n const response = await super.getOrCreate(request);\n this.data = response.call;\n return response;\n };\n\n get = async () => {\n const response = await super.get();\n this.data = response.call;\n return response;\n };\n\n createSRTCredentials = (\n userID: string,\n ): {\n address: string;\n } => {\n if (!this.data) {\n throw new Error(\n 'Object is not initialized, call get() or getOrCreate() first',\n );\n }\n\n const token = this.streamClient.generatePermanentUserToken({\n user_id: userID,\n });\n const segments = token.split('.');\n if (segments.length !== 3) {\n throw new Error('Invalid token format');\n }\n\n return {\n address: this.data.ingress.srt.address\n .replace('{passphrase}', segments[2])\n .replace('{token}', token),\n };\n };\n}\n","import { ApiClient } from './ApiClient';\nimport { VideoApi } from './gen/video/VideoApi';\nimport { StreamCall } from './StreamCall';\nimport type { StreamClient } from './StreamClient';\n// eslint-disable-next-line @typescript-eslint/prefer-ts-expect-error\n/** @ts-ignore Optional dependency */\nimport type {\n createRealtimeClient,\n RealtimeAPIModel,\n RealtimeClient,\n} from '@stream-io/openai-realtime-api';\n\nexport class StreamVideoClient extends VideoApi {\n private readonly streamClient: StreamClient;\n\n constructor({\n streamClient,\n apiClient,\n }: {\n streamClient: StreamClient;\n apiClient: ApiClient;\n }) {\n super(apiClient);\n this.streamClient = streamClient;\n }\n\n call = (type: string, id: string) => {\n return new StreamCall(this, type, id, this.streamClient);\n };\n\n connectOpenAi = async (options: {\n call: StreamCall;\n agentUserId: string;\n openAiApiKey: string;\n model?: RealtimeAPIModel;\n validityInSeconds?: number;\n }): Promise<RealtimeClient> => {\n let doCreateRealtimeClient: typeof createRealtimeClient;\n\n try {\n doCreateRealtimeClient = (await import('@stream-io/openai-realtime-api'))\n .createRealtimeClient;\n } catch {\n throw new Error(\n 'Cannot create Realtime API client. Is @stream-io/openai-realtime-api installed?',\n );\n }\n\n if (!options.agentUserId) {\n throw new Error('\"agentUserId\" must by specified in options');\n }\n\n const token = this.streamClient.generateCallToken({\n user_id: options.agentUserId,\n call_cids: [options.call.cid],\n validity_in_seconds: options.validityInSeconds,\n });\n\n const realtimeClient = doCreateRealtimeClient({\n baseUrl: this.streamClient.apiClient.apiConfig.baseUrl,\n call: options.call,\n streamApiKey: this.streamClient.apiClient.apiConfig.apiKey,\n streamUserToken: token,\n openAiApiKey: options.openAiApiKey,\n model: options.model,\n });\n\n await realtimeClient.connect();\n return realtimeClient;\n };\n}\n","import { ApiClient, StreamResponse } from '../../gen-imports';\nimport {\n CampaignResponse,\n CastPollVoteRequest,\n ChannelGetOrCreateRequest,\n ChannelStateResponse,\n CommitMessageRequest,\n CreateChannelTypeRequest,\n CreateChannelTypeResponse,\n CreateCommandRequest,\n CreateCommandResponse,\n CreateReminderRequest,\n DeleteChannelResponse,\n DeleteChannelsRequest,\n DeleteChannelsResponse,\n DeleteCommandResponse,\n DeleteMessageResponse,\n DeleteReactionResponse,\n DeleteReminderResponse,\n DeleteSegmentTargetsRequest,\n EventResponse,\n ExportChannelsRequest,\n ExportChannelsResponse,\n GetCampaignResponse,\n GetChannelTypeResponse,\n GetCommandResponse,\n GetDraftResponse,\n GetManyMessagesResponse,\n GetMessageResponse,\n GetReactionsResponse,\n GetRepliesResponse,\n GetSegmentResponse,\n GetThreadResponse,\n HideChannelRequest,\n HideChannelResponse,\n ListChannelTypesResponse,\n ListCommandsResponse,\n MarkChannelsReadRequest,\n MarkDeliveredRequest,\n MarkDeliveredResponse,\n MarkReadRequest,\n MarkReadResponse,\n MarkUnreadRequest,\n MembersResponse,\n MessageActionRequest,\n MessageResponse,\n MuteChannelRequest,\n MuteChannelResponse,\n PollVoteResponse,\n QueryBannedUsersPayload,\n QueryBannedUsersResponse,\n QueryCampaignsRequest,\n QueryCampaignsResponse,\n QueryChannelsRequest,\n QueryChannelsResponse,\n QueryDraftsRequest,\n QueryDraftsResponse,\n QueryMembersPayload,\n QueryMessageFlagsPayload,\n QueryMessageFlagsResponse,\n QueryMessageHistoryRequest,\n QueryMessageHistoryResponse,\n QueryReactionsRequest,\n QueryReactionsResponse,\n QueryRemindersRequest,\n QueryRemindersResponse,\n QuerySegmentTargetsRequest,\n QuerySegmentTargetsResponse,\n QuerySegmentsRequest,\n QuerySegmentsResponse,\n QueryThreadsRequest,\n QueryThreadsResponse,\n ReminderResponseData,\n Response,\n SearchPayload,\n SearchResponse,\n SendEventRequest,\n SendMessageRequest,\n SendMessageResponse,\n SendReactionRequest,\n SendReactionResponse,\n SendUserCustomEventRequest,\n ShowChannelRequest,\n ShowChannelResponse,\n SortParamRequest,\n StartCampaignRequest,\n StartCampaignResponse,\n StopCampaignRequest,\n TranslateMessageRequest,\n TruncateChannelRequest,\n TruncateChannelResponse,\n UnmuteChannelRequest,\n UnmuteResponse,\n UnreadCountsBatchRequest,\n UnreadCountsBatchResponse,\n UpdateChannelPartialRequest,\n UpdateChannelPartialResponse,\n UpdateChannelRequest,\n UpdateChannelResponse,\n UpdateChannelTypeRequest,\n UpdateChannelTypeResponse,\n UpdateCommandRequest,\n UpdateCommandResponse,\n UpdateMemberPartialRequest,\n UpdateMemberPartialResponse,\n UpdateMessagePartialRequest,\n UpdateMessagePartialResponse,\n UpdateMessageRequest,\n UpdateMessageResponse,\n UpdateReminderRequest,\n UpdateReminderResponse,\n UpdateThreadPartialRequest,\n UpdateThreadPartialResponse,\n UploadChannelFileRequest,\n UploadChannelFileResponse,\n UploadChannelRequest,\n UploadChannelResponse,\n WrappedUnreadCountsResponse,\n} from '../models';\nimport { decoders } from '../model-decoders/decoders';\n\nexport class ChatApi {\n constructor(public readonly apiClient: ApiClient) {}\n\n async queryCampaigns(\n request?: QueryCampaignsRequest,\n ): Promise<StreamResponse<QueryCampaignsResponse>> {\n const body = {\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n user_limit: request?.user_limit,\n sort: request?.sort,\n filter: request?.filter,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<QueryCampaignsResponse>\n >(\n 'POST',\n '/api/v2/chat/campaigns/query',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.QueryCampaignsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getCampaign(request: {\n id: string;\n prev?: string;\n next?: string;\n limit?: number;\n }): Promise<StreamResponse<GetCampaignResponse>> {\n const queryParams = {\n prev: request?.prev,\n next: request?.next,\n limit: request?.limit,\n };\n const pathParams = {\n id: request?.id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<GetCampaignResponse>\n >('GET', '/api/v2/chat/campaigns/{id}', pathParams, queryParams);\n\n decoders.GetCampaignResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async startCampaign(\n request: StartCampaignRequest & { id: string },\n ): Promise<StreamResponse<StartCampaignResponse>> {\n const pathParams = {\n id: request?.id,\n };\n const body = {\n scheduled_for: request?.scheduled_for,\n stop_at: request?.stop_at,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<StartCampaignResponse>\n >(\n 'POST',\n '/api/v2/chat/campaigns/{id}/start',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.StartCampaignResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async scheduleCampaign(\n request: StopCampaignRequest & { id: string },\n ): Promise<StreamResponse<CampaignResponse>> {\n const pathParams = {\n id: request?.id,\n };\n const body = {};\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<CampaignResponse>\n >(\n 'POST',\n '/api/v2/chat/campaigns/{id}/stop',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.CampaignResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async queryChannels(\n request?: QueryChannelsRequest,\n ): Promise<StreamResponse<QueryChannelsResponse>> {\n const body = {\n limit: request?.limit,\n member_limit: request?.member_limit,\n message_limit: request?.message_limit,\n offset: request?.offset,\n state: request?.state,\n user_id: request?.user_id,\n sort: request?.sort,\n filter_conditions: request?.filter_conditions,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<QueryChannelsResponse>\n >(\n 'POST',\n '/api/v2/chat/channels',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.QueryChannelsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deleteChannels(\n request: DeleteChannelsRequest,\n ): Promise<StreamResponse<DeleteChannelsResponse>> {\n const body = {\n cids: request?.cids,\n hard_delete: request?.hard_delete,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<DeleteChannelsResponse>\n >(\n 'POST',\n '/api/v2/chat/channels/delete',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.DeleteChannelsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async markDelivered(\n request?: MarkDeliveredRequest & { user_id?: string },\n ): Promise<StreamResponse<MarkDeliveredResponse>> {\n const queryParams = {\n user_id: request?.user_id,\n };\n const body = {\n latest_delivered_messages: request?.latest_delivered_messages,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<MarkDeliveredResponse>\n >(\n 'POST',\n '/api/v2/chat/channels/delivered',\n undefined,\n queryParams,\n body,\n 'application/json',\n );\n\n decoders.MarkDeliveredResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async markChannelsRead(\n request?: MarkChannelsReadRequest,\n ): Promise<StreamResponse<MarkReadResponse>> {\n const body = {\n user_id: request?.user_id,\n read_by_channel: request?.read_by_channel,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<MarkReadResponse>\n >(\n 'POST',\n '/api/v2/chat/channels/read',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.MarkReadResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getOrCreateDistinctChannel(\n request: ChannelGetOrCreateRequest & { type: string },\n ): Promise<StreamResponse<ChannelStateResponse>> {\n const pathParams = {\n type: request?.type,\n };\n const body = {\n hide_for_creator: request?.hide_for_creator,\n state: request?.state,\n thread_unread_counts: request?.thread_unread_counts,\n data: request?.data,\n members: request?.members,\n messages: request?.messages,\n watchers: request?.watchers,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<ChannelStateResponse>\n >(\n 'POST',\n '/api/v2/chat/channels/{type}/query',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.ChannelStateResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deleteChannel(request: {\n type: string;\n id: string;\n hard_delete?: boolean;\n }): Promise<StreamResponse<DeleteChannelResponse>> {\n const queryParams = {\n hard_delete: request?.hard_delete,\n };\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<DeleteChannelResponse>\n >('DELETE', '/api/v2/chat/channels/{type}/{id}', pathParams, queryParams);\n\n decoders.DeleteChannelResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async updateChannelPartial(\n request: UpdateChannelPartialRequest & { type: string; id: string },\n ): Promise<StreamResponse<UpdateChannelPartialResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n user_id: request?.user_id,\n unset: request?.unset,\n set: request?.set,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UpdateChannelPartialResponse>\n >(\n 'PATCH',\n '/api/v2/chat/channels/{type}/{id}',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UpdateChannelPartialResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async updateChannel(\n request: UpdateChannelRequest & { type: string; id: string },\n ): Promise<StreamResponse<UpdateChannelResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n accept_invite: request?.accept_invite,\n cooldown: request?.cooldown,\n hide_history: request?.hide_history,\n hide_history_before: request?.hide_history_before,\n reject_invite: request?.reject_invite,\n skip_push: request?.skip_push,\n user_id: request?.user_id,\n add_filter_tags: request?.add_filter_tags,\n add_members: request?.add_members,\n add_moderators: request?.add_moderators,\n assign_roles: request?.assign_roles,\n demote_moderators: request?.demote_moderators,\n invites: request?.invites,\n remove_filter_tags: request?.remove_filter_tags,\n remove_members: request?.remove_members,\n data: request?.data,\n message: request?.message,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UpdateChannelResponse>\n >(\n 'POST',\n '/api/v2/chat/channels/{type}/{id}',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UpdateChannelResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deleteDraft(request: {\n type: string;\n id: string;\n parent_id?: string;\n user_id?: string;\n }): Promise<StreamResponse<Response>> {\n const queryParams = {\n parent_id: request?.parent_id,\n user_id: request?.user_id,\n };\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n\n const response = await this.apiClient.sendRequest<StreamResponse<Response>>(\n 'DELETE',\n '/api/v2/chat/channels/{type}/{id}/draft',\n pathParams,\n queryParams,\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getDraft(request: {\n type: string;\n id: string;\n parent_id?: string;\n user_id?: string;\n }): Promise<StreamResponse<GetDraftResponse>> {\n const queryParams = {\n parent_id: request?.parent_id,\n user_id: request?.user_id,\n };\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<GetDraftResponse>\n >(\n 'GET',\n '/api/v2/chat/channels/{type}/{id}/draft',\n pathParams,\n queryParams,\n );\n\n decoders.GetDraftResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async sendEvent(\n request: SendEventRequest & { type: string; id: string },\n ): Promise<StreamResponse<EventResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n event: request?.event,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<EventResponse>\n >(\n 'POST',\n '/api/v2/chat/channels/{type}/{id}/event',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.EventResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deleteChannelFile(request: {\n type: string;\n id: string;\n url?: string;\n }): Promise<StreamResponse<Response>> {\n const queryParams = {\n url: request?.url,\n };\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n\n const response = await this.apiClient.sendRequest<StreamResponse<Response>>(\n 'DELETE',\n '/api/v2/chat/channels/{type}/{id}/file',\n pathParams,\n queryParams,\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async uploadChannelFile(\n request: UploadChannelFileRequest & { type: string; id: string },\n ): Promise<StreamResponse<UploadChannelFileResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n file: request?.file,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UploadChannelFileResponse>\n >(\n 'POST',\n '/api/v2/chat/channels/{type}/{id}/file',\n pathParams,\n undefined,\n body,\n 'multipart/form-data',\n );\n\n decoders.UploadChannelFileResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async hideChannel(\n request: HideChannelRequest & { type: string; id: string },\n ): Promise<StreamResponse<HideChannelResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n clear_history: request?.clear_history,\n user_id: request?.user_id,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<HideChannelResponse>\n >(\n 'POST',\n '/api/v2/chat/channels/{type}/{id}/hide',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.HideChannelResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deleteChannelImage(request: {\n type: string;\n id: string;\n url?: string;\n }): Promise<StreamResponse<Response>> {\n const queryParams = {\n url: request?.url,\n };\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n\n const response = await this.apiClient.sendRequest<StreamResponse<Response>>(\n 'DELETE',\n '/api/v2/chat/channels/{type}/{id}/image',\n pathParams,\n queryParams,\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async uploadChannelImage(\n request: UploadChannelRequest & { type: string; id: string },\n ): Promise<StreamResponse<UploadChannelResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n file: request?.file,\n upload_sizes: request?.upload_sizes,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UploadChannelResponse>\n >(\n 'POST',\n '/api/v2/chat/channels/{type}/{id}/image',\n pathParams,\n undefined,\n body,\n 'multipart/form-data',\n );\n\n decoders.UploadChannelResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async updateMemberPartial(\n request: UpdateMemberPartialRequest & {\n type: string;\n id: string;\n user_id?: string;\n },\n ): Promise<StreamResponse<UpdateMemberPartialResponse>> {\n const queryParams = {\n user_id: request?.user_id,\n };\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n unset: request?.unset,\n set: request?.set,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UpdateMemberPartialResponse>\n >(\n 'PATCH',\n '/api/v2/chat/channels/{type}/{id}/member',\n pathParams,\n queryParams,\n body,\n 'application/json',\n );\n\n decoders.UpdateMemberPartialResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async sendMessage(\n request: SendMessageRequest & { type: string; id: string },\n ): Promise<StreamResponse<SendMessageResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n message: request?.message,\n force_moderation: request?.force_moderation,\n keep_channel_hidden: request?.keep_channel_hidden,\n pending: request?.pending,\n skip_enrich_url: request?.skip_enrich_url,\n skip_push: request?.skip_push,\n pending_message_metadata: request?.pending_message_metadata,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<SendMessageResponse>\n >(\n 'POST',\n '/api/v2/chat/channels/{type}/{id}/message',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.SendMessageResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getManyMessages(request: {\n type: string;\n id: string;\n ids: string[];\n }): Promise<StreamResponse<GetManyMessagesResponse>> {\n const queryParams = {\n ids: request?.ids,\n };\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<GetManyMessagesResponse>\n >(\n 'GET',\n '/api/v2/chat/channels/{type}/{id}/messages',\n pathParams,\n queryParams,\n );\n\n decoders.GetManyMessagesResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getOrCreateChannel(\n request: ChannelGetOrCreateRequest & { type: string; id: string },\n ): Promise<StreamResponse<ChannelStateResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n hide_for_creator: request?.hide_for_creator,\n state: request?.state,\n thread_unread_counts: request?.thread_unread_counts,\n data: request?.data,\n members: request?.members,\n messages: request?.messages,\n watchers: request?.watchers,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<ChannelStateResponse>\n >(\n 'POST',\n '/api/v2/chat/channels/{type}/{id}/query',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.ChannelStateResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async markRead(\n request: MarkReadRequest & { type: string; id: string },\n ): Promise<StreamResponse<MarkReadResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n message_id: request?.message_id,\n thread_id: request?.thread_id,\n user_id: request?.user_id,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<MarkReadResponse>\n >(\n 'POST',\n '/api/v2/chat/channels/{type}/{id}/read',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.MarkReadResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async showChannel(\n request: ShowChannelRequest & { type: string; id: string },\n ): Promise<StreamResponse<ShowChannelResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n user_id: request?.user_id,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<ShowChannelResponse>\n >(\n 'POST',\n '/api/v2/chat/channels/{type}/{id}/show',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.ShowChannelResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async truncateChannel(\n request: TruncateChannelRequest & { type: string; id: string },\n ): Promise<StreamResponse<TruncateChannelResponse>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n hard_delete: request?.hard_delete,\n skip_push: request?.skip_push,\n truncated_at: request?.truncated_at,\n user_id: request?.user_id,\n member_ids: request?.member_ids,\n message: request?.message,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<TruncateChannelResponse>\n >(\n 'POST',\n '/api/v2/chat/channels/{type}/{id}/truncate',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.TruncateChannelResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async markUnread(\n request: MarkUnreadRequest & { type: string; id: string },\n ): Promise<StreamResponse<Response>> {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n message_id: request?.message_id,\n message_timestamp: request?.message_timestamp,\n thread_id: request?.thread_id,\n user_id: request?.user_id,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<StreamResponse<Response>>(\n 'POST',\n '/api/v2/chat/channels/{type}/{id}/unread',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async listChannelTypes(): Promise<StreamResponse<ListChannelTypesResponse>> {\n const response = await this.apiClient.sendRequest<\n StreamResponse<ListChannelTypesResponse>\n >('GET', '/api/v2/chat/channeltypes', undefined, undefined);\n\n decoders.ListChannelTypesResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async createChannelType(\n request: CreateChannelTypeRequest,\n ): Promise<StreamResponse<CreateChannelTypeResponse>> {\n const body = {\n automod: request?.automod,\n automod_behavior: request?.automod_behavior,\n max_message_length: request?.max_message_length,\n name: request?.name,\n blocklist: request?.blocklist,\n blocklist_behavior: request?.blocklist_behavior,\n connect_events: request?.connect_events,\n count_messages: request?.count_messages,\n custom_events: request?.custom_events,\n delivery_events: request?.delivery_events,\n mark_messages_pending: request?.mark_messages_pending,\n message_retention: request?.message_retention,\n mutes: request?.mutes,\n partition_size: request?.partition_size,\n partition_ttl: request?.partition_ttl,\n polls: request?.polls,\n push_notifications: request?.push_notifications,\n reactions: request?.reactions,\n read_events: request?.read_events,\n replies: request?.replies,\n search: request?.search,\n shared_locations: request?.shared_locations,\n skip_last_msg_update_for_system_msgs:\n request?.skip_last_msg_update_for_system_msgs,\n typing_events: request?.typing_events,\n uploads: request?.uploads,\n url_enrichment: request?.url_enrichment,\n user_message_reminders: request?.user_message_reminders,\n blocklists: request?.blocklists,\n commands: request?.commands,\n permissions: request?.permissions,\n grants: request?.grants,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<CreateChannelTypeResponse>\n >(\n 'POST',\n '/api/v2/chat/channeltypes',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.CreateChannelTypeResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deleteChannelType(request: {\n name: string;\n }): Promise<StreamResponse<Response>> {\n const pathParams = {\n name: request?.name,\n };\n\n const response = await this.apiClient.sendRequest<StreamResponse<Response>>(\n 'DELETE',\n '/api/v2/chat/channeltypes/{name}',\n pathParams,\n undefined,\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getChannelType(request: {\n name: string;\n }): Promise<StreamResponse<GetChannelTypeResponse>> {\n const pathParams = {\n name: request?.name,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<GetChannelTypeResponse>\n >('GET', '/api/v2/chat/channeltypes/{name}', pathParams, undefined);\n\n decoders.GetChannelTypeResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async updateChannelType(\n request: UpdateChannelTypeRequest & { name: string },\n ): Promise<StreamResponse<UpdateChannelTypeResponse>> {\n const pathParams = {\n name: request?.name,\n };\n const body = {\n automod: request?.automod,\n automod_behavior: request?.automod_behavior,\n max_message_length: request?.max_message_length,\n blocklist: request?.blocklist,\n blocklist_behavior: request?.blocklist_behavior,\n connect_events: request?.connect_events,\n count_messages: request?.count_messages,\n custom_events: request?.custom_events,\n delivery_events: request?.delivery_events,\n mark_messages_pending: request?.mark_messages_pending,\n mutes: request?.mutes,\n partition_size: request?.partition_size,\n partition_ttl: request?.partition_ttl,\n polls: request?.polls,\n push_notifications: request?.push_notifications,\n quotes: request?.quotes,\n reactions: request?.reactions,\n read_events: request?.read_events,\n reminders: request?.reminders,\n replies: request?.replies,\n search: request?.search,\n shared_locations: request?.shared_locations,\n skip_last_msg_update_for_system_msgs:\n request?.skip_last_msg_update_for_system_msgs,\n typing_events: request?.typing_events,\n uploads: request?.uploads,\n url_enrichment: request?.url_enrichment,\n user_message_reminders: request?.user_message_reminders,\n allowed_flag_reasons: request?.allowed_flag_reasons,\n blocklists: request?.blocklists,\n commands: request?.commands,\n permissions: request?.permissions,\n automod_thresholds: request?.automod_thresholds,\n grants: request?.grants,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UpdateChannelTypeResponse>\n >(\n 'PUT',\n '/api/v2/chat/channeltypes/{name}',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UpdateChannelTypeResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async listCommands(): Promise<StreamResponse<ListCommandsResponse>> {\n const response = await this.apiClient.sendRequest<\n StreamResponse<ListCommandsResponse>\n >('GET', '/api/v2/chat/commands', undefined, undefined);\n\n decoders.ListCommandsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async createCommand(\n request: CreateCommandRequest,\n ): Promise<StreamResponse<CreateCommandResponse>> {\n const body = {\n description: request?.description,\n name: request?.name,\n args: request?.args,\n set: request?.set,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<CreateCommandResponse>\n >(\n 'POST',\n '/api/v2/chat/commands',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.CreateCommandResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deleteCommand(request: {\n name: string;\n }): Promise<StreamResponse<DeleteCommandResponse>> {\n const pathParams = {\n name: request?.name,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<DeleteCommandResponse>\n >('DELETE', '/api/v2/chat/commands/{name}', pathParams, undefined);\n\n decoders.DeleteCommandResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getCommand(request: {\n name: string;\n }): Promise<StreamResponse<GetCommandResponse>> {\n const pathParams = {\n name: request?.name,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<GetCommandResponse>\n >('GET', '/api/v2/chat/commands/{name}', pathParams, undefined);\n\n decoders.GetCommandResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async updateCommand(\n request: UpdateCommandRequest & { name: string },\n ): Promise<StreamResponse<UpdateCommandResponse>> {\n const pathParams = {\n name: request?.name,\n };\n const body = {\n description: request?.description,\n args: request?.args,\n set: request?.set,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UpdateCommandResponse>\n >(\n 'PUT',\n '/api/v2/chat/commands/{name}',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UpdateCommandResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async queryDrafts(\n request?: QueryDraftsRequest,\n ): Promise<StreamResponse<QueryDraftsResponse>> {\n const body = {\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n user_id: request?.user_id,\n sort: request?.sort,\n filter: request?.filter,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<QueryDraftsResponse>\n >(\n 'POST',\n '/api/v2/chat/drafts/query',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.QueryDraftsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async exportChannels(\n request: ExportChannelsRequest,\n ): Promise<StreamResponse<ExportChannelsResponse>> {\n const body = {\n channels: request?.channels,\n clear_deleted_message_text: request?.clear_deleted_message_text,\n export_users: request?.export_users,\n include_soft_deleted_channels: request?.include_soft_deleted_channels,\n include_truncated_messages: request?.include_truncated_messages,\n version: request?.version,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<ExportChannelsResponse>\n >(\n 'POST',\n '/api/v2/chat/export_channels',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.ExportChannelsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async queryMembers(request?: {\n payload?: QueryMembersPayload;\n }): Promise<StreamResponse<MembersResponse>> {\n const queryParams = {\n payload: request?.payload,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<MembersResponse>\n >('GET', '/api/v2/chat/members', undefined, queryParams);\n\n decoders.MembersResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async queryMessageHistory(\n request: QueryMessageHistoryRequest,\n ): Promise<StreamResponse<QueryMessageHistoryResponse>> {\n const body = {\n filter: request?.filter,\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n sort: request?.sort,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<QueryMessageHistoryResponse>\n >(\n 'POST',\n '/api/v2/chat/messages/history',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.QueryMessageHistoryResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deleteMessage(request: {\n id: string;\n hard?: boolean;\n deleted_by?: string;\n delete_for_me?: boolean;\n }): Promise<StreamResponse<DeleteMessageResponse>> {\n const queryParams = {\n hard: request?.hard,\n deleted_by: request?.deleted_by,\n delete_for_me: request?.delete_for_me,\n };\n const pathParams = {\n id: request?.id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<DeleteMessageResponse>\n >('DELETE', '/api/v2/chat/messages/{id}', pathParams, queryParams);\n\n decoders.DeleteMessageResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getMessage(request: {\n id: string;\n show_deleted_message?: boolean;\n }): Promise<StreamResponse<GetMessageResponse>> {\n const queryParams = {\n show_deleted_message: request?.show_deleted_message,\n };\n const pathParams = {\n id: request?.id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<GetMessageResponse>\n >('GET', '/api/v2/chat/messages/{id}', pathParams, queryParams);\n\n decoders.GetMessageResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async updateMessage(\n request: UpdateMessageRequest & { id: string },\n ): Promise<StreamResponse<UpdateMessageResponse>> {\n const pathParams = {\n id: request?.id,\n };\n const body = {\n message: request?.message,\n skip_enrich_url: request?.skip_enrich_url,\n skip_push: request?.skip_push,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UpdateMessageResponse>\n >(\n 'POST',\n '/api/v2/chat/messages/{id}',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UpdateMessageResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async updateMessagePartial(\n request: UpdateMessagePartialRequest & { id: string },\n ): Promise<StreamResponse<UpdateMessagePartialResponse>> {\n const pathParams = {\n id: request?.id,\n };\n const body = {\n skip_enrich_url: request?.skip_enrich_url,\n user_id: request?.user_id,\n unset: request?.unset,\n set: request?.set,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UpdateMessagePartialResponse>\n >(\n 'PUT',\n '/api/v2/chat/messages/{id}',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UpdateMessagePartialResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async runMessageAction(\n request: MessageActionRequest & { id: string },\n ): Promise<StreamResponse<MessageResponse>> {\n const pathParams = {\n id: request?.id,\n };\n const body = {\n form_data: request?.form_data,\n user_id: request?.user_id,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<MessageResponse>\n >(\n 'POST',\n '/api/v2/chat/messages/{id}/action',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.MessageResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async commitMessage(\n request: CommitMessageRequest & { id: string },\n ): Promise<StreamResponse<MessageResponse>> {\n const pathParams = {\n id: request?.id,\n };\n const body = {};\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<MessageResponse>\n >(\n 'POST',\n '/api/v2/chat/messages/{id}/commit',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.MessageResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async ephemeralMessageUpdate(\n request: UpdateMessagePartialRequest & { id: string },\n ): Promise<StreamResponse<UpdateMessagePartialResponse>> {\n const pathParams = {\n id: request?.id,\n };\n const body = {\n skip_enrich_url: request?.skip_enrich_url,\n user_id: request?.user_id,\n unset: request?.unset,\n set: request?.set,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UpdateMessagePartialResponse>\n >(\n 'PATCH',\n '/api/v2/chat/messages/{id}/ephemeral',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UpdateMessagePartialResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async sendReaction(\n request: SendReactionRequest & { id: string },\n ): Promise<StreamResponse<SendReactionResponse>> {\n const pathParams = {\n id: request?.id,\n };\n const body = {\n reaction: request?.reaction,\n enforce_unique: request?.enforce_unique,\n skip_push: request?.skip_push,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<SendReactionResponse>\n >(\n 'POST',\n '/api/v2/chat/messages/{id}/reaction',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.SendReactionResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deleteReaction(request: {\n id: string;\n type: string;\n user_id?: string;\n }): Promise<StreamResponse<DeleteReactionResponse>> {\n const queryParams = {\n user_id: request?.user_id,\n };\n const pathParams = {\n id: request?.id,\n type: request?.type,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<DeleteReactionResponse>\n >(\n 'DELETE',\n '/api/v2/chat/messages/{id}/reaction/{type}',\n pathParams,\n queryParams,\n );\n\n decoders.DeleteReactionResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getReactions(request: {\n id: string;\n limit?: number;\n offset?: number;\n }): Promise<StreamResponse<GetReactionsResponse>> {\n const queryParams = {\n limit: request?.limit,\n offset: request?.offset,\n };\n const pathParams = {\n id: request?.id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<GetReactionsResponse>\n >('GET', '/api/v2/chat/messages/{id}/reactions', pathParams, queryParams);\n\n decoders.GetReactionsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async queryReactions(\n request: QueryReactionsRequest & { id: string },\n ): Promise<StreamResponse<QueryReactionsResponse>> {\n const pathParams = {\n id: request?.id,\n };\n const body = {\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n user_id: request?.user_id,\n sort: request?.sort,\n filter: request?.filter,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<QueryReactionsResponse>\n >(\n 'POST',\n '/api/v2/chat/messages/{id}/reactions',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.QueryReactionsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async translateMessage(\n request: TranslateMessageRequest & { id: string },\n ): Promise<StreamResponse<MessageResponse>> {\n const pathParams = {\n id: request?.id,\n };\n const body = {\n language: request?.language,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<MessageResponse>\n >(\n 'POST',\n '/api/v2/chat/messages/{id}/translate',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.MessageResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async undeleteMessage(\n request: UpdateMessageRequest & { id: string },\n ): Promise<StreamResponse<UpdateMessageResponse>> {\n const pathParams = {\n id: request?.id,\n };\n const body = {\n message: request?.message,\n skip_enrich_url: request?.skip_enrich_url,\n skip_push: request?.skip_push,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UpdateMessageResponse>\n >(\n 'POST',\n '/api/v2/chat/messages/{id}/undelete',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UpdateMessageResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async castPollVote(\n request: CastPollVoteRequest & { message_id: string; poll_id: string },\n ): Promise<StreamResponse<PollVoteResponse>> {\n const pathParams = {\n message_id: request?.message_id,\n poll_id: request?.poll_id,\n };\n const body = {\n user_id: request?.user_id,\n user: request?.user,\n vote: request?.vote,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<PollVoteResponse>\n >(\n 'POST',\n '/api/v2/chat/messages/{message_id}/polls/{poll_id}/vote',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.PollVoteResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deletePollVote(request: {\n message_id: string;\n poll_id: string;\n vote_id: string;\n user_id?: string;\n }): Promise<StreamResponse<PollVoteResponse>> {\n const queryParams = {\n user_id: request?.user_id,\n };\n const pathParams = {\n message_id: request?.message_id,\n poll_id: request?.poll_id,\n vote_id: request?.vote_id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<PollVoteResponse>\n >(\n 'DELETE',\n '/api/v2/chat/messages/{message_id}/polls/{poll_id}/vote/{vote_id}',\n pathParams,\n queryParams,\n );\n\n decoders.PollVoteResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deleteReminder(request: {\n message_id: string;\n user_id?: string;\n }): Promise<StreamResponse<DeleteReminderResponse>> {\n const queryParams = {\n user_id: request?.user_id,\n };\n const pathParams = {\n message_id: request?.message_id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<DeleteReminderResponse>\n >(\n 'DELETE',\n '/api/v2/chat/messages/{message_id}/reminders',\n pathParams,\n queryParams,\n );\n\n decoders.DeleteReminderResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async updateReminder(\n request: UpdateReminderRequest & { message_id: string },\n ): Promise<StreamResponse<UpdateReminderResponse>> {\n const pathParams = {\n message_id: request?.message_id,\n };\n const body = {\n remind_at: request?.remind_at,\n user_id: request?.user_id,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UpdateReminderResponse>\n >(\n 'PATCH',\n '/api/v2/chat/messages/{message_id}/reminders',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UpdateReminderResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async createReminder(\n request: CreateReminderRequest & { message_id: string },\n ): Promise<StreamResponse<ReminderResponseData>> {\n const pathParams = {\n message_id: request?.message_id,\n };\n const body = {\n remind_at: request?.remind_at,\n user_id: request?.user_id,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<ReminderResponseData>\n >(\n 'POST',\n '/api/v2/chat/messages/{message_id}/reminders',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.ReminderResponseData?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getReplies(request: {\n parent_id: string;\n limit?: number;\n id_gte?: string;\n id_gt?: string;\n id_lte?: string;\n id_lt?: string;\n id_around?: string;\n sort?: SortParamRequest[];\n }): Promise<StreamResponse<GetRepliesResponse>> {\n const queryParams = {\n limit: request?.limit,\n id_gte: request?.id_gte,\n id_gt: request?.id_gt,\n id_lte: request?.id_lte,\n id_lt: request?.id_lt,\n id_around: request?.id_around,\n sort: request?.sort,\n };\n const pathParams = {\n parent_id: request?.parent_id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<GetRepliesResponse>\n >(\n 'GET',\n '/api/v2/chat/messages/{parent_id}/replies',\n pathParams,\n queryParams,\n );\n\n decoders.GetRepliesResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async queryMessageFlags(request?: {\n payload?: QueryMessageFlagsPayload;\n }): Promise<StreamResponse<QueryMessageFlagsResponse>> {\n const queryParams = {\n payload: request?.payload,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<QueryMessageFlagsResponse>\n >('GET', '/api/v2/chat/moderation/flags/message', undefined, queryParams);\n\n decoders.QueryMessageFlagsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async muteChannel(\n request?: MuteChannelRequest,\n ): Promise<StreamResponse<MuteChannelResponse>> {\n const body = {\n expiration: request?.expiration,\n user_id: request?.user_id,\n channel_cids: request?.channel_cids,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<MuteChannelResponse>\n >(\n 'POST',\n '/api/v2/chat/moderation/mute/channel',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.MuteChannelResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async unmuteChannel(\n request?: UnmuteChannelRequest,\n ): Promise<StreamResponse<UnmuteResponse>> {\n const body = {\n expiration: request?.expiration,\n user_id: request?.user_id,\n channel_cids: request?.channel_cids,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UnmuteResponse>\n >(\n 'POST',\n '/api/v2/chat/moderation/unmute/channel',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UnmuteResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async queryBannedUsers(request?: {\n payload?: QueryBannedUsersPayload;\n }): Promise<StreamResponse<QueryBannedUsersResponse>> {\n const queryParams = {\n payload: request?.payload,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<QueryBannedUsersResponse>\n >('GET', '/api/v2/chat/query_banned_users', undefined, queryParams);\n\n decoders.QueryBannedUsersResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async queryReminders(\n request?: QueryRemindersRequest,\n ): Promise<StreamResponse<QueryRemindersResponse>> {\n const body = {\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n user_id: request?.user_id,\n sort: request?.sort,\n filter: request?.filter,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<QueryRemindersResponse>\n >(\n 'POST',\n '/api/v2/chat/reminders/query',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.QueryRemindersResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async search(request?: {\n payload?: SearchPayload;\n }): Promise<StreamResponse<SearchResponse>> {\n const queryParams = {\n payload: request?.payload,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<SearchResponse>\n >('GET', '/api/v2/chat/search', undefined, queryParams);\n\n decoders.SearchResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async querySegments(\n request: QuerySegmentsRequest,\n ): Promise<StreamResponse<QuerySegmentsResponse>> {\n const body = {\n filter: request?.filter,\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n sort: request?.sort,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<QuerySegmentsResponse>\n >(\n 'POST',\n '/api/v2/chat/segments/query',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.QuerySegmentsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deleteSegment(request: {\n id: string;\n }): Promise<StreamResponse<Response>> {\n const pathParams = {\n id: request?.id,\n };\n\n const response = await this.apiClient.sendRequest<StreamResponse<Response>>(\n 'DELETE',\n '/api/v2/chat/segments/{id}',\n pathParams,\n undefined,\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getSegment(request: {\n id: string;\n }): Promise<StreamResponse<GetSegmentResponse>> {\n const pathParams = {\n id: request?.id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<GetSegmentResponse>\n >('GET', '/api/v2/chat/segments/{id}', pathParams, undefined);\n\n decoders.GetSegmentResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deleteSegmentTargets(\n request: DeleteSegmentTargetsRequest & { id: string },\n ): Promise<StreamResponse<Response>> {\n const pathParams = {\n id: request?.id,\n };\n const body = {\n target_ids: request?.target_ids,\n };\n\n const response = await this.apiClient.sendRequest<StreamResponse<Response>>(\n 'POST',\n '/api/v2/chat/segments/{id}/deletetargets',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async segmentTargetExists(request: {\n id: string;\n target_id: string;\n }): Promise<StreamResponse<Response>> {\n const pathParams = {\n id: request?.id,\n target_id: request?.target_id,\n };\n\n const response = await this.apiClient.sendRequest<StreamResponse<Response>>(\n 'GET',\n '/api/v2/chat/segments/{id}/target/{target_id}',\n pathParams,\n undefined,\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async querySegmentTargets(\n request: QuerySegmentTargetsRequest & { id: string },\n ): Promise<StreamResponse<QuerySegmentTargetsResponse>> {\n const pathParams = {\n id: request?.id,\n };\n const body = {\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n sort: request?.sort,\n filter: request?.filter,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<QuerySegmentTargetsResponse>\n >(\n 'POST',\n '/api/v2/chat/segments/{id}/targets/query',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.QuerySegmentTargetsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async queryThreads(\n request?: QueryThreadsRequest,\n ): Promise<StreamResponse<QueryThreadsResponse>> {\n const body = {\n limit: request?.limit,\n member_limit: request?.member_limit,\n next: request?.next,\n participant_limit: request?.participant_limit,\n prev: request?.prev,\n reply_limit: request?.reply_limit,\n user_id: request?.user_id,\n sort: request?.sort,\n filter: request?.filter,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<QueryThreadsResponse>\n >(\n 'POST',\n '/api/v2/chat/threads',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.QueryThreadsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getThread(request: {\n message_id: string;\n reply_limit?: number;\n participant_limit?: number;\n member_limit?: number;\n }): Promise<StreamResponse<GetThreadResponse>> {\n const queryParams = {\n reply_limit: request?.reply_limit,\n participant_limit: request?.participant_limit,\n member_limit: request?.member_limit,\n };\n const pathParams = {\n message_id: request?.message_id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<GetThreadResponse>\n >('GET', '/api/v2/chat/threads/{message_id}', pathParams, queryParams);\n\n decoders.GetThreadResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async updateThreadPartial(\n request: UpdateThreadPartialRequest & { message_id: string },\n ): Promise<StreamResponse<UpdateThreadPartialResponse>> {\n const pathParams = {\n message_id: request?.message_id,\n };\n const body = {\n user_id: request?.user_id,\n unset: request?.unset,\n set: request?.set,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UpdateThreadPartialResponse>\n >(\n 'PATCH',\n '/api/v2/chat/threads/{message_id}',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UpdateThreadPartialResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async unreadCounts(request?: {\n user_id?: string;\n }): Promise<StreamResponse<WrappedUnreadCountsResponse>> {\n const queryParams = {\n user_id: request?.user_id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<WrappedUnreadCountsResponse>\n >('GET', '/api/v2/chat/unread', undefined, queryParams);\n\n decoders.WrappedUnreadCountsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async unreadCountsBatch(\n request: UnreadCountsBatchRequest,\n ): Promise<StreamResponse<UnreadCountsBatchResponse>> {\n const body = {\n user_ids: request?.user_ids,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UnreadCountsBatchResponse>\n >(\n 'POST',\n '/api/v2/chat/unread_batch',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UnreadCountsBatchResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async sendUserCustomEvent(\n request: SendUserCustomEventRequest & { user_id: string },\n ): Promise<StreamResponse<Response>> {\n const pathParams = {\n user_id: request?.user_id,\n };\n const body = {\n event: request?.event,\n };\n\n const response = await this.apiClient.sendRequest<StreamResponse<Response>>(\n 'POST',\n '/api/v2/chat/users/{user_id}/event',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n}\n","import { StreamResponse, ChatApi } from '../../gen-imports';\nimport {\n ChannelGetOrCreateRequest,\n ChannelStateResponse,\n DeleteChannelResponse,\n EventResponse,\n GetDraftResponse,\n GetManyMessagesResponse,\n HideChannelRequest,\n HideChannelResponse,\n MarkReadRequest,\n MarkReadResponse,\n MarkUnreadRequest,\n Response,\n SendEventRequest,\n SendMessageRequest,\n SendMessageResponse,\n ShowChannelRequest,\n ShowChannelResponse,\n TruncateChannelRequest,\n TruncateChannelResponse,\n UpdateChannelPartialRequest,\n UpdateChannelPartialResponse,\n UpdateChannelRequest,\n UpdateChannelResponse,\n UpdateMemberPartialRequest,\n UpdateMemberPartialResponse,\n UploadChannelFileRequest,\n UploadChannelFileResponse,\n UploadChannelRequest,\n UploadChannelResponse,\n} from '../models';\n\nexport class ChannelApi {\n constructor(\n protected chatApi: ChatApi,\n public readonly type: string,\n public id: string | undefined,\n ) {}\n\n delete(request?: {\n hard_delete?: boolean;\n }): Promise<StreamResponse<DeleteChannelResponse>> {\n if (!this.id) {\n throw new Error(\n `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,\n );\n }\n\n return this.chatApi.deleteChannel({\n id: this.id,\n type: this.type,\n ...request,\n });\n }\n\n updateChannelPartial(\n request?: UpdateChannelPartialRequest,\n ): Promise<StreamResponse<UpdateChannelPartialResponse>> {\n if (!this.id) {\n throw new Error(\n `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,\n );\n }\n\n return this.chatApi.updateChannelPartial({\n id: this.id,\n type: this.type,\n ...request,\n });\n }\n\n update(\n request?: UpdateChannelRequest,\n ): Promise<StreamResponse<UpdateChannelResponse>> {\n if (!this.id) {\n throw new Error(\n `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,\n );\n }\n\n return this.chatApi.updateChannel({\n id: this.id,\n type: this.type,\n ...request,\n });\n }\n\n deleteDraft(request?: {\n parent_id?: string;\n user_id?: string;\n }): Promise<StreamResponse<Response>> {\n if (!this.id) {\n throw new Error(\n `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,\n );\n }\n\n return this.chatApi.deleteDraft({\n id: this.id,\n type: this.type,\n ...request,\n });\n }\n\n getDraft(request?: {\n parent_id?: string;\n user_id?: string;\n }): Promise<StreamResponse<GetDraftResponse>> {\n if (!this.id) {\n throw new Error(\n `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,\n );\n }\n\n return this.chatApi.getDraft({ id: this.id, type: this.type, ...request });\n }\n\n sendEvent(request: SendEventRequest): Promise<StreamResponse<EventResponse>> {\n if (!this.id) {\n throw new Error(\n `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,\n );\n }\n\n return this.chatApi.sendEvent({ id: this.id, type: this.type, ...request });\n }\n\n deleteChannelFile(request?: {\n url?: string;\n }): Promise<StreamResponse<Response>> {\n if (!this.id) {\n throw new Error(\n `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,\n );\n }\n\n return this.chatApi.deleteChannelFile({\n id: this.id,\n type: this.type,\n ...request,\n });\n }\n\n uploadChannelFile(\n request?: UploadChannelFileRequest,\n ): Promise<StreamResponse<UploadChannelFileResponse>> {\n if (!this.id) {\n throw new Error(\n `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,\n );\n }\n\n return this.chatApi.uploadChannelFile({\n id: this.id,\n type: this.type,\n ...request,\n });\n }\n\n hide(\n request?: HideChannelRequest,\n ): Promise<StreamResponse<HideChannelResponse>> {\n if (!this.id) {\n throw new Error(\n `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,\n );\n }\n\n return this.chatApi.hideChannel({\n id: this.id,\n type: this.type,\n ...request,\n });\n }\n\n deleteChannelImage(request?: {\n url?: string;\n }): Promise<StreamResponse<Response>> {\n if (!this.id) {\n throw new Error(\n `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,\n );\n }\n\n return this.chatApi.deleteChannelImage({\n id: this.id,\n type: this.type,\n ...request,\n });\n }\n\n uploadChannelImage(\n request?: UploadChannelRequest,\n ): Promise<StreamResponse<UploadChannelResponse>> {\n if (!this.id) {\n throw new Error(\n `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,\n );\n }\n\n return this.chatApi.uploadChannelImage({\n id: this.id,\n type: this.type,\n ...request,\n });\n }\n\n updateMemberPartial(\n request?: UpdateMemberPartialRequest & { user_id?: string },\n ): Promise<StreamResponse<UpdateMemberPartialResponse>> {\n if (!this.id) {\n throw new Error(\n `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,\n );\n }\n\n return this.chatApi.updateMemberPartial({\n id: this.id,\n type: this.type,\n ...request,\n });\n }\n\n sendMessage(\n request: SendMessageRequest,\n ): Promise<StreamResponse<SendMessageResponse>> {\n if (!this.id) {\n throw new Error(\n `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,\n );\n }\n\n return this.chatApi.sendMessage({\n id: this.id,\n type: this.type,\n ...request,\n });\n }\n\n getManyMessages(request: {\n ids: string[];\n }): Promise<StreamResponse<GetManyMessagesResponse>> {\n if (!this.id) {\n throw new Error(\n `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,\n );\n }\n\n return this.chatApi.getManyMessages({\n id: this.id,\n type: this.type,\n ...request,\n });\n }\n\n getOrCreate(\n request?: ChannelGetOrCreateRequest,\n ): Promise<StreamResponse<ChannelStateResponse>> {\n if (!this.id) {\n throw new Error(\n `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,\n );\n }\n\n return this.chatApi.getOrCreateChannel({\n id: this.id,\n type: this.type,\n ...request,\n });\n }\n\n markRead(\n request?: MarkReadRequest,\n ): Promise<StreamResponse<MarkReadResponse>> {\n if (!this.id) {\n throw new Error(\n `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,\n );\n }\n\n return this.chatApi.markRead({ id: this.id, type: this.type, ...request });\n }\n\n show(\n request?: ShowChannelRequest,\n ): Promise<StreamResponse<ShowChannelResponse>> {\n if (!this.id) {\n throw new Error(\n `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,\n );\n }\n\n return this.chatApi.showChannel({\n id: this.id,\n type: this.type,\n ...request,\n });\n }\n\n truncate(\n request?: TruncateChannelRequest,\n ): Promise<StreamResponse<TruncateChannelResponse>> {\n if (!this.id) {\n throw new Error(\n `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,\n );\n }\n\n return this.chatApi.truncateChannel({\n id: this.id,\n type: this.type,\n ...request,\n });\n }\n\n markUnread(request?: MarkUnreadRequest): Promise<StreamResponse<Response>> {\n if (!this.id) {\n throw new Error(\n `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,\n );\n }\n\n return this.chatApi.markUnread({\n id: this.id,\n type: this.type,\n ...request,\n });\n }\n}\n","import { ChannelApi } from './gen/chat/ChannelApi';\nimport { ChannelGetOrCreateRequest, QueryMembersPayload } from './gen/models';\nimport { OmitTypeId } from './types';\n\nexport class StreamChannel extends ChannelApi {\n get cid() {\n return `${this.type}:${this.id}`;\n }\n\n getOrCreate = (channel_get_or_create_request?: ChannelGetOrCreateRequest) => {\n if (!this.id) {\n return this.chatApi\n .getOrCreateDistinctChannel({\n type: this.type,\n ...channel_get_or_create_request,\n })\n .then((response) => {\n this.id = response.channel?.id;\n return response;\n });\n } else {\n return this.chatApi.getOrCreateChannel({\n id: this.id,\n type: this.type,\n ...channel_get_or_create_request,\n });\n }\n };\n\n queryMembers(request?: { payload?: OmitTypeId<QueryMembersPayload> }) {\n return this.chatApi.queryMembers({\n payload: {\n id: this.id,\n type: this.type,\n ...(request?.payload ?? { filter_conditions: {} }),\n },\n });\n }\n}\n","import { ChatApi } from './gen/chat/ChatApi';\nimport { StreamChannel } from './StreamChannel';\n\nexport class StreamChatClient extends ChatApi {\n channel = (type: string, id?: string) => {\n return new StreamChannel(this, type, id);\n };\n}\n","import { ApiClient, StreamResponse } from '../../gen-imports';\nimport {\n BanRequest,\n BanResponse,\n BulkImageModerationRequest,\n BulkImageModerationResponse,\n CheckRequest,\n CheckResponse,\n CustomCheckRequest,\n CustomCheckResponse,\n DeleteModerationConfigResponse,\n DeleteModerationRuleResponse,\n DeleteModerationTemplateResponse,\n FlagRequest,\n FlagResponse,\n GetConfigResponse,\n GetModerationRuleResponse,\n GetReviewQueueItemResponse,\n MuteRequest,\n MuteResponse,\n QueryFeedModerationTemplatesResponse,\n QueryModerationConfigsRequest,\n QueryModerationConfigsResponse,\n QueryModerationFlagsRequest,\n QueryModerationFlagsResponse,\n QueryModerationLogsRequest,\n QueryModerationLogsResponse,\n QueryModerationRulesRequest,\n QueryModerationRulesResponse,\n QueryReviewQueueRequest,\n QueryReviewQueueResponse,\n SubmitActionRequest,\n SubmitActionResponse,\n UnbanRequest,\n UnbanResponse,\n UnmuteRequest,\n UnmuteResponse,\n UpsertConfigRequest,\n UpsertConfigResponse,\n UpsertModerationRuleRequest,\n UpsertModerationRuleResponse,\n UpsertModerationTemplateRequest,\n UpsertModerationTemplateResponse,\n} from '../models';\nimport { decoders } from '../model-decoders/decoders';\n\nexport class ModerationApi {\n constructor(public readonly apiClient: ApiClient) {}\n\n async ban(request: BanRequest): Promise<StreamResponse<BanResponse>> {\n const body = {\n target_user_id: request?.target_user_id,\n banned_by_id: request?.banned_by_id,\n channel_cid: request?.channel_cid,\n delete_messages: request?.delete_messages,\n ip_ban: request?.ip_ban,\n reason: request?.reason,\n shadow: request?.shadow,\n timeout: request?.timeout,\n banned_by: request?.banned_by,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<BanResponse>\n >(\n 'POST',\n '/api/v2/moderation/ban',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.BanResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async bulkImageModeration(\n request: BulkImageModerationRequest,\n ): Promise<StreamResponse<BulkImageModerationResponse>> {\n const body = {\n csv_file: request?.csv_file,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<BulkImageModerationResponse>\n >(\n 'POST',\n '/api/v2/moderation/bulk_image_moderation',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.BulkImageModerationResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async check(request: CheckRequest): Promise<StreamResponse<CheckResponse>> {\n const body = {\n entity_creator_id: request?.entity_creator_id,\n entity_id: request?.entity_id,\n entity_type: request?.entity_type,\n config_key: request?.config_key,\n config_team: request?.config_team,\n test_mode: request?.test_mode,\n user_id: request?.user_id,\n config: request?.config,\n moderation_payload: request?.moderation_payload,\n options: request?.options,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<CheckResponse>\n >(\n 'POST',\n '/api/v2/moderation/check',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.CheckResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async upsertConfig(\n request: UpsertConfigRequest,\n ): Promise<StreamResponse<UpsertConfigResponse>> {\n const body = {\n key: request?.key,\n async: request?.async,\n team: request?.team,\n user_id: request?.user_id,\n ai_image_config: request?.ai_image_config,\n ai_text_config: request?.ai_text_config,\n ai_video_config: request?.ai_video_config,\n automod_platform_circumvention_config:\n request?.automod_platform_circumvention_config,\n automod_semantic_filters_config: request?.automod_semantic_filters_config,\n automod_toxicity_config: request?.automod_toxicity_config,\n aws_rekognition_config: request?.aws_rekognition_config,\n block_list_config: request?.block_list_config,\n bodyguard_config: request?.bodyguard_config,\n google_vision_config: request?.google_vision_config,\n llm_config: request?.llm_config,\n rule_builder_config: request?.rule_builder_config,\n user: request?.user,\n velocity_filter_config: request?.velocity_filter_config,\n video_call_rule_config: request?.video_call_rule_config,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UpsertConfigResponse>\n >(\n 'POST',\n '/api/v2/moderation/config',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UpsertConfigResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deleteConfig(request: {\n key: string;\n team?: string;\n }): Promise<StreamResponse<DeleteModerationConfigResponse>> {\n const queryParams = {\n team: request?.team,\n };\n const pathParams = {\n key: request?.key,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<DeleteModerationConfigResponse>\n >('DELETE', '/api/v2/moderation/config/{key}', pathParams, queryParams);\n\n decoders.DeleteModerationConfigResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getConfig(request: {\n key: string;\n team?: string;\n }): Promise<StreamResponse<GetConfigResponse>> {\n const queryParams = {\n team: request?.team,\n };\n const pathParams = {\n key: request?.key,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<GetConfigResponse>\n >('GET', '/api/v2/moderation/config/{key}', pathParams, queryParams);\n\n decoders.GetConfigResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async queryModerationConfigs(\n request?: QueryModerationConfigsRequest,\n ): Promise<StreamResponse<QueryModerationConfigsResponse>> {\n const body = {\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n user_id: request?.user_id,\n sort: request?.sort,\n filter: request?.filter,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<QueryModerationConfigsResponse>\n >(\n 'POST',\n '/api/v2/moderation/configs',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.QueryModerationConfigsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async customCheck(\n request: CustomCheckRequest,\n ): Promise<StreamResponse<CustomCheckResponse>> {\n const body = {\n entity_id: request?.entity_id,\n entity_type: request?.entity_type,\n flags: request?.flags,\n entity_creator_id: request?.entity_creator_id,\n user_id: request?.user_id,\n moderation_payload: request?.moderation_payload,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<CustomCheckResponse>\n >(\n 'POST',\n '/api/v2/moderation/custom_check',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.CustomCheckResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async v2DeleteTemplate(): Promise<\n StreamResponse<DeleteModerationTemplateResponse>\n > {\n const response = await this.apiClient.sendRequest<\n StreamResponse<DeleteModerationTemplateResponse>\n >(\n 'DELETE',\n '/api/v2/moderation/feeds_moderation_template',\n undefined,\n undefined,\n );\n\n decoders.DeleteModerationTemplateResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async v2QueryTemplates(): Promise<\n StreamResponse<QueryFeedModerationTemplatesResponse>\n > {\n const response = await this.apiClient.sendRequest<\n StreamResponse<QueryFeedModerationTemplatesResponse>\n >(\n 'GET',\n '/api/v2/moderation/feeds_moderation_template',\n undefined,\n undefined,\n );\n\n decoders.QueryFeedModerationTemplatesResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async v2UpsertTemplate(\n request: UpsertModerationTemplateRequest,\n ): Promise<StreamResponse<UpsertModerationTemplateResponse>> {\n const body = {\n name: request?.name,\n config: request?.config,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UpsertModerationTemplateResponse>\n >(\n 'POST',\n '/api/v2/moderation/feeds_moderation_template',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UpsertModerationTemplateResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async flag(request: FlagRequest): Promise<StreamResponse<FlagResponse>> {\n const body = {\n entity_id: request?.entity_id,\n entity_type: request?.entity_type,\n entity_creator_id: request?.entity_creator_id,\n reason: request?.reason,\n user_id: request?.user_id,\n custom: request?.custom,\n moderation_payload: request?.moderation_payload,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<FlagResponse>\n >(\n 'POST',\n '/api/v2/moderation/flag',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.FlagResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async queryModerationFlags(\n request?: QueryModerationFlagsRequest,\n ): Promise<StreamResponse<QueryModerationFlagsResponse>> {\n const body = {\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n sort: request?.sort,\n filter: request?.filter,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<QueryModerationFlagsResponse>\n >(\n 'POST',\n '/api/v2/moderation/flags',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.QueryModerationFlagsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async queryModerationLogs(\n request?: QueryModerationLogsRequest,\n ): Promise<StreamResponse<QueryModerationLogsResponse>> {\n const body = {\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n user_id: request?.user_id,\n sort: request?.sort,\n filter: request?.filter,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<QueryModerationLogsResponse>\n >(\n 'POST',\n '/api/v2/moderation/logs',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.QueryModerationLogsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async upsertModerationRule(\n request: UpsertModerationRuleRequest,\n ): Promise<StreamResponse<UpsertModerationRuleResponse>> {\n const body = {\n name: request?.name,\n rule_type: request?.rule_type,\n action: request?.action,\n cooldown_period: request?.cooldown_period,\n description: request?.description,\n enabled: request?.enabled,\n logic: request?.logic,\n team: request?.team,\n conditions: request?.conditions,\n config_keys: request?.config_keys,\n groups: request?.groups,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UpsertModerationRuleResponse>\n >(\n 'POST',\n '/api/v2/moderation/moderation_rule',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UpsertModerationRuleResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deleteModerationRule(): Promise<\n StreamResponse<DeleteModerationRuleResponse>\n > {\n const response = await this.apiClient.sendRequest<\n StreamResponse<DeleteModerationRuleResponse>\n >(\n 'DELETE',\n '/api/v2/moderation/moderation_rule/{id}',\n undefined,\n undefined,\n );\n\n decoders.DeleteModerationRuleResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getModerationRule(): Promise<\n StreamResponse<GetModerationRuleResponse>\n > {\n const response = await this.apiClient.sendRequest<\n StreamResponse<GetModerationRuleResponse>\n >('GET', '/api/v2/moderation/moderation_rule/{id}', undefined, undefined);\n\n decoders.GetModerationRuleResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async queryModerationRules(\n request?: QueryModerationRulesRequest,\n ): Promise<StreamResponse<QueryModerationRulesResponse>> {\n const body = {\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n user_id: request?.user_id,\n sort: request?.sort,\n filter: request?.filter,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<QueryModerationRulesResponse>\n >(\n 'POST',\n '/api/v2/moderation/moderation_rules',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.QueryModerationRulesResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async mute(request: MuteRequest): Promise<StreamResponse<MuteResponse>> {\n const body = {\n target_ids: request?.target_ids,\n timeout: request?.timeout,\n user_id: request?.user_id,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<MuteResponse>\n >(\n 'POST',\n '/api/v2/moderation/mute',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.MuteResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async queryReviewQueue(\n request?: QueryReviewQueueRequest,\n ): Promise<StreamResponse<QueryReviewQueueResponse>> {\n const body = {\n limit: request?.limit,\n lock_count: request?.lock_count,\n lock_duration: request?.lock_duration,\n lock_items: request?.lock_items,\n next: request?.next,\n prev: request?.prev,\n stats_only: request?.stats_only,\n user_id: request?.user_id,\n sort: request?.sort,\n filter: request?.filter,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<QueryReviewQueueResponse>\n >(\n 'POST',\n '/api/v2/moderation/review_queue',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.QueryReviewQueueResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getReviewQueueItem(request: {\n id: string;\n }): Promise<StreamResponse<GetReviewQueueItemResponse>> {\n const pathParams = {\n id: request?.id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<GetReviewQueueItemResponse>\n >('GET', '/api/v2/moderation/review_queue/{id}', pathParams, undefined);\n\n decoders.GetReviewQueueItemResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async submitAction(\n request: SubmitActionRequest,\n ): Promise<StreamResponse<SubmitActionResponse>> {\n const body = {\n action_type: request?.action_type,\n item_id: request?.item_id,\n user_id: request?.user_id,\n ban: request?.ban,\n block: request?.block,\n custom: request?.custom,\n delete_activity: request?.delete_activity,\n delete_comment: request?.delete_comment,\n delete_message: request?.delete_message,\n delete_reaction: request?.delete_reaction,\n delete_user: request?.delete_user,\n mark_reviewed: request?.mark_reviewed,\n shadow_block: request?.shadow_block,\n unban: request?.unban,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<SubmitActionResponse>\n >(\n 'POST',\n '/api/v2/moderation/submit_action',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.SubmitActionResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async unban(\n request: UnbanRequest & {\n target_user_id: string;\n channel_cid?: string;\n created_by?: string;\n },\n ): Promise<StreamResponse<UnbanResponse>> {\n const queryParams = {\n target_user_id: request?.target_user_id,\n channel_cid: request?.channel_cid,\n created_by: request?.created_by,\n };\n const body = {\n unbanned_by_id: request?.unbanned_by_id,\n unbanned_by: request?.unbanned_by,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UnbanResponse>\n >(\n 'POST',\n '/api/v2/moderation/unban',\n undefined,\n queryParams,\n body,\n 'application/json',\n );\n\n decoders.UnbanResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async unmute(\n request: UnmuteRequest,\n ): Promise<StreamResponse<UnmuteResponse>> {\n const body = {\n target_ids: request?.target_ids,\n user_id: request?.user_id,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UnmuteResponse>\n >(\n 'POST',\n '/api/v2/moderation/unmute',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UnmuteResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n}\n","import { ModerationApi } from './gen/moderation/ModerationApi';\n\nexport class StreamModerationClient extends ModerationApi {}\n","export type OmitTypeId<T> = Omit<T, 'type' | 'id' | 'connection_id'>;\n\nexport interface ApiConfig {\n apiKey: string;\n token: string;\n baseUrl: string;\n /** The timeout for requests in milliseconds. The default is 3000. */\n timeout: number;\n agent?: RequestInit['dispatcher'];\n secret?: string;\n}\n\nexport interface RequestMetadata {\n responseHeaders: Headers;\n rateLimit: RateLimit;\n responseCode: number;\n clientRequestId: string;\n}\n\nexport type StreamResponse<T> = T & {\n metadata: RequestMetadata;\n};\n\nexport class StreamError extends Error {\n constructor(\n message: string,\n public metadata: Partial<RequestMetadata>,\n public code?: number,\n errorOptions?: ErrorOptions,\n ) {\n super(message, errorOptions);\n }\n}\n\nexport interface RateLimit {\n rateLimit?: number;\n rateLimitRemaining?: number;\n rateLimitReset?: Date;\n}\n\ninterface BaseTokenPayload {\n user_id: string;\n exp?: number;\n iat: number;\n call_cids?: string[];\n}\n\nexport type UserTokenPayload = BaseTokenPayload;\n\nexport type CallTokenPayload = BaseTokenPayload & {\n call_cids: string[];\n role?: string;\n};\n","import { RateLimit } from '../types';\n\nexport const getRateLimitFromResponseHeader = (responseHeaders: Headers) => {\n const rateLimit = responseHeaders.has('x-ratelimit-limit')\n ? +responseHeaders.get('x-ratelimit-limit')!\n : undefined;\n const rateLimitRemaining = responseHeaders.has('x-ratelimit-remaining')\n ? +responseHeaders.get('x-ratelimit-remaining')!\n : undefined;\n const rateLimitReset = responseHeaders.has('x-ratelimit-reset')\n ? new Date(+responseHeaders.get('x-ratelimit-reset')! * 1000)\n : undefined;\n\n const result: RateLimit = {\n rateLimit,\n rateLimitRemaining,\n rateLimitReset,\n };\n\n return result;\n};\n","import { v4 as uuidv4 } from 'uuid';\nimport { ApiConfig, RequestMetadata, StreamError } from './types';\nimport { APIError } from './gen/models';\nimport { getRateLimitFromResponseHeader } from './utils/rate-limit';\n\nexport class ApiClient {\n private readonly dispatcher?: RequestInit['dispatcher'];\n\n constructor(public readonly apiConfig: ApiConfig) {\n this.dispatcher = this.apiConfig.agent;\n }\n\n /**\n *\n * @internal\n */\n sendRequest = async <T>(\n method: string,\n url: string,\n pathParams?: Record<string, string>,\n queryParams?: Record<string, any>,\n body?: any,\n requestContentType?: string,\n ) => {\n queryParams = queryParams ?? {};\n queryParams.api_key = this.apiConfig.apiKey;\n const encodedParams = this.queryParamsStringify(queryParams);\n if (pathParams) {\n Object.keys(pathParams).forEach((paramName) => {\n url = url.replace(`{${paramName}}`, pathParams[paramName]);\n });\n }\n\n url += `?${encodedParams}`;\n const clientRequestId = uuidv4();\n const headers: Record<string, string> = {\n Authorization: this.apiConfig.token,\n 'stream-auth-type': 'jwt',\n 'X-Stream-Client': 'stream-node-' + process.env.PKG_VERSION,\n 'Accept-Encoding': 'gzip',\n 'x-client-request-id': clientRequestId,\n };\n\n // https://stackoverflow.com/questions/39280438/fetch-missing-boundary-in-multipart-form-data-post\n if (requestContentType !== 'multipart/form-data') {\n headers['Content-Type'] = requestContentType ?? 'application/json';\n }\n\n const signal = AbortSignal.timeout(this.apiConfig.timeout);\n\n const encodedBody =\n requestContentType === 'multipart/form-data'\n ? new FormData()\n : JSON.stringify(body);\n if (requestContentType === 'multipart/form-data') {\n Object.keys(body).forEach((key) => {\n (encodedBody as FormData).append(key, body[key]);\n });\n }\n\n try {\n const response = await fetch(`${this.apiConfig.baseUrl}${url}`, {\n signal:\n requestContentType === 'multipart/form-data' ? undefined : signal,\n method,\n body: encodedBody,\n headers,\n dispatcher: this.dispatcher,\n });\n\n const responseHeaders = response.headers;\n\n const metadata: RequestMetadata = {\n clientRequestId,\n responseHeaders,\n responseCode: response.status,\n rateLimit: getRateLimitFromResponseHeader(responseHeaders),\n };\n\n if (response.status < 200 || response.status >= 300) {\n let error: APIError;\n try {\n error = (await response.json()) as APIError;\n } catch (_) {\n throw new StreamError(\n `Stream error: ${response.status} - ${response.statusText}`,\n metadata,\n response.status,\n );\n }\n throw new StreamError(\n `Stream error code ${error!.code}: ${error!.message}`,\n metadata,\n error!.code,\n undefined,\n );\n }\n\n const responseBody = (await response.json()) as T;\n\n return { body: responseBody, metadata };\n } catch (error: any) {\n if (error instanceof StreamError) {\n throw error;\n }\n const metadata: Partial<RequestMetadata> = {\n clientRequestId,\n responseCode: error.status,\n };\n if (error.name === 'AbortError' || error.name === 'TimeoutError') {\n throw new StreamError(\n `The request was aborted due to to the ${this.apiConfig.timeout}ms timeout, you can set the timeout in the StreamClient constructor`,\n metadata,\n undefined,\n error,\n );\n } else {\n throw new StreamError(\n `The request failed due to an unexpected error`,\n metadata,\n error,\n );\n }\n }\n };\n\n protected queryParamsStringify = (params: Record<string, any>) => {\n const newParams = [];\n for (const k in params) {\n const param = params[k];\n if (Array.isArray(param)) {\n newParams.push(`${k}=${encodeURIComponent(param.join(','))}`);\n } else if (param instanceof Date) {\n newParams.push(param.toISOString());\n } else if (typeof param === 'object') {\n newParams.push(`${k}=${encodeURIComponent(JSON.stringify(param))}`);\n } else {\n if (\n typeof param === 'string' ||\n typeof param === 'number' ||\n typeof param === 'boolean'\n ) {\n newParams.push(`${k}=${encodeURIComponent(param)}`);\n }\n }\n }\n\n return newParams.join('&');\n };\n}\n","import { ApiClient, StreamResponse } from '../../gen-imports';\nimport {\n AcceptFeedMemberInviteRequest,\n AcceptFeedMemberInviteResponse,\n AcceptFollowRequest,\n AcceptFollowResponse,\n ActivityFeedbackRequest,\n ActivityFeedbackResponse,\n AddActivityRequest,\n AddActivityResponse,\n AddBookmarkRequest,\n AddBookmarkResponse,\n AddCommentReactionRequest,\n AddCommentReactionResponse,\n AddCommentRequest,\n AddCommentResponse,\n AddCommentsBatchRequest,\n AddCommentsBatchResponse,\n AddReactionRequest,\n AddReactionResponse,\n CastPollVoteRequest,\n CreateCollectionsRequest,\n CreateCollectionsResponse,\n CreateFeedGroupRequest,\n CreateFeedGroupResponse,\n CreateFeedViewRequest,\n CreateFeedViewResponse,\n CreateFeedsBatchRequest,\n CreateFeedsBatchResponse,\n CreateMembershipLevelRequest,\n CreateMembershipLevelResponse,\n DeleteActivitiesRequest,\n DeleteActivitiesResponse,\n DeleteActivityReactionResponse,\n DeleteActivityResponse,\n DeleteBookmarkFolderResponse,\n DeleteBookmarkResponse,\n DeleteCollectionsResponse,\n DeleteCommentReactionResponse,\n DeleteCommentResponse,\n DeleteFeedGroupResponse,\n DeleteFeedResponse,\n DeleteFeedUserDataResponse,\n DeleteFeedViewResponse,\n ExportFeedUserDataResponse,\n FollowBatchRequest,\n FollowBatchResponse,\n FollowRequest,\n GetActivityResponse,\n GetCommentRepliesResponse,\n GetCommentResponse,\n GetCommentsResponse,\n GetFeedGroupResponse,\n GetFeedViewResponse,\n GetFeedVisibilityResponse,\n GetFeedsRateLimitsResponse,\n GetFollowSuggestionsResponse,\n GetOrCreateFeedGroupRequest,\n GetOrCreateFeedGroupResponse,\n GetOrCreateFeedRequest,\n GetOrCreateFeedResponse,\n GetOrCreateFeedViewRequest,\n GetOrCreateFeedViewResponse,\n ListFeedGroupsResponse,\n ListFeedViewsResponse,\n ListFeedVisibilitiesResponse,\n MarkActivityRequest,\n OwnCapabilitiesBatchRequest,\n OwnCapabilitiesBatchResponse,\n PinActivityRequest,\n PinActivityResponse,\n PollVoteResponse,\n QueryActivitiesRequest,\n QueryActivitiesResponse,\n QueryActivityReactionsRequest,\n QueryActivityReactionsResponse,\n QueryBookmarkFoldersRequest,\n QueryBookmarkFoldersResponse,\n QueryBookmarksRequest,\n QueryBookmarksResponse,\n QueryCommentReactionsRequest,\n QueryCommentReactionsResponse,\n QueryCommentsRequest,\n QueryCommentsResponse,\n QueryFeedMembersRequest,\n QueryFeedMembersResponse,\n QueryFeedsRequest,\n QueryFeedsResponse,\n QueryFeedsUsageStatsRequest,\n QueryFeedsUsageStatsResponse,\n QueryFollowsRequest,\n QueryFollowsResponse,\n QueryMembershipLevelsRequest,\n QueryMembershipLevelsResponse,\n ReadCollectionsResponse,\n RejectFeedMemberInviteRequest,\n RejectFeedMemberInviteResponse,\n RejectFollowRequest,\n RejectFollowResponse,\n Response,\n SingleFollowResponse,\n UnfollowBatchRequest,\n UnfollowBatchResponse,\n UnfollowResponse,\n UnpinActivityResponse,\n UpdateActivityPartialRequest,\n UpdateActivityPartialResponse,\n UpdateActivityRequest,\n UpdateActivityResponse,\n UpdateBookmarkFolderRequest,\n UpdateBookmarkFolderResponse,\n UpdateBookmarkRequest,\n UpdateBookmarkResponse,\n UpdateCollectionsRequest,\n UpdateCollectionsResponse,\n UpdateCommentRequest,\n UpdateCommentResponse,\n UpdateFeedGroupRequest,\n UpdateFeedGroupResponse,\n UpdateFeedMembersRequest,\n UpdateFeedMembersResponse,\n UpdateFeedRequest,\n UpdateFeedResponse,\n UpdateFeedViewRequest,\n UpdateFeedViewResponse,\n UpdateFeedVisibilityRequest,\n UpdateFeedVisibilityResponse,\n UpdateFollowRequest,\n UpdateFollowResponse,\n UpdateMembershipLevelRequest,\n UpdateMembershipLevelResponse,\n UpsertActivitiesRequest,\n UpsertActivitiesResponse,\n UpsertCollectionsRequest,\n UpsertCollectionsResponse,\n} from '../models';\nimport { decoders } from '../model-decoders/decoders';\n\nexport class FeedsApi {\n constructor(public readonly apiClient: ApiClient) {}\n\n async addActivity(\n request: AddActivityRequest,\n ): Promise<StreamResponse<AddActivityResponse>> {\n const body = {\n type: request?.type,\n feeds: request?.feeds,\n expires_at: request?.expires_at,\n id: request?.id,\n parent_id: request?.parent_id,\n poll_id: request?.poll_id,\n restrict_replies: request?.restrict_replies,\n text: request?.text,\n user_id: request?.user_id,\n visibility: request?.visibility,\n visibility_tag: request?.visibility_tag,\n attachments: request?.attachments,\n collection_refs: request?.collection_refs,\n filter_tags: request?.filter_tags,\n interest_tags: request?.interest_tags,\n mentioned_user_ids: request?.mentioned_user_ids,\n custom: request?.custom,\n location: request?.location,\n search_data: request?.search_data,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<AddActivityResponse>\n >(\n 'POST',\n '/api/v2/feeds/activities',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.AddActivityResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async upsertActivities(\n request: UpsertActivitiesRequest,\n ): Promise<StreamResponse<UpsertActivitiesResponse>> {\n const body = {\n activities: request?.activities,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UpsertActivitiesResponse>\n >(\n 'POST',\n '/api/v2/feeds/activities/batch',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UpsertActivitiesResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deleteActivities(\n request: DeleteActivitiesRequest,\n ): Promise<StreamResponse<DeleteActivitiesResponse>> {\n const body = {\n ids: request?.ids,\n hard_delete: request?.hard_delete,\n user_id: request?.user_id,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<DeleteActivitiesResponse>\n >(\n 'POST',\n '/api/v2/feeds/activities/delete',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.DeleteActivitiesResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async queryActivities(\n request?: QueryActivitiesRequest,\n ): Promise<StreamResponse<QueryActivitiesResponse>> {\n const body = {\n include_private_activities: request?.include_private_activities,\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n user_id: request?.user_id,\n sort: request?.sort,\n filter: request?.filter,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<QueryActivitiesResponse>\n >(\n 'POST',\n '/api/v2/feeds/activities/query',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.QueryActivitiesResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deleteBookmark(request: {\n activity_id: string;\n folder_id?: string;\n user_id?: string;\n }): Promise<StreamResponse<DeleteBookmarkResponse>> {\n const queryParams = {\n folder_id: request?.folder_id,\n user_id: request?.user_id,\n };\n const pathParams = {\n activity_id: request?.activity_id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<DeleteBookmarkResponse>\n >(\n 'DELETE',\n '/api/v2/feeds/activities/{activity_id}/bookmarks',\n pathParams,\n queryParams,\n );\n\n decoders.DeleteBookmarkResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async updateBookmark(\n request: UpdateBookmarkRequest & { activity_id: string },\n ): Promise<StreamResponse<UpdateBookmarkResponse>> {\n const pathParams = {\n activity_id: request?.activity_id,\n };\n const body = {\n folder_id: request?.folder_id,\n new_folder_id: request?.new_folder_id,\n user_id: request?.user_id,\n custom: request?.custom,\n new_folder: request?.new_folder,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UpdateBookmarkResponse>\n >(\n 'PATCH',\n '/api/v2/feeds/activities/{activity_id}/bookmarks',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UpdateBookmarkResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async addBookmark(\n request: AddBookmarkRequest & { activity_id: string },\n ): Promise<StreamResponse<AddBookmarkResponse>> {\n const pathParams = {\n activity_id: request?.activity_id,\n };\n const body = {\n folder_id: request?.folder_id,\n user_id: request?.user_id,\n custom: request?.custom,\n new_folder: request?.new_folder,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<AddBookmarkResponse>\n >(\n 'POST',\n '/api/v2/feeds/activities/{activity_id}/bookmarks',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.AddBookmarkResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async activityFeedback(\n request: ActivityFeedbackRequest & { activity_id: string },\n ): Promise<StreamResponse<ActivityFeedbackResponse>> {\n const pathParams = {\n activity_id: request?.activity_id,\n };\n const body = {\n hide: request?.hide,\n show_less: request?.show_less,\n show_more: request?.show_more,\n user_id: request?.user_id,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<ActivityFeedbackResponse>\n >(\n 'POST',\n '/api/v2/feeds/activities/{activity_id}/feedback',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.ActivityFeedbackResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async castPollVote(\n request: CastPollVoteRequest & { activity_id: string; poll_id: string },\n ): Promise<StreamResponse<PollVoteResponse>> {\n const pathParams = {\n activity_id: request?.activity_id,\n poll_id: request?.poll_id,\n };\n const body = {\n user_id: request?.user_id,\n user: request?.user,\n vote: request?.vote,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<PollVoteResponse>\n >(\n 'POST',\n '/api/v2/feeds/activities/{activity_id}/polls/{poll_id}/vote',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.PollVoteResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deletePollVote(request: {\n activity_id: string;\n poll_id: string;\n vote_id: string;\n user_id?: string;\n }): Promise<StreamResponse<PollVoteResponse>> {\n const queryParams = {\n user_id: request?.user_id,\n };\n const pathParams = {\n activity_id: request?.activity_id,\n poll_id: request?.poll_id,\n vote_id: request?.vote_id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<PollVoteResponse>\n >(\n 'DELETE',\n '/api/v2/feeds/activities/{activity_id}/polls/{poll_id}/vote/{vote_id}',\n pathParams,\n queryParams,\n );\n\n decoders.PollVoteResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async addActivityReaction(\n request: AddReactionRequest & { activity_id: string },\n ): Promise<StreamResponse<AddReactionResponse>> {\n const pathParams = {\n activity_id: request?.activity_id,\n };\n const body = {\n type: request?.type,\n create_notification_activity: request?.create_notification_activity,\n enforce_unique: request?.enforce_unique,\n skip_push: request?.skip_push,\n user_id: request?.user_id,\n custom: request?.custom,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<AddReactionResponse>\n >(\n 'POST',\n '/api/v2/feeds/activities/{activity_id}/reactions',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.AddReactionResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async queryActivityReactions(\n request: QueryActivityReactionsRequest & { activity_id: string },\n ): Promise<StreamResponse<QueryActivityReactionsResponse>> {\n const pathParams = {\n activity_id: request?.activity_id,\n };\n const body = {\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n sort: request?.sort,\n filter: request?.filter,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<QueryActivityReactionsResponse>\n >(\n 'POST',\n '/api/v2/feeds/activities/{activity_id}/reactions/query',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.QueryActivityReactionsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deleteActivityReaction(request: {\n activity_id: string;\n type: string;\n user_id?: string;\n }): Promise<StreamResponse<DeleteActivityReactionResponse>> {\n const queryParams = {\n user_id: request?.user_id,\n };\n const pathParams = {\n activity_id: request?.activity_id,\n type: request?.type,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<DeleteActivityReactionResponse>\n >(\n 'DELETE',\n '/api/v2/feeds/activities/{activity_id}/reactions/{type}',\n pathParams,\n queryParams,\n );\n\n decoders.DeleteActivityReactionResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deleteActivity(request: {\n id: string;\n hard_delete?: boolean;\n }): Promise<StreamResponse<DeleteActivityResponse>> {\n const queryParams = {\n hard_delete: request?.hard_delete,\n };\n const pathParams = {\n id: request?.id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<DeleteActivityResponse>\n >('DELETE', '/api/v2/feeds/activities/{id}', pathParams, queryParams);\n\n decoders.DeleteActivityResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getActivity(request: {\n id: string;\n }): Promise<StreamResponse<GetActivityResponse>> {\n const pathParams = {\n id: request?.id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<GetActivityResponse>\n >('GET', '/api/v2/feeds/activities/{id}', pathParams, undefined);\n\n decoders.GetActivityResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async updateActivityPartial(\n request: UpdateActivityPartialRequest & { id: string },\n ): Promise<StreamResponse<UpdateActivityPartialResponse>> {\n const pathParams = {\n id: request?.id,\n };\n const body = {\n user_id: request?.user_id,\n unset: request?.unset,\n set: request?.set,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UpdateActivityPartialResponse>\n >(\n 'PATCH',\n '/api/v2/feeds/activities/{id}',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UpdateActivityPartialResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async updateActivity(\n request: UpdateActivityRequest & { id: string },\n ): Promise<StreamResponse<UpdateActivityResponse>> {\n const pathParams = {\n id: request?.id,\n };\n const body = {\n expires_at: request?.expires_at,\n poll_id: request?.poll_id,\n restrict_replies: request?.restrict_replies,\n text: request?.text,\n user_id: request?.user_id,\n visibility: request?.visibility,\n attachments: request?.attachments,\n collection_refs: request?.collection_refs,\n feeds: request?.feeds,\n filter_tags: request?.filter_tags,\n interest_tags: request?.interest_tags,\n custom: request?.custom,\n location: request?.location,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UpdateActivityResponse>\n >(\n 'PUT',\n '/api/v2/feeds/activities/{id}',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UpdateActivityResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async queryBookmarkFolders(\n request?: QueryBookmarkFoldersRequest,\n ): Promise<StreamResponse<QueryBookmarkFoldersResponse>> {\n const body = {\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n sort: request?.sort,\n filter: request?.filter,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<QueryBookmarkFoldersResponse>\n >(\n 'POST',\n '/api/v2/feeds/bookmark_folders/query',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.QueryBookmarkFoldersResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deleteBookmarkFolder(request: {\n folder_id: string;\n }): Promise<StreamResponse<DeleteBookmarkFolderResponse>> {\n const pathParams = {\n folder_id: request?.folder_id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<DeleteBookmarkFolderResponse>\n >(\n 'DELETE',\n '/api/v2/feeds/bookmark_folders/{folder_id}',\n pathParams,\n undefined,\n );\n\n decoders.DeleteBookmarkFolderResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async updateBookmarkFolder(\n request: UpdateBookmarkFolderRequest & { folder_id: string },\n ): Promise<StreamResponse<UpdateBookmarkFolderResponse>> {\n const pathParams = {\n folder_id: request?.folder_id,\n };\n const body = {\n name: request?.name,\n user_id: request?.user_id,\n custom: request?.custom,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UpdateBookmarkFolderResponse>\n >(\n 'PATCH',\n '/api/v2/feeds/bookmark_folders/{folder_id}',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UpdateBookmarkFolderResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async queryBookmarks(\n request?: QueryBookmarksRequest,\n ): Promise<StreamResponse<QueryBookmarksResponse>> {\n const body = {\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n sort: request?.sort,\n filter: request?.filter,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<QueryBookmarksResponse>\n >(\n 'POST',\n '/api/v2/feeds/bookmarks/query',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.QueryBookmarksResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deleteCollections(request: {\n collection_refs: string[];\n }): Promise<StreamResponse<DeleteCollectionsResponse>> {\n const queryParams = {\n collection_refs: request?.collection_refs,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<DeleteCollectionsResponse>\n >('DELETE', '/api/v2/feeds/collections', undefined, queryParams);\n\n decoders.DeleteCollectionsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async readCollections(request: {\n collection_refs: string[];\n user_id?: string;\n }): Promise<StreamResponse<ReadCollectionsResponse>> {\n const queryParams = {\n collection_refs: request?.collection_refs,\n user_id: request?.user_id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<ReadCollectionsResponse>\n >('GET', '/api/v2/feeds/collections', undefined, queryParams);\n\n decoders.ReadCollectionsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async updateCollections(\n request: UpdateCollectionsRequest,\n ): Promise<StreamResponse<UpdateCollectionsResponse>> {\n const body = {\n collections: request?.collections,\n user_id: request?.user_id,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UpdateCollectionsResponse>\n >(\n 'PATCH',\n '/api/v2/feeds/collections',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UpdateCollectionsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async createCollections(\n request: CreateCollectionsRequest,\n ): Promise<StreamResponse<CreateCollectionsResponse>> {\n const body = {\n collections: request?.collections,\n user_id: request?.user_id,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<CreateCollectionsResponse>\n >(\n 'POST',\n '/api/v2/feeds/collections',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.CreateCollectionsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async upsertCollections(\n request: UpsertCollectionsRequest,\n ): Promise<StreamResponse<UpsertCollectionsResponse>> {\n const body = {\n collections: request?.collections,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UpsertCollectionsResponse>\n >(\n 'PUT',\n '/api/v2/feeds/collections',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UpsertCollectionsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getComments(request: {\n object_id: string;\n object_type: string;\n depth?: number;\n sort?: string;\n replies_limit?: number;\n limit?: number;\n prev?: string;\n next?: string;\n }): Promise<StreamResponse<GetCommentsResponse>> {\n const queryParams = {\n object_id: request?.object_id,\n object_type: request?.object_type,\n depth: request?.depth,\n sort: request?.sort,\n replies_limit: request?.replies_limit,\n limit: request?.limit,\n prev: request?.prev,\n next: request?.next,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<GetCommentsResponse>\n >('GET', '/api/v2/feeds/comments', undefined, queryParams);\n\n decoders.GetCommentsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async addComment(\n request: AddCommentRequest,\n ): Promise<StreamResponse<AddCommentResponse>> {\n const body = {\n object_id: request?.object_id,\n object_type: request?.object_type,\n comment: request?.comment,\n create_notification_activity: request?.create_notification_activity,\n id: request?.id,\n parent_id: request?.parent_id,\n skip_push: request?.skip_push,\n user_id: request?.user_id,\n attachments: request?.attachments,\n mentioned_user_ids: request?.mentioned_user_ids,\n custom: request?.custom,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<AddCommentResponse>\n >(\n 'POST',\n '/api/v2/feeds/comments',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.AddCommentResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async addCommentsBatch(\n request: AddCommentsBatchRequest,\n ): Promise<StreamResponse<AddCommentsBatchResponse>> {\n const body = {\n comments: request?.comments,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<AddCommentsBatchResponse>\n >(\n 'POST',\n '/api/v2/feeds/comments/batch',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.AddCommentsBatchResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async queryComments(\n request: QueryCommentsRequest,\n ): Promise<StreamResponse<QueryCommentsResponse>> {\n const body = {\n filter: request?.filter,\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n sort: request?.sort,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<QueryCommentsResponse>\n >(\n 'POST',\n '/api/v2/feeds/comments/query',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.QueryCommentsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deleteComment(request: {\n id: string;\n hard_delete?: boolean;\n }): Promise<StreamResponse<DeleteCommentResponse>> {\n const queryParams = {\n hard_delete: request?.hard_delete,\n };\n const pathParams = {\n id: request?.id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<DeleteCommentResponse>\n >('DELETE', '/api/v2/feeds/comments/{id}', pathParams, queryParams);\n\n decoders.DeleteCommentResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getComment(request: {\n id: string;\n }): Promise<StreamResponse<GetCommentResponse>> {\n const pathParams = {\n id: request?.id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<GetCommentResponse>\n >('GET', '/api/v2/feeds/comments/{id}', pathParams, undefined);\n\n decoders.GetCommentResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async updateComment(\n request: UpdateCommentRequest & { id: string },\n ): Promise<StreamResponse<UpdateCommentResponse>> {\n const pathParams = {\n id: request?.id,\n };\n const body = {\n comment: request?.comment,\n skip_push: request?.skip_push,\n user_id: request?.user_id,\n custom: request?.custom,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UpdateCommentResponse>\n >(\n 'PATCH',\n '/api/v2/feeds/comments/{id}',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UpdateCommentResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async addCommentReaction(\n request: AddCommentReactionRequest & { id: string },\n ): Promise<StreamResponse<AddCommentReactionResponse>> {\n const pathParams = {\n id: request?.id,\n };\n const body = {\n type: request?.type,\n create_notification_activity: request?.create_notification_activity,\n enforce_unique: request?.enforce_unique,\n skip_push: request?.skip_push,\n user_id: request?.user_id,\n custom: request?.custom,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<AddCommentReactionResponse>\n >(\n 'POST',\n '/api/v2/feeds/comments/{id}/reactions',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.AddCommentReactionResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async queryCommentReactions(\n request: QueryCommentReactionsRequest & { id: string },\n ): Promise<StreamResponse<QueryCommentReactionsResponse>> {\n const pathParams = {\n id: request?.id,\n };\n const body = {\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n sort: request?.sort,\n filter: request?.filter,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<QueryCommentReactionsResponse>\n >(\n 'POST',\n '/api/v2/feeds/comments/{id}/reactions/query',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.QueryCommentReactionsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deleteCommentReaction(request: {\n id: string;\n type: string;\n user_id?: string;\n }): Promise<StreamResponse<DeleteCommentReactionResponse>> {\n const queryParams = {\n user_id: request?.user_id,\n };\n const pathParams = {\n id: request?.id,\n type: request?.type,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<DeleteCommentReactionResponse>\n >(\n 'DELETE',\n '/api/v2/feeds/comments/{id}/reactions/{type}',\n pathParams,\n queryParams,\n );\n\n decoders.DeleteCommentReactionResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getCommentReplies(request: {\n id: string;\n depth?: number;\n sort?: string;\n replies_limit?: number;\n limit?: number;\n prev?: string;\n next?: string;\n }): Promise<StreamResponse<GetCommentRepliesResponse>> {\n const queryParams = {\n depth: request?.depth,\n sort: request?.sort,\n replies_limit: request?.replies_limit,\n limit: request?.limit,\n prev: request?.prev,\n next: request?.next,\n };\n const pathParams = {\n id: request?.id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<GetCommentRepliesResponse>\n >('GET', '/api/v2/feeds/comments/{id}/replies', pathParams, queryParams);\n\n decoders.GetCommentRepliesResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async listFeedGroups(request?: {\n include_soft_deleted?: boolean;\n }): Promise<StreamResponse<ListFeedGroupsResponse>> {\n const queryParams = {\n include_soft_deleted: request?.include_soft_deleted,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<ListFeedGroupsResponse>\n >('GET', '/api/v2/feeds/feed_groups', undefined, queryParams);\n\n decoders.ListFeedGroupsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async createFeedGroup(\n request: CreateFeedGroupRequest,\n ): Promise<StreamResponse<CreateFeedGroupResponse>> {\n const body = {\n id: request?.id,\n default_visibility: request?.default_visibility,\n activity_processors: request?.activity_processors,\n activity_selectors: request?.activity_selectors,\n aggregation: request?.aggregation,\n custom: request?.custom,\n notification: request?.notification,\n push_notification: request?.push_notification,\n ranking: request?.ranking,\n stories: request?.stories,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<CreateFeedGroupResponse>\n >(\n 'POST',\n '/api/v2/feeds/feed_groups',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.CreateFeedGroupResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deleteFeed(request: {\n feed_group_id: string;\n feed_id: string;\n hard_delete?: boolean;\n }): Promise<StreamResponse<DeleteFeedResponse>> {\n const queryParams = {\n hard_delete: request?.hard_delete,\n };\n const pathParams = {\n feed_group_id: request?.feed_group_id,\n feed_id: request?.feed_id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<DeleteFeedResponse>\n >(\n 'DELETE',\n '/api/v2/feeds/feed_groups/{feed_group_id}/feeds/{feed_id}',\n pathParams,\n queryParams,\n );\n\n decoders.DeleteFeedResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getOrCreateFeed(\n request: GetOrCreateFeedRequest & {\n feed_group_id: string;\n feed_id: string;\n },\n ): Promise<StreamResponse<GetOrCreateFeedResponse>> {\n const pathParams = {\n feed_group_id: request?.feed_group_id,\n feed_id: request?.feed_id,\n };\n const body = {\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n user_id: request?.user_id,\n view: request?.view,\n watch: request?.watch,\n data: request?.data,\n external_ranking: request?.external_ranking,\n filter: request?.filter,\n followers_pagination: request?.followers_pagination,\n following_pagination: request?.following_pagination,\n interest_weights: request?.interest_weights,\n member_pagination: request?.member_pagination,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<GetOrCreateFeedResponse>\n >(\n 'POST',\n '/api/v2/feeds/feed_groups/{feed_group_id}/feeds/{feed_id}',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.GetOrCreateFeedResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async updateFeed(\n request: UpdateFeedRequest & { feed_group_id: string; feed_id: string },\n ): Promise<StreamResponse<UpdateFeedResponse>> {\n const pathParams = {\n feed_group_id: request?.feed_group_id,\n feed_id: request?.feed_id,\n };\n const body = {\n created_by_id: request?.created_by_id,\n custom: request?.custom,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UpdateFeedResponse>\n >(\n 'PUT',\n '/api/v2/feeds/feed_groups/{feed_group_id}/feeds/{feed_id}',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UpdateFeedResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async markActivity(\n request: MarkActivityRequest & { feed_group_id: string; feed_id: string },\n ): Promise<StreamResponse<Response>> {\n const pathParams = {\n feed_group_id: request?.feed_group_id,\n feed_id: request?.feed_id,\n };\n const body = {\n mark_all_read: request?.mark_all_read,\n mark_all_seen: request?.mark_all_seen,\n user_id: request?.user_id,\n mark_read: request?.mark_read,\n mark_seen: request?.mark_seen,\n mark_watched: request?.mark_watched,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<StreamResponse<Response>>(\n 'POST',\n '/api/v2/feeds/feed_groups/{feed_group_id}/feeds/{feed_id}/activities/mark/batch',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async unpinActivity(request: {\n feed_group_id: string;\n feed_id: string;\n activity_id: string;\n user_id?: string;\n }): Promise<StreamResponse<UnpinActivityResponse>> {\n const queryParams = {\n user_id: request?.user_id,\n };\n const pathParams = {\n feed_group_id: request?.feed_group_id,\n feed_id: request?.feed_id,\n activity_id: request?.activity_id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UnpinActivityResponse>\n >(\n 'DELETE',\n '/api/v2/feeds/feed_groups/{feed_group_id}/feeds/{feed_id}/activities/{activity_id}/pin',\n pathParams,\n queryParams,\n );\n\n decoders.UnpinActivityResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async pinActivity(\n request: PinActivityRequest & {\n feed_group_id: string;\n feed_id: string;\n activity_id: string;\n },\n ): Promise<StreamResponse<PinActivityResponse>> {\n const pathParams = {\n feed_group_id: request?.feed_group_id,\n feed_id: request?.feed_id,\n activity_id: request?.activity_id,\n };\n const body = {\n user_id: request?.user_id,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<PinActivityResponse>\n >(\n 'POST',\n '/api/v2/feeds/feed_groups/{feed_group_id}/feeds/{feed_id}/activities/{activity_id}/pin',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.PinActivityResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async updateFeedMembers(\n request: UpdateFeedMembersRequest & {\n feed_group_id: string;\n feed_id: string;\n },\n ): Promise<StreamResponse<UpdateFeedMembersResponse>> {\n const pathParams = {\n feed_group_id: request?.feed_group_id,\n feed_id: request?.feed_id,\n };\n const body = {\n operation: request?.operation,\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n members: request?.members,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UpdateFeedMembersResponse>\n >(\n 'PATCH',\n '/api/v2/feeds/feed_groups/{feed_group_id}/feeds/{feed_id}/members',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UpdateFeedMembersResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async acceptFeedMemberInvite(\n request: AcceptFeedMemberInviteRequest & {\n feed_id: string;\n feed_group_id: string;\n },\n ): Promise<StreamResponse<AcceptFeedMemberInviteResponse>> {\n const pathParams = {\n feed_id: request?.feed_id,\n feed_group_id: request?.feed_group_id,\n };\n const body = {\n user_id: request?.user_id,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<AcceptFeedMemberInviteResponse>\n >(\n 'POST',\n '/api/v2/feeds/feed_groups/{feed_group_id}/feeds/{feed_id}/members/accept',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.AcceptFeedMemberInviteResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async queryFeedMembers(\n request: QueryFeedMembersRequest & {\n feed_group_id: string;\n feed_id: string;\n },\n ): Promise<StreamResponse<QueryFeedMembersResponse>> {\n const pathParams = {\n feed_group_id: request?.feed_group_id,\n feed_id: request?.feed_id,\n };\n const body = {\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n sort: request?.sort,\n filter: request?.filter,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<QueryFeedMembersResponse>\n >(\n 'POST',\n '/api/v2/feeds/feed_groups/{feed_group_id}/feeds/{feed_id}/members/query',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.QueryFeedMembersResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async rejectFeedMemberInvite(\n request: RejectFeedMemberInviteRequest & {\n feed_group_id: string;\n feed_id: string;\n },\n ): Promise<StreamResponse<RejectFeedMemberInviteResponse>> {\n const pathParams = {\n feed_group_id: request?.feed_group_id,\n feed_id: request?.feed_id,\n };\n const body = {\n user_id: request?.user_id,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<RejectFeedMemberInviteResponse>\n >(\n 'POST',\n '/api/v2/feeds/feed_groups/{feed_group_id}/feeds/{feed_id}/members/reject',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.RejectFeedMemberInviteResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getFollowSuggestions(request: {\n feed_group_id: string;\n limit?: number;\n user_id?: string;\n }): Promise<StreamResponse<GetFollowSuggestionsResponse>> {\n const queryParams = {\n limit: request?.limit,\n user_id: request?.user_id,\n };\n const pathParams = {\n feed_group_id: request?.feed_group_id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<GetFollowSuggestionsResponse>\n >(\n 'GET',\n '/api/v2/feeds/feed_groups/{feed_group_id}/follow_suggestions',\n pathParams,\n queryParams,\n );\n\n decoders.GetFollowSuggestionsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deleteFeedGroup(request: {\n id: string;\n hard_delete?: boolean;\n }): Promise<StreamResponse<DeleteFeedGroupResponse>> {\n const queryParams = {\n hard_delete: request?.hard_delete,\n };\n const pathParams = {\n id: request?.id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<DeleteFeedGroupResponse>\n >('DELETE', '/api/v2/feeds/feed_groups/{id}', pathParams, queryParams);\n\n decoders.DeleteFeedGroupResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getFeedGroup(request: {\n id: string;\n include_soft_deleted?: boolean;\n }): Promise<StreamResponse<GetFeedGroupResponse>> {\n const queryParams = {\n include_soft_deleted: request?.include_soft_deleted,\n };\n const pathParams = {\n id: request?.id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<GetFeedGroupResponse>\n >('GET', '/api/v2/feeds/feed_groups/{id}', pathParams, queryParams);\n\n decoders.GetFeedGroupResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getOrCreateFeedGroup(\n request: GetOrCreateFeedGroupRequest & { id: string },\n ): Promise<StreamResponse<GetOrCreateFeedGroupResponse>> {\n const pathParams = {\n id: request?.id,\n };\n const body = {\n default_visibility: request?.default_visibility,\n activity_processors: request?.activity_processors,\n activity_selectors: request?.activity_selectors,\n aggregation: request?.aggregation,\n custom: request?.custom,\n notification: request?.notification,\n push_notification: request?.push_notification,\n ranking: request?.ranking,\n stories: request?.stories,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<GetOrCreateFeedGroupResponse>\n >(\n 'POST',\n '/api/v2/feeds/feed_groups/{id}',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.GetOrCreateFeedGroupResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async updateFeedGroup(\n request: UpdateFeedGroupRequest & { id: string },\n ): Promise<StreamResponse<UpdateFeedGroupResponse>> {\n const pathParams = {\n id: request?.id,\n };\n const body = {\n default_visibility: request?.default_visibility,\n activity_processors: request?.activity_processors,\n activity_selectors: request?.activity_selectors,\n aggregation: request?.aggregation,\n custom: request?.custom,\n notification: request?.notification,\n push_notification: request?.push_notification,\n ranking: request?.ranking,\n stories: request?.stories,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UpdateFeedGroupResponse>\n >(\n 'PUT',\n '/api/v2/feeds/feed_groups/{id}',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UpdateFeedGroupResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async listFeedViews(): Promise<StreamResponse<ListFeedViewsResponse>> {\n const response = await this.apiClient.sendRequest<\n StreamResponse<ListFeedViewsResponse>\n >('GET', '/api/v2/feeds/feed_views', undefined, undefined);\n\n decoders.ListFeedViewsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async createFeedView(\n request: CreateFeedViewRequest,\n ): Promise<StreamResponse<CreateFeedViewResponse>> {\n const body = {\n id: request?.id,\n activity_selectors: request?.activity_selectors,\n aggregation: request?.aggregation,\n ranking: request?.ranking,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<CreateFeedViewResponse>\n >(\n 'POST',\n '/api/v2/feeds/feed_views',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.CreateFeedViewResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deleteFeedView(request: {\n id: string;\n }): Promise<StreamResponse<DeleteFeedViewResponse>> {\n const pathParams = {\n id: request?.id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<DeleteFeedViewResponse>\n >('DELETE', '/api/v2/feeds/feed_views/{id}', pathParams, undefined);\n\n decoders.DeleteFeedViewResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getFeedView(request: {\n id: string;\n }): Promise<StreamResponse<GetFeedViewResponse>> {\n const pathParams = {\n id: request?.id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<GetFeedViewResponse>\n >('GET', '/api/v2/feeds/feed_views/{id}', pathParams, undefined);\n\n decoders.GetFeedViewResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getOrCreateFeedView(\n request: GetOrCreateFeedViewRequest & { id: string },\n ): Promise<StreamResponse<GetOrCreateFeedViewResponse>> {\n const pathParams = {\n id: request?.id,\n };\n const body = {\n activity_selectors: request?.activity_selectors,\n aggregation: request?.aggregation,\n ranking: request?.ranking,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<GetOrCreateFeedViewResponse>\n >(\n 'POST',\n '/api/v2/feeds/feed_views/{id}',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.GetOrCreateFeedViewResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async updateFeedView(\n request: UpdateFeedViewRequest & { id: string },\n ): Promise<StreamResponse<UpdateFeedViewResponse>> {\n const pathParams = {\n id: request?.id,\n };\n const body = {\n activity_selectors: request?.activity_selectors,\n aggregation: request?.aggregation,\n ranking: request?.ranking,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UpdateFeedViewResponse>\n >(\n 'PUT',\n '/api/v2/feeds/feed_views/{id}',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UpdateFeedViewResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async listFeedVisibilities(): Promise<\n StreamResponse<ListFeedVisibilitiesResponse>\n > {\n const response = await this.apiClient.sendRequest<\n StreamResponse<ListFeedVisibilitiesResponse>\n >('GET', '/api/v2/feeds/feed_visibilities', undefined, undefined);\n\n decoders.ListFeedVisibilitiesResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getFeedVisibility(request: {\n name: string;\n }): Promise<StreamResponse<GetFeedVisibilityResponse>> {\n const pathParams = {\n name: request?.name,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<GetFeedVisibilityResponse>\n >('GET', '/api/v2/feeds/feed_visibilities/{name}', pathParams, undefined);\n\n decoders.GetFeedVisibilityResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async updateFeedVisibility(\n request: UpdateFeedVisibilityRequest & { name: string },\n ): Promise<StreamResponse<UpdateFeedVisibilityResponse>> {\n const pathParams = {\n name: request?.name,\n };\n const body = {\n grants: request?.grants,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UpdateFeedVisibilityResponse>\n >(\n 'PUT',\n '/api/v2/feeds/feed_visibilities/{name}',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UpdateFeedVisibilityResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async createFeedsBatch(\n request: CreateFeedsBatchRequest,\n ): Promise<StreamResponse<CreateFeedsBatchResponse>> {\n const body = {\n feeds: request?.feeds,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<CreateFeedsBatchResponse>\n >(\n 'POST',\n '/api/v2/feeds/feeds/batch',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.CreateFeedsBatchResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async ownCapabilitiesBatch(\n request: OwnCapabilitiesBatchRequest,\n ): Promise<StreamResponse<OwnCapabilitiesBatchResponse>> {\n const body = {\n feeds: request?.feeds,\n user_id: request?.user_id,\n user: request?.user,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<OwnCapabilitiesBatchResponse>\n >(\n 'POST',\n '/api/v2/feeds/feeds/own_capabilities/batch',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.OwnCapabilitiesBatchResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n protected async _queryFeeds(\n request?: QueryFeedsRequest,\n ): Promise<StreamResponse<QueryFeedsResponse>> {\n const body = {\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n watch: request?.watch,\n sort: request?.sort,\n filter: request?.filter,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<QueryFeedsResponse>\n >(\n 'POST',\n '/api/v2/feeds/feeds/query',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.QueryFeedsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async getFeedsRateLimits(request?: {\n endpoints?: string;\n android?: boolean;\n ios?: boolean;\n web?: boolean;\n server_side?: boolean;\n }): Promise<StreamResponse<GetFeedsRateLimitsResponse>> {\n const queryParams = {\n endpoints: request?.endpoints,\n android: request?.android,\n ios: request?.ios,\n web: request?.web,\n server_side: request?.server_side,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<GetFeedsRateLimitsResponse>\n >('GET', '/api/v2/feeds/feeds/rate_limits', undefined, queryParams);\n\n decoders.GetFeedsRateLimitsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async updateFollow(\n request: UpdateFollowRequest,\n ): Promise<StreamResponse<UpdateFollowResponse>> {\n const body = {\n source: request?.source,\n target: request?.target,\n create_notification_activity: request?.create_notification_activity,\n follower_role: request?.follower_role,\n push_preference: request?.push_preference,\n skip_push: request?.skip_push,\n custom: request?.custom,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UpdateFollowResponse>\n >(\n 'PATCH',\n '/api/v2/feeds/follows',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UpdateFollowResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async follow(\n request: FollowRequest,\n ): Promise<StreamResponse<SingleFollowResponse>> {\n const body = {\n source: request?.source,\n target: request?.target,\n create_notification_activity: request?.create_notification_activity,\n push_preference: request?.push_preference,\n skip_push: request?.skip_push,\n custom: request?.custom,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<SingleFollowResponse>\n >(\n 'POST',\n '/api/v2/feeds/follows',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.SingleFollowResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async acceptFollow(\n request: AcceptFollowRequest,\n ): Promise<StreamResponse<AcceptFollowResponse>> {\n const body = {\n source: request?.source,\n target: request?.target,\n follower_role: request?.follower_role,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<AcceptFollowResponse>\n >(\n 'POST',\n '/api/v2/feeds/follows/accept',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.AcceptFollowResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async followBatch(\n request: FollowBatchRequest,\n ): Promise<StreamResponse<FollowBatchResponse>> {\n const body = {\n follows: request?.follows,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<FollowBatchResponse>\n >(\n 'POST',\n '/api/v2/feeds/follows/batch',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.FollowBatchResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async queryFollows(\n request?: QueryFollowsRequest,\n ): Promise<StreamResponse<QueryFollowsResponse>> {\n const body = {\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n sort: request?.sort,\n filter: request?.filter,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<QueryFollowsResponse>\n >(\n 'POST',\n '/api/v2/feeds/follows/query',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.QueryFollowsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async rejectFollow(\n request: RejectFollowRequest,\n ): Promise<StreamResponse<RejectFollowResponse>> {\n const body = {\n source: request?.source,\n target: request?.target,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<RejectFollowResponse>\n >(\n 'POST',\n '/api/v2/feeds/follows/reject',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.RejectFollowResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async unfollow(request: {\n source: string;\n target: string;\n }): Promise<StreamResponse<UnfollowResponse>> {\n const pathParams = {\n source: request?.source,\n target: request?.target,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UnfollowResponse>\n >(\n 'DELETE',\n '/api/v2/feeds/follows/{source}/{target}',\n pathParams,\n undefined,\n );\n\n decoders.UnfollowResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async createMembershipLevel(\n request: CreateMembershipLevelRequest,\n ): Promise<StreamResponse<CreateMembershipLevelResponse>> {\n const body = {\n id: request?.id,\n name: request?.name,\n description: request?.description,\n priority: request?.priority,\n tags: request?.tags,\n custom: request?.custom,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<CreateMembershipLevelResponse>\n >(\n 'POST',\n '/api/v2/feeds/membership_levels',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.CreateMembershipLevelResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async queryMembershipLevels(\n request?: QueryMembershipLevelsRequest,\n ): Promise<StreamResponse<QueryMembershipLevelsResponse>> {\n const body = {\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n sort: request?.sort,\n filter: request?.filter,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<QueryMembershipLevelsResponse>\n >(\n 'POST',\n '/api/v2/feeds/membership_levels/query',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.QueryMembershipLevelsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deleteMembershipLevel(request: {\n id: string;\n }): Promise<StreamResponse<Response>> {\n const pathParams = {\n id: request?.id,\n };\n\n const response = await this.apiClient.sendRequest<StreamResponse<Response>>(\n 'DELETE',\n '/api/v2/feeds/membership_levels/{id}',\n pathParams,\n undefined,\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async updateMembershipLevel(\n request: UpdateMembershipLevelRequest & { id: string },\n ): Promise<StreamResponse<UpdateMembershipLevelResponse>> {\n const pathParams = {\n id: request?.id,\n };\n const body = {\n description: request?.description,\n name: request?.name,\n priority: request?.priority,\n tags: request?.tags,\n custom: request?.custom,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UpdateMembershipLevelResponse>\n >(\n 'PATCH',\n '/api/v2/feeds/membership_levels/{id}',\n pathParams,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UpdateMembershipLevelResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async queryFeedsUsageStats(\n request?: QueryFeedsUsageStatsRequest,\n ): Promise<StreamResponse<QueryFeedsUsageStatsResponse>> {\n const body = {\n from: request?.from,\n to: request?.to,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<QueryFeedsUsageStatsResponse>\n >(\n 'POST',\n '/api/v2/feeds/stats/usage',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.QueryFeedsUsageStatsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async unfollowBatch(\n request: UnfollowBatchRequest,\n ): Promise<StreamResponse<UnfollowBatchResponse>> {\n const body = {\n follows: request?.follows,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<UnfollowBatchResponse>\n >(\n 'POST',\n '/api/v2/feeds/unfollow/batch',\n undefined,\n undefined,\n body,\n 'application/json',\n );\n\n decoders.UnfollowBatchResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async deleteFeedUserData(request: {\n user_id: string;\n }): Promise<StreamResponse<DeleteFeedUserDataResponse>> {\n const pathParams = {\n user_id: request?.user_id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<DeleteFeedUserDataResponse>\n >('DELETE', '/api/v2/feeds/users/{user_id}/delete', pathParams, undefined);\n\n decoders.DeleteFeedUserDataResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n\n async exportFeedUserData(request: {\n user_id: string;\n }): Promise<StreamResponse<ExportFeedUserDataResponse>> {\n const pathParams = {\n user_id: request?.user_id,\n };\n\n const response = await this.apiClient.sendRequest<\n StreamResponse<ExportFeedUserDataResponse>\n >('POST', '/api/v2/feeds/users/{user_id}/export', pathParams, undefined);\n\n decoders.ExportFeedUserDataResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n }\n}\n","import { StreamResponse, FeedsApi } from '../../gen-imports';\nimport {\n AcceptFeedMemberInviteRequest,\n AcceptFeedMemberInviteResponse,\n DeleteFeedResponse,\n GetOrCreateFeedRequest,\n GetOrCreateFeedResponse,\n MarkActivityRequest,\n PinActivityRequest,\n PinActivityResponse,\n QueryFeedMembersRequest,\n QueryFeedMembersResponse,\n RejectFeedMemberInviteRequest,\n RejectFeedMemberInviteResponse,\n Response,\n UnpinActivityResponse,\n UpdateFeedMembersRequest,\n UpdateFeedMembersResponse,\n UpdateFeedRequest,\n UpdateFeedResponse,\n} from '../models';\n\nexport class FeedApi {\n constructor(\n protected feedsApi: FeedsApi,\n public readonly group: string,\n public readonly id: string,\n ) {}\n\n delete(request?: {\n hard_delete?: boolean;\n }): Promise<StreamResponse<DeleteFeedResponse>> {\n return this.feedsApi.deleteFeed({\n feed_id: this.id,\n feed_group_id: this.group,\n ...request,\n });\n }\n\n getOrCreate(\n request?: GetOrCreateFeedRequest,\n ): Promise<StreamResponse<GetOrCreateFeedResponse>> {\n return this.feedsApi.getOrCreateFeed({\n feed_id: this.id,\n feed_group_id: this.group,\n ...request,\n });\n }\n\n update(\n request?: UpdateFeedRequest,\n ): Promise<StreamResponse<UpdateFeedResponse>> {\n return this.feedsApi.updateFeed({\n feed_id: this.id,\n feed_group_id: this.group,\n ...request,\n });\n }\n\n markActivity(\n request?: MarkActivityRequest,\n ): Promise<StreamResponse<Response>> {\n return this.feedsApi.markActivity({\n feed_id: this.id,\n feed_group_id: this.group,\n ...request,\n });\n }\n\n unpinActivity(request: {\n activity_id: string;\n user_id?: string;\n }): Promise<StreamResponse<UnpinActivityResponse>> {\n return this.feedsApi.unpinActivity({\n feed_id: this.id,\n feed_group_id: this.group,\n ...request,\n });\n }\n\n pinActivity(\n request: PinActivityRequest & { activity_id: string },\n ): Promise<StreamResponse<PinActivityResponse>> {\n return this.feedsApi.pinActivity({\n feed_id: this.id,\n feed_group_id: this.group,\n ...request,\n });\n }\n\n updateFeedMembers(\n request: UpdateFeedMembersRequest,\n ): Promise<StreamResponse<UpdateFeedMembersResponse>> {\n return this.feedsApi.updateFeedMembers({\n feed_id: this.id,\n feed_group_id: this.group,\n ...request,\n });\n }\n\n acceptFeedMemberInvite(\n request?: AcceptFeedMemberInviteRequest,\n ): Promise<StreamResponse<AcceptFeedMemberInviteResponse>> {\n return this.feedsApi.acceptFeedMemberInvite({\n feed_id: this.id,\n feed_group_id: this.group,\n ...request,\n });\n }\n\n queryFeedMembers(\n request?: QueryFeedMembersRequest,\n ): Promise<StreamResponse<QueryFeedMembersResponse>> {\n return this.feedsApi.queryFeedMembers({\n feed_id: this.id,\n feed_group_id: this.group,\n ...request,\n });\n }\n\n rejectFeedMemberInvite(\n request?: RejectFeedMemberInviteRequest,\n ): Promise<StreamResponse<RejectFeedMemberInviteResponse>> {\n return this.feedsApi.rejectFeedMemberInvite({\n feed_id: this.id,\n feed_group_id: this.group,\n ...request,\n });\n }\n}\n","import { FeedApi } from './gen/feeds/FeedApi';\n\nexport class StreamFeed extends FeedApi {\n get feed() {\n return `${this.group}:${this.id}`;\n }\n}\n","import { FeedsApi } from './gen/feeds/FeedsApi';\nimport { AddReactionRequest, QueryFeedsRequest } from './gen/models';\nimport { StreamFeed } from './StreamFeed';\n\nexport class StreamFeedsClient extends FeedsApi {\n feed = (group: string, id: string) => {\n return new StreamFeed(this, group, id);\n };\n\n queryFeeds = (request: QueryFeedsRequest) => {\n return super._queryFeeds(request);\n };\n\n /**\n * @deprecated Use addActivityReaction instead\n */\n addReaction = (request: AddReactionRequest & { activity_id: string }) => {\n return super.addActivityReaction(request);\n };\n}\n","import { JWTServerToken, JWTUserToken } from './utils/create-token';\nimport { CommonApi } from './gen/common/CommonApi';\nimport { StreamVideoClient } from './StreamVideoClient';\nimport crypto from 'crypto';\nimport { StreamChatClient } from './StreamChatClient';\nimport { CallTokenPayload, UserTokenPayload } from './types';\nimport {\n FileUploadRequest,\n ImageUploadRequest,\n QueryBannedUsersPayload,\n UserRequest,\n} from './gen/models';\nimport { StreamModerationClient } from './StreamModerationClient';\nimport { ApiClient } from './ApiClient';\nimport { StreamFeedsClient } from './StreamFeedsClient';\nimport { File } from 'buffer';\n\nexport interface StreamClientOptions {\n timeout?: number;\n basePath?: string;\n // We use unknown here because RequestInit['dispatcher'] is different between Node versions\n /** The [HTTP Agent](https://undici.nodejs.org/#/docs/api/Agent.md) to use. */\n agent?: unknown;\n}\n\nexport class StreamClient extends CommonApi {\n public readonly video: StreamVideoClient;\n public readonly chat: StreamChatClient;\n public readonly moderation: StreamModerationClient;\n public readonly feeds: StreamFeedsClient;\n public readonly options: StreamClientOptions = {};\n\n private static readonly DEFAULT_TIMEOUT = 3000;\n\n /**\n *\n * @param apiKey\n * @param secret\n * @param config config object\n */\n constructor(\n readonly apiKey: string,\n private readonly secret: string,\n readonly config?: StreamClientOptions,\n ) {\n const token = JWTServerToken(secret);\n const timeout = config?.timeout ?? StreamClient.DEFAULT_TIMEOUT;\n const chatBaseUrl = config?.basePath ?? 'https://chat.stream-io-api.com';\n const videoBaseUrl = config?.basePath ?? 'https://video.stream-io-api.com';\n const feedsBaseUrl = config?.basePath ?? 'https://feeds.stream-io-api.com';\n const chatApiClient = new ApiClient({\n apiKey,\n token,\n baseUrl: chatBaseUrl,\n timeout,\n agent: config?.agent as RequestInit['dispatcher'],\n });\n\n const videoApiClient = new ApiClient({\n apiKey,\n token,\n baseUrl: videoBaseUrl,\n timeout,\n agent: config?.agent as RequestInit['dispatcher'],\n });\n\n const feedsApiClient = new ApiClient({\n apiKey,\n token,\n baseUrl: feedsBaseUrl,\n timeout,\n agent: config?.agent as RequestInit['dispatcher'],\n });\n\n super(chatApiClient);\n\n this.video = new StreamVideoClient({\n streamClient: this,\n apiClient: videoApiClient,\n });\n this.chat = new StreamChatClient(this.apiClient);\n this.moderation = new StreamModerationClient(chatApiClient);\n this.feeds = new StreamFeedsClient(feedsApiClient);\n }\n\n upsertUsers = (users: UserRequest[]) => {\n const payload: Record<string, UserRequest> = {};\n\n users.forEach((u) => {\n payload[u.id] = u;\n });\n\n return this.updateUsers({ users: payload });\n };\n\n queryBannedUsers = (request?: { payload?: QueryBannedUsersPayload }) => {\n return this.chat.queryBannedUsers(request);\n };\n\n // @ts-expect-error API spec says file should be a string\n uploadFile = (request: Omit<FileUploadRequest, 'file'> & { file: File }) => {\n return super.uploadFile({\n // @ts-expect-error API spec says file should be a string\n file: request.file,\n // @ts-expect-error form data will only work if this is a string\n user: JSON.stringify(request.user),\n });\n };\n\n // @ts-expect-error API spec says file should be a string\n uploadImage = (\n request: Omit<ImageUploadRequest, 'file'> & { file: File },\n ) => {\n return super.uploadImage({\n // @ts-expect-error API spec says file should be a string\n file: request.file,\n // @ts-expect-error form data will only work if this is a string\n user: JSON.stringify(request.user),\n // @ts-expect-error form data will only work if this is a string\n upload_sizes: JSON.stringify(request.upload_sizes),\n });\n };\n\n /**\n *\n * @param payload\n * - user_id - the id of the user the token is for\n * - validity_in_seconds - how many seconds is the token valid for (starting from issued at), by default it's 1 hour, dicarded if exp is provided\n * - exp - when the token expires, unix timestamp in seconds\n * - iat - issued at date of the token, unix timestamp in seconds, by default it's now\n */\n generateUserToken = (\n payload: {\n user_id: string;\n validity_in_seconds?: number;\n exp?: number;\n iat?: number;\n } & Record<string, unknown>,\n ) => {\n const defaultIat = Math.floor((Date.now() - 1000) / 1000);\n payload.iat = payload.iat ?? defaultIat;\n const validityInSeconds = payload.validity_in_seconds ?? 60 * 60;\n payload.exp = payload.exp ?? payload.iat + validityInSeconds;\n\n return JWTUserToken(this.secret, payload as UserTokenPayload);\n };\n\n /**\n *\n * @param payload\n * - user_id - the id of the user the token is for\n * - iat - issued at date of the token, unix timestamp in seconds, by default it's now\n */\n generatePermanentUserToken = (\n payload: {\n user_id: string;\n iat?: number;\n } & Record<string, unknown>,\n ) => {\n const defaultIat = Math.floor((Date.now() - 1000) / 1000);\n payload.iat = payload.iat ?? defaultIat;\n\n return JWTUserToken(this.secret, payload as UserTokenPayload);\n };\n\n /**\n *\n * @param payload\n * - user_id - the id of the user the token is for\n * - validity_in_seconds - how many seconds is the token valid for (starting from issued at), by default it's 1 hour, dicarded if exp is provided\n * - exp - when the token expires, unix timestamp in seconds\n * - iat - issued at date of the token, unix timestamp in seconds, by default it's now\n */\n generateCallToken = (\n payload: {\n user_id: string;\n role?: string;\n call_cids: string[];\n validity_in_seconds?: number;\n exp?: number;\n iat?: number;\n } & Record<string, unknown>,\n ) => {\n return this.generateUserToken(payload);\n };\n\n /**\n *\n * @param userID\n * @param exp\n * @param iat deprecated, the default date will be set internally\n * @returns\n *\n * @deprecated use generateUserToken instead\n */\n createToken = (\n userID: string,\n exp = Math.round(Date.now() / 1000) + 60 * 60,\n iat = Math.floor((Date.now() - 1000) / 1000),\n ) => {\n const payload: UserTokenPayload = {\n user_id: userID,\n exp,\n iat,\n };\n\n return JWTUserToken(this.secret, payload);\n };\n\n /**\n *\n * @param userID\n * @param call_cids\n * @param exp\n * @param iat this is deprecated, the current date will be set internally\n * @returns\n *\n * @deprecated use generateCallToken instead\n */\n createCallToken = (\n userIdOrObject: string | { user_id: string; role?: string },\n call_cids: string[],\n exp = Math.round(Date.now() / 1000) + 60 * 60,\n iat = Math.floor((Date.now() - 1000) / 1000),\n ) => {\n const payload: CallTokenPayload = {\n exp,\n iat,\n call_cids,\n user_id:\n typeof userIdOrObject === 'string'\n ? userIdOrObject\n : userIdOrObject.user_id,\n };\n\n if (typeof userIdOrObject === 'object' && userIdOrObject.role) {\n payload.role = userIdOrObject.role;\n }\n\n return JWTUserToken(this.secret, payload);\n };\n\n verifyWebhook = (requestBody: string | Buffer, xSignature: string) => {\n const key = Buffer.from(this.secret, 'utf8');\n const hash = crypto\n .createHmac('sha256', key)\n .update(requestBody)\n .digest('hex');\n\n try {\n return crypto.timingSafeEqual(Buffer.from(hash), Buffer.from(xSignature));\n } catch (err) {\n return false;\n }\n };\n}\n","export interface AIImageConfig {\n async?: boolean;\n\n enabled?: boolean;\n\n ocr_rules?: OCRRule[];\n\n rules?: AWSRekognitionRule[];\n}\n\nexport interface AITextConfig {\n async?: boolean;\n\n enabled?: boolean;\n\n profile?: string;\n\n rules?: BodyguardRule[];\n\n severity_rules?: BodyguardSeverityRule[];\n}\n\nexport interface AIVideoConfig {\n async?: boolean;\n\n enabled?: boolean;\n\n rules?: AWSRekognitionRule[];\n}\n\nexport interface APIError {\n code: number;\n\n duration: string;\n\n message: string;\n\n more_info: string;\n\n status_code: number;\n\n details: number[];\n\n unrecoverable?: boolean;\n\n exception_fields?: Record<string, string>;\n}\n\nexport interface APNConfig {\n auth_key?: string;\n\n auth_type?: 'certificate' | 'token';\n\n bundle_id?: string;\n\n development?: boolean;\n\n disabled?: boolean;\n\n host?: string;\n\n key_id?: string;\n\n notification_template?: string;\n\n p12_cert?: string;\n\n team_id?: string;\n}\n\nexport interface APNConfigFields {\n development: boolean;\n\n enabled: boolean;\n\n auth_key?: string;\n\n auth_type?: string;\n\n bundle_id?: string;\n\n host?: string;\n\n key_id?: string;\n\n notification_template?: string;\n\n p12_cert?: string;\n\n team_id?: string;\n}\n\nexport interface APNS {\n body: string;\n\n title: string;\n\n content_available?: number;\n\n mutable_content?: number;\n\n sound?: string;\n\n data?: Record<string, any>;\n}\n\nexport interface AWSRekognitionRule {\n action:\n | 'flag'\n | 'shadow'\n | 'remove'\n | 'bounce'\n | 'bounce_flag'\n | 'bounce_remove';\n\n label: string;\n\n min_confidence: number;\n}\n\nexport interface AcceptFeedMemberInviteRequest {\n user_id?: string;\n\n user?: UserRequest;\n}\n\nexport interface AcceptFeedMemberInviteResponse {\n duration: string;\n\n member: FeedMemberResponse;\n}\n\nexport interface AcceptFollowRequest {\n source: string;\n\n target: string;\n\n follower_role?: string;\n}\n\nexport interface AcceptFollowResponse {\n duration: string;\n\n follow: FollowResponse;\n}\n\nexport interface Action {\n name: string;\n\n text: string;\n\n type: string;\n\n style?: string;\n\n value?: string;\n}\n\nexport interface ActionLogResponse {\n created_at: Date;\n\n id: string;\n\n reason: string;\n\n target_user_id: string;\n\n type: string;\n\n user_id: string;\n\n ai_providers: string[];\n\n custom: Record<string, any>;\n\n review_queue_item?: ReviewQueueItemResponse;\n\n target_user?: UserResponse;\n\n user?: UserResponse;\n}\n\nexport interface ActionSequence {\n action?: string;\n\n blur?: boolean;\n\n cooldown_period?: number;\n\n threshold?: number;\n\n time_window?: number;\n\n warning?: boolean;\n\n warning_text?: string;\n}\n\nexport interface ActiveCallsBitrateStats {\n p10: number;\n\n p50: number;\n}\n\nexport interface ActiveCallsFPSStats {\n p05: number;\n\n p10: number;\n\n p50: number;\n\n p90: number;\n}\n\nexport interface ActiveCallsLatencyStats {\n p50: number;\n\n p90: number;\n}\n\nexport interface ActiveCallsMetrics {\n join_call_api?: JoinCallAPIMetrics;\n\n publishers?: PublishersMetrics;\n\n subscribers?: SubscribersMetrics;\n}\n\nexport interface ActiveCallsResolutionStats {\n p10: number;\n\n p50: number;\n}\n\nexport interface ActiveCallsSummary {\n active_calls: number;\n\n active_publishers: number;\n\n active_subscribers: number;\n\n participants: number;\n}\n\nexport interface ActivityAddedEvent {\n created_at: Date;\n\n fid: string;\n\n activity: ActivityResponse;\n\n custom: Record<string, any>;\n\n type: string;\n\n feed_visibility?: string;\n\n received_at?: Date;\n\n user?: UserResponseCommonFields;\n}\n\nexport interface ActivityDeletedEvent {\n created_at: Date;\n\n fid: string;\n\n activity: ActivityResponse;\n\n custom: Record<string, any>;\n\n type: string;\n\n feed_visibility?: string;\n\n received_at?: Date;\n\n user?: UserResponseCommonFields;\n}\n\nexport interface ActivityFeedbackEvent {\n created_at: Date;\n\n activity_feedback: ActivityFeedbackEventPayload;\n\n custom: Record<string, any>;\n\n type: string;\n\n received_at?: Date;\n\n user?: UserResponseCommonFields;\n}\n\nexport interface ActivityFeedbackEventPayload {\n action: 'hide' | 'show_more' | 'show_less';\n\n activity_id: string;\n\n created_at: Date;\n\n updated_at: Date;\n\n value: string;\n\n user: UserResponse;\n}\n\nexport interface ActivityFeedbackRequest {\n hide?: boolean;\n\n show_less?: boolean;\n\n show_more?: boolean;\n\n user_id?: string;\n\n user?: UserRequest;\n}\n\nexport interface ActivityFeedbackResponse {\n activity_id: string;\n\n duration: string;\n}\n\nexport interface ActivityLocation {\n lat: number;\n\n lng: number;\n}\n\nexport interface ActivityMarkEvent {\n created_at: Date;\n\n fid: string;\n\n custom: Record<string, any>;\n\n type: string;\n\n feed_visibility?: string;\n\n mark_all_read?: boolean;\n\n mark_all_seen?: boolean;\n\n received_at?: Date;\n\n mark_read?: string[];\n\n mark_seen?: string[];\n\n mark_watched?: string[];\n\n user?: UserResponseCommonFields;\n}\n\nexport interface ActivityMarkedEvent {\n all_read: boolean;\n\n all_seen: boolean;\n\n created_at: Date;\n\n feed_id: string;\n\n user_id: string;\n\n type: string;\n\n marked_read?: string[];\n\n marked_watched?: string[];\n}\n\nexport interface ActivityPinResponse {\n created_at: Date;\n\n feed: string;\n\n updated_at: Date;\n\n activity: ActivityResponse;\n\n user: UserResponse;\n}\n\nexport interface ActivityPinnedEvent {\n created_at: Date;\n\n fid: string;\n\n custom: Record<string, any>;\n\n pinned_activity: PinActivityResponse;\n\n type: string;\n\n feed_visibility?: string;\n\n received_at?: Date;\n\n user?: UserResponseCommonFields;\n}\n\nexport interface ActivityProcessorConfig {\n type: string;\n}\n\nexport interface ActivityReactionAddedEvent {\n created_at: Date;\n\n fid: string;\n\n activity: ActivityResponse;\n\n custom: Record<string, any>;\n\n reaction: FeedsReactionResponse;\n\n type: string;\n\n feed_visibility?: string;\n\n received_at?: Date;\n\n user?: UserResponseCommonFields;\n}\n\nexport interface ActivityReactionDeletedEvent {\n created_at: Date;\n\n fid: string;\n\n activity: ActivityResponse;\n\n custom: Record<string, any>;\n\n reaction: FeedsReactionResponse;\n\n type: string;\n\n feed_visibility?: string;\n\n received_at?: Date;\n\n user?: UserResponseCommonFields;\n}\n\nexport interface ActivityReactionUpdatedEvent {\n created_at: Date;\n\n fid: string;\n\n activity: ActivityResponse;\n\n custom: Record<string, any>;\n\n reaction: FeedsReactionResponse;\n\n type: string;\n\n feed_visibility?: string;\n\n received_at?: Date;\n\n user?: UserResponseCommonFields;\n}\n\nexport interface ActivityRemovedFromFeedEvent {\n created_at: Date;\n\n fid: string;\n\n activity: ActivityResponse;\n\n custom: Record<string, any>;\n\n type: string;\n\n feed_visibility?: string;\n\n received_at?: Date;\n\n user?: UserResponseCommonFields;\n}\n\nexport interface ActivityRequest {\n type: string;\n\n feeds: string[];\n\n expires_at?: string;\n\n id?: string;\n\n parent_id?: string;\n\n poll_id?: string;\n\n restrict_replies?: 'everyone' | 'people_i_follow' | 'nobody';\n\n text?: string;\n\n user_id?: string;\n\n visibility?: 'public' | 'private' | 'tag';\n\n visibility_tag?: string;\n\n attachments?: Attachment[];\n\n collection_refs?: string[];\n\n filter_tags?: string[];\n\n interest_tags?: string[];\n\n mentioned_user_ids?: string[];\n\n custom?: Record<string, any>;\n\n location?: ActivityLocation;\n\n search_data?: Record<string, any>;\n}\n\nexport interface ActivityResponse {\n bookmark_count: number;\n\n comment_count: number;\n\n created_at: Date;\n\n hidden: boolean;\n\n id: string;\n\n popularity: number;\n\n preview: boolean;\n\n reaction_count: number;\n\n restrict_replies: string;\n\n score: number;\n\n share_count: number;\n\n type: string;\n\n updated_at: Date;\n\n visibility: 'public' | 'private' | 'tag';\n\n attachments: Attachment[];\n\n comments: CommentResponse[];\n\n feeds: string[];\n\n filter_tags: string[];\n\n interest_tags: string[];\n\n latest_reactions: FeedsReactionResponse[];\n\n mentioned_users: UserResponse[];\n\n own_bookmarks: BookmarkResponse[];\n\n own_reactions: FeedsReactionResponse[];\n\n collections: Record<string, EnrichedCollectionResponse>;\n\n custom: Record<string, any>;\n\n reaction_groups: Record<string, ReactionGroupResponse>;\n\n search_data: Record<string, any>;\n\n user: UserResponse;\n\n deleted_at?: Date;\n\n edited_at?: Date;\n\n expires_at?: Date;\n\n is_watched?: boolean;\n\n moderation_action?: string;\n\n text?: string;\n\n visibility_tag?: string;\n\n current_feed?: FeedResponse;\n\n location?: ActivityLocation;\n\n moderation?: ModerationV2Response;\n\n notification_context?: NotificationContext;\n\n parent?: ActivityResponse;\n\n poll?: PollResponseData;\n}\n\nexport interface ActivitySelectorConfig {\n type:\n | 'popular'\n | 'proximity'\n | 'following'\n | 'current_feed'\n | 'query'\n | 'interest';\n\n cutoff_time?: string;\n\n cutoff_window?: string;\n\n min_popularity?: number;\n\n sort?: SortParamRequest[];\n\n filter?: Record<string, any>;\n}\n\nexport interface ActivitySelectorConfigResponse {\n type: string;\n\n cutoff_time?: Date;\n\n cutoff_window?: string;\n\n min_popularity?: number;\n\n sort?: SortParamRequest[];\n\n filter?: Record<string, any>;\n}\n\nexport interface ActivityUnpinnedEvent {\n created_at: Date;\n\n fid: string;\n\n custom: Record<string, any>;\n\n pinned_activity: PinActivityResponse;\n\n type: string;\n\n feed_visibility?: string;\n\n received_at?: Date;\n\n user?: UserResponseCommonFields;\n}\n\nexport interface ActivityUpdatedEvent {\n created_at: Date;\n\n fid: string;\n\n activity: ActivityResponse;\n\n custom: Record<string, any>;\n\n type: string;\n\n feed_visibility?: string;\n\n received_at?: Date;\n\n user?: UserResponseCommonFields;\n}\n\nexport interface AddActivityRequest {\n type: string;\n\n feeds: string[];\n\n expires_at?: string;\n\n id?: string;\n\n parent_id?: string;\n\n poll_id?: string;\n\n restrict_replies?: 'everyone' | 'people_i_follow' | 'nobody';\n\n text?: string;\n\n user_id?: string;\n\n visibility?: 'public' | 'private' | 'tag';\n\n visibility_tag?: string;\n\n attachments?: Attachment[];\n\n collection_refs?: string[];\n\n filter_tags?: string[];\n\n interest_tags?: string[];\n\n mentioned_user_ids?: string[];\n\n custom?: Record<string, any>;\n\n location?: ActivityLocation;\n\n search_data?: Record<string, any>;\n}\n\nexport interface AddActivityResponse {\n duration: string;\n\n activity: ActivityResponse;\n}\n\nexport interface AddBookmarkRequest {\n folder_id?: string;\n\n user_id?: string;\n\n custom?: Record<string, any>;\n\n new_folder?: AddFolderRequest;\n\n user?: UserRequest;\n}\n\nexport interface AddBookmarkResponse {\n duration: string;\n\n bookmark: BookmarkResponse;\n}\n\nexport interface AddCommentReactionRequest {\n type: string;\n\n create_notification_activity?: boolean;\n\n enforce_unique?: boolean;\n\n skip_push?: boolean;\n\n user_id?: string;\n\n custom?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface AddCommentReactionResponse {\n duration: string;\n\n comment: CommentResponse;\n\n reaction: FeedsReactionResponse;\n}\n\nexport interface AddCommentRequest {\n object_id: string;\n\n object_type: string;\n\n comment?: string;\n\n create_notification_activity?: boolean;\n\n id?: string;\n\n parent_id?: string;\n\n skip_push?: boolean;\n\n user_id?: string;\n\n attachments?: Attachment[];\n\n mentioned_user_ids?: string[];\n\n custom?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface AddCommentResponse {\n duration: string;\n\n comment: CommentResponse;\n}\n\nexport interface AddCommentsBatchRequest {\n comments: AddCommentRequest[];\n}\n\nexport interface AddCommentsBatchResponse {\n duration: string;\n\n comments: CommentResponse[];\n}\n\nexport interface AddFolderRequest {\n name: string;\n\n custom?: Record<string, any>;\n}\n\nexport interface AddReactionRequest {\n type: string;\n\n create_notification_activity?: boolean;\n\n enforce_unique?: boolean;\n\n skip_push?: boolean;\n\n user_id?: string;\n\n custom?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface AddReactionResponse {\n duration: string;\n\n activity: ActivityResponse;\n\n reaction: FeedsReactionResponse;\n}\n\nexport interface AggregatedActivityResponse {\n activity_count: number;\n\n created_at: Date;\n\n group: string;\n\n score: number;\n\n updated_at: Date;\n\n user_count: number;\n\n user_count_truncated: boolean;\n\n activities: ActivityResponse[];\n\n is_watched?: boolean;\n}\n\nexport interface AggregationConfig {\n format: string;\n}\n\nexport interface AnyEvent {\n created_at: Date;\n\n type: string;\n}\n\nexport interface AppResponseFields {\n allow_multi_user_devices: boolean;\n\n async_url_enrich_enabled: boolean;\n\n auto_translation_enabled: boolean;\n\n campaign_enabled: boolean;\n\n cdn_expiration_seconds: number;\n\n custom_action_handler_url: string;\n\n disable_auth_checks: boolean;\n\n disable_permissions_checks: boolean;\n\n enforce_unique_usernames: string;\n\n guest_user_creation_disabled: boolean;\n\n id: number;\n\n image_moderation_enabled: boolean;\n\n max_aggregated_activities_length: number;\n\n moderation_bulk_submit_action_enabled: boolean;\n\n moderation_enabled: boolean;\n\n moderation_llm_configurability_enabled: boolean;\n\n moderation_multitenant_blocklist_enabled: boolean;\n\n moderation_webhook_url: string;\n\n multi_tenant_enabled: boolean;\n\n name: string;\n\n organization: string;\n\n permission_version: string;\n\n placement: string;\n\n reminders_interval: number;\n\n sns_key: string;\n\n sns_secret: string;\n\n sns_topic_arn: string;\n\n sqs_key: string;\n\n sqs_secret: string;\n\n sqs_url: string;\n\n suspended: boolean;\n\n suspended_explanation: string;\n\n use_hook_v2: boolean;\n\n user_response_time_enabled: boolean;\n\n webhook_url: string;\n\n event_hooks: EventHook[];\n\n user_search_disallowed_roles: string[];\n\n webhook_events: string[];\n\n call_types: Record<string, CallType>;\n\n channel_configs: Record<string, ChannelConfig>;\n\n file_upload_config: FileUploadConfig;\n\n grants: Record<string, string[]>;\n\n image_upload_config: FileUploadConfig;\n\n policies: Record<string, Policy[]>;\n\n push_notifications: PushNotificationFields;\n\n before_message_send_hook_url?: string;\n\n revoke_tokens_issued_before?: Date;\n\n allowed_flag_reasons?: string[];\n\n geofences?: GeofenceResponse[];\n\n image_moderation_labels?: string[];\n\n datadog_info?: DataDogInfo;\n\n moderation_dashboard_preferences?: ModerationDashboardPreferences;\n}\n\nexport interface AsyncBulkImageModerationEvent {\n created_at: Date;\n\n finished_at: Date;\n\n started_at: Date;\n\n task_id: string;\n\n url: string;\n\n custom: Record<string, any>;\n\n type: string;\n\n received_at?: Date;\n}\n\nexport interface AsyncExportChannelsEvent {\n created_at: Date;\n\n finished_at: Date;\n\n started_at: Date;\n\n task_id: string;\n\n url: string;\n\n custom: Record<string, any>;\n\n type: string;\n\n received_at?: Date;\n}\n\nexport interface AsyncExportErrorEvent {\n created_at: Date;\n\n error: string;\n\n finished_at: Date;\n\n started_at: Date;\n\n task_id: string;\n\n custom: Record<string, any>;\n\n type: string;\n\n received_at?: Date;\n}\n\nexport interface AsyncExportModerationLogsEvent {\n created_at: Date;\n\n finished_at: Date;\n\n started_at: Date;\n\n task_id: string;\n\n url: string;\n\n custom: Record<string, any>;\n\n type: string;\n\n received_at?: Date;\n}\n\nexport interface AsyncExportUsersEvent {\n created_at: Date;\n\n finished_at: Date;\n\n started_at: Date;\n\n task_id: string;\n\n url: string;\n\n custom: Record<string, any>;\n\n type: string;\n\n received_at?: Date;\n}\n\nexport interface AsyncModerationCallbackConfig {\n mode?: 'CALLBACK_MODE_NONE' | 'CALLBACK_MODE_REST' | 'CALLBACK_MODE_TWIRP';\n\n server_url?: string;\n}\n\nexport interface AsyncModerationConfiguration {\n timeout_ms?: number;\n\n callback?: AsyncModerationCallbackConfig;\n}\n\nexport interface Attachment {\n custom: Record<string, any>;\n\n asset_url?: string;\n\n author_icon?: string;\n\n author_link?: string;\n\n author_name?: string;\n\n color?: string;\n\n fallback?: string;\n\n footer?: string;\n\n footer_icon?: string;\n\n image_url?: string;\n\n og_scrape_url?: string;\n\n original_height?: number;\n\n original_width?: number;\n\n pretext?: string;\n\n text?: string;\n\n thumb_url?: string;\n\n title?: string;\n\n title_link?: string;\n\n type?: string;\n\n actions?: Action[];\n\n fields?: Field[];\n\n giphy?: Images;\n}\n\nexport interface AudioSettings {\n access_request_enabled: boolean;\n\n default_device: 'speaker' | 'earpiece';\n\n hifi_audio_enabled: boolean;\n\n mic_default_on: boolean;\n\n opus_dtx_enabled: boolean;\n\n redundant_coding_enabled: boolean;\n\n speaker_default_on: boolean;\n\n noise_cancellation?: NoiseCancellationSettings;\n}\n\nexport interface AudioSettingsRequest {\n default_device: 'speaker' | 'earpiece';\n\n access_request_enabled?: boolean;\n\n hifi_audio_enabled?: boolean;\n\n mic_default_on?: boolean;\n\n opus_dtx_enabled?: boolean;\n\n redundant_coding_enabled?: boolean;\n\n speaker_default_on?: boolean;\n\n noise_cancellation?: NoiseCancellationSettings;\n}\n\nexport interface AudioSettingsResponse {\n access_request_enabled: boolean;\n\n default_device: 'speaker' | 'earpiece';\n\n hifi_audio_enabled: boolean;\n\n mic_default_on: boolean;\n\n opus_dtx_enabled: boolean;\n\n redundant_coding_enabled: boolean;\n\n speaker_default_on: boolean;\n\n noise_cancellation?: NoiseCancellationSettings;\n}\n\nexport interface AutomodDetails {\n action?: string;\n\n original_message_type?: string;\n\n image_labels?: string[];\n\n message_details?: FlagMessageDetails;\n\n result?: MessageModerationResult;\n}\n\nexport interface AutomodPlatformCircumventionConfig {\n async?: boolean;\n\n enabled?: boolean;\n\n rules?: AutomodRule[];\n}\n\nexport interface AutomodRule {\n action:\n | 'flag'\n | 'shadow'\n | 'remove'\n | 'bounce'\n | 'bounce_flag'\n | 'bounce_remove';\n\n label: string;\n\n threshold: number;\n}\n\nexport interface AutomodSemanticFiltersConfig {\n async?: boolean;\n\n enabled?: boolean;\n\n rules?: AutomodSemanticFiltersRule[];\n}\n\nexport interface AutomodSemanticFiltersRule {\n action: 'flag' | 'shadow' | 'remove';\n\n name: string;\n\n threshold: number;\n}\n\nexport interface AutomodToxicityConfig {\n async?: boolean;\n\n enabled?: boolean;\n\n rules?: AutomodRule[];\n}\n\nexport interface AzureRequest {\n abs_account_name: string;\n\n abs_client_id: string;\n\n abs_client_secret: string;\n\n abs_tenant_id: string;\n}\n\nexport interface BackstageSettings {\n enabled: boolean;\n\n join_ahead_time_seconds?: number;\n}\n\nexport interface BackstageSettingsRequest {\n enabled?: boolean;\n\n join_ahead_time_seconds?: number;\n}\n\nexport interface BackstageSettingsResponse {\n enabled: boolean;\n\n join_ahead_time_seconds?: number;\n}\n\nexport interface Ban {\n created_at: Date;\n\n shadow: boolean;\n\n expires?: Date;\n\n reason?: string;\n\n channel?: Channel;\n\n created_by?: User;\n\n target?: User;\n}\n\nexport interface BanActionRequest {\n channel_ban_only?: boolean;\n\n delete_messages?: 'soft' | 'pruning' | 'hard';\n\n ip_ban?: boolean;\n\n reason?: string;\n\n shadow?: boolean;\n\n timeout?: number;\n}\n\nexport interface BanOptions {\n delete_messages?: 'soft' | 'pruning' | 'hard';\n\n duration?: number;\n\n ip_ban?: boolean;\n\n reason?: string;\n\n shadow_ban?: boolean;\n}\n\nexport interface BanRequest {\n target_user_id: string;\n\n banned_by_id?: string;\n\n channel_cid?: string;\n\n delete_messages?: 'soft' | 'pruning' | 'hard';\n\n ip_ban?: boolean;\n\n reason?: string;\n\n shadow?: boolean;\n\n timeout?: number;\n\n banned_by?: UserRequest;\n}\n\nexport interface BanResponse {\n created_at: Date;\n\n expires?: Date;\n\n reason?: string;\n\n shadow?: boolean;\n\n banned_by?: UserResponse;\n\n channel?: ChannelResponse;\n\n user?: UserResponse;\n}\n\nexport interface BlockActionRequest {\n reason?: string;\n}\n\nexport interface BlockListConfig {\n async?: boolean;\n\n enabled?: boolean;\n\n rules?: BlockListRule[];\n}\n\nexport interface BlockListOptions {\n behavior: 'flag' | 'block' | 'shadow_block';\n\n blocklist: string;\n}\n\nexport interface BlockListResponse {\n is_leet_check_enabled: boolean;\n\n is_plural_check_enabled: boolean;\n\n name: string;\n\n type: string;\n\n words: string[];\n\n created_at?: Date;\n\n id?: string;\n\n team?: string;\n\n updated_at?: Date;\n}\n\nexport interface BlockListRule {\n action:\n | 'flag'\n | 'mask_flag'\n | 'shadow'\n | 'remove'\n | 'bounce'\n | 'bounce_flag'\n | 'bounce_remove';\n\n name?: string;\n\n team?: string;\n}\n\nexport interface BlockUserRequest {\n user_id: string;\n}\n\nexport interface BlockUserResponse {\n duration: string;\n}\n\nexport interface BlockUsersRequest {\n blocked_user_id: string;\n\n user_id?: string;\n\n user?: UserRequest;\n}\n\nexport interface BlockUsersResponse {\n blocked_by_user_id: string;\n\n blocked_user_id: string;\n\n created_at: Date;\n\n duration: string;\n}\n\nexport interface BlockedUserEvent {\n call_cid: string;\n\n created_at: Date;\n\n user: UserResponse;\n\n type: string;\n\n blocked_by_user?: UserResponse;\n}\n\nexport interface BlockedUserResponse {\n blocked_user_id: string;\n\n created_at: Date;\n\n user_id: string;\n\n blocked_user: UserResponse;\n\n user: UserResponse;\n}\n\nexport interface BodyguardImageAnalysisConfig {\n rules?: BodyguardRule[];\n}\n\nexport interface BodyguardRule {\n label: string;\n\n action?:\n | 'flag'\n | 'shadow'\n | 'remove'\n | 'bounce'\n | 'bounce_flag'\n | 'bounce_remove';\n\n severity_rules?: BodyguardSeverityRule[];\n}\n\nexport interface BodyguardSeverityRule {\n action:\n | 'flag'\n | 'shadow'\n | 'remove'\n | 'bounce'\n | 'bounce_flag'\n | 'bounce_remove';\n\n severity: 'low' | 'medium' | 'high' | 'critical';\n}\n\nexport interface BookmarkAddedEvent {\n created_at: Date;\n\n bookmark: BookmarkResponse;\n\n custom: Record<string, any>;\n\n type: string;\n\n received_at?: Date;\n\n user?: UserResponseCommonFields;\n}\n\nexport interface BookmarkDeletedEvent {\n created_at: Date;\n\n bookmark: BookmarkResponse;\n\n custom: Record<string, any>;\n\n type: string;\n\n received_at?: Date;\n\n user?: UserResponseCommonFields;\n}\n\nexport interface BookmarkFolderDeletedEvent {\n created_at: Date;\n\n bookmark_folder: BookmarkFolderResponse;\n\n custom: Record<string, any>;\n\n type: string;\n\n received_at?: Date;\n\n user?: UserResponseCommonFields;\n}\n\nexport interface BookmarkFolderResponse {\n created_at: Date;\n\n id: string;\n\n name: string;\n\n updated_at: Date;\n\n user: UserResponseCommonFields;\n\n custom?: Record<string, any>;\n}\n\nexport interface BookmarkFolderUpdatedEvent {\n created_at: Date;\n\n bookmark_folder: BookmarkFolderResponse;\n\n custom: Record<string, any>;\n\n type: string;\n\n received_at?: Date;\n\n user?: UserResponseCommonFields;\n}\n\nexport interface BookmarkResponse {\n created_at: Date;\n\n updated_at: Date;\n\n activity: ActivityResponse;\n\n user: UserResponseCommonFields;\n\n custom?: Record<string, any>;\n\n folder?: BookmarkFolderResponse;\n}\n\nexport interface BookmarkUpdatedEvent {\n created_at: Date;\n\n bookmark: BookmarkResponse;\n\n custom: Record<string, any>;\n\n type: string;\n\n received_at?: Date;\n\n user?: UserResponseCommonFields;\n}\n\nexport interface Bound {\n inclusive: boolean;\n\n value: number;\n}\n\nexport interface BroadcastSettings {\n enabled: boolean;\n\n hls?: HLSSettings;\n\n rtmp?: RTMPSettings;\n}\n\nexport interface BroadcastSettingsRequest {\n enabled?: boolean;\n\n hls?: HLSSettingsRequest;\n\n rtmp?: RTMPSettingsRequest;\n}\n\nexport interface BroadcastSettingsResponse {\n enabled: boolean;\n\n hls: HLSSettingsResponse;\n\n rtmp: RTMPSettingsResponse;\n}\n\nexport interface BrowserDataResponse {\n name?: string;\n\n version?: string;\n}\n\nexport interface BulkImageModerationRequest {\n csv_file: string;\n}\n\nexport interface BulkImageModerationResponse {\n duration: string;\n\n task_id: string;\n}\n\nexport interface CallAcceptedEvent {\n call_cid: string;\n\n created_at: Date;\n\n call: CallResponse;\n\n user: UserResponse;\n\n type: string;\n}\n\nexport interface CallClosedCaption {\n end_time: Date;\n\n id: string;\n\n language: string;\n\n speaker_id: string;\n\n start_time: Date;\n\n text: string;\n\n translated: boolean;\n\n user: UserResponse;\n\n service?: string;\n}\n\nexport interface CallClosedCaptionsFailedEvent {\n call_cid: string;\n\n created_at: Date;\n\n type: string;\n}\n\nexport interface CallClosedCaptionsStartedEvent {\n call_cid: string;\n\n created_at: Date;\n\n type: string;\n}\n\nexport interface CallClosedCaptionsStoppedEvent {\n call_cid: string;\n\n created_at: Date;\n\n type: string;\n}\n\nexport interface CallCreatedEvent {\n call_cid: string;\n\n created_at: Date;\n\n members: MemberResponse[];\n\n call: CallResponse;\n\n type: string;\n}\n\nexport interface CallDeletedEvent {\n call_cid: string;\n\n created_at: Date;\n\n call: CallResponse;\n\n type: string;\n}\n\nexport interface CallDurationReport {\n histogram: ReportByHistogramBucket[];\n}\n\nexport interface CallDurationReportResponse {\n daily: DailyAggregateCallDurationReportResponse[];\n}\n\nexport interface CallEndedEvent {\n call_cid: string;\n\n created_at: Date;\n\n call: CallResponse;\n\n type: string;\n\n reason?: string;\n\n user?: UserResponse;\n}\n\nexport interface CallFrameRecordingFailedEvent {\n call_cid: string;\n\n created_at: Date;\n\n egress_id: string;\n\n call: CallResponse;\n\n type: string;\n}\n\nexport interface CallFrameRecordingFrameReadyEvent {\n call_cid: string;\n\n captured_at: Date;\n\n created_at: Date;\n\n egress_id: string;\n\n session_id: string;\n\n track_type: string;\n\n url: string;\n\n users: Record<string, UserResponse>;\n\n type: string;\n}\n\nexport interface CallFrameRecordingStartedEvent {\n call_cid: string;\n\n created_at: Date;\n\n egress_id: string;\n\n call: CallResponse;\n\n type: string;\n}\n\nexport interface CallFrameRecordingStoppedEvent {\n call_cid: string;\n\n created_at: Date;\n\n egress_id: string;\n\n call: CallResponse;\n\n type: string;\n}\n\nexport interface CallHLSBroadcastingFailedEvent {\n call_cid: string;\n\n created_at: Date;\n\n type: string;\n}\n\nexport interface CallHLSBroadcastingStartedEvent {\n call_cid: string;\n\n created_at: Date;\n\n hls_playlist_url: string;\n\n call: CallResponse;\n\n type: string;\n}\n\nexport interface CallHLSBroadcastingStoppedEvent {\n call_cid: string;\n\n created_at: Date;\n\n type: string;\n}\n\nexport interface CallIngressResponse {\n rtmp: RTMPIngress;\n\n srt: SRTIngress;\n\n whip: WHIPIngress;\n}\n\nexport interface CallLiveStartedEvent {\n call_cid: string;\n\n created_at: Date;\n\n call: CallResponse;\n\n type: string;\n}\n\nexport interface CallMemberAddedEvent {\n call_cid: string;\n\n created_at: Date;\n\n members: MemberResponse[];\n\n call: CallResponse;\n\n type: string;\n}\n\nexport interface CallMemberRemovedEvent {\n call_cid: string;\n\n created_at: Date;\n\n members: string[];\n\n call: CallResponse;\n\n type: string;\n}\n\nexport interface CallMemberUpdatedEvent {\n call_cid: string;\n\n created_at: Date;\n\n members: MemberResponse[];\n\n call: CallResponse;\n\n type: string;\n}\n\nexport interface CallMemberUpdatedPermissionEvent {\n call_cid: string;\n\n created_at: Date;\n\n members: MemberResponse[];\n\n call: CallResponse;\n\n capabilities_by_role: Record<string, string[]>;\n\n type: string;\n}\n\nexport interface CallMissedEvent {\n call_cid: string;\n\n created_at: Date;\n\n notify_user: boolean;\n\n session_id: string;\n\n members: MemberResponse[];\n\n call: CallResponse;\n\n user: UserResponse;\n\n type: string;\n}\n\nexport interface CallModerationBlurEvent {\n call_cid: string;\n\n created_at: Date;\n\n user_id: string;\n\n custom: Record<string, any>;\n\n type: string;\n}\n\nexport interface CallModerationWarningEvent {\n call_cid: string;\n\n created_at: Date;\n\n message: string;\n\n user_id: string;\n\n custom: Record<string, any>;\n\n type: string;\n}\n\nexport interface CallNotificationEvent {\n call_cid: string;\n\n created_at: Date;\n\n session_id: string;\n\n members: MemberResponse[];\n\n call: CallResponse;\n\n user: UserResponse;\n\n type: string;\n}\n\nexport interface CallParticipantCountReport {\n histogram: ReportByHistogramBucket[];\n}\n\nexport interface CallParticipantCountReportResponse {\n daily: DailyAggregateCallParticipantCountReportResponse[];\n}\n\nexport interface CallParticipantResponse {\n joined_at: Date;\n\n role: string;\n\n user_session_id: string;\n\n user: UserResponse;\n}\n\nexport interface CallParticipantTimeline {\n severity: string;\n\n timestamp: Date;\n\n type: string;\n\n data: Record<string, any>;\n}\n\nexport interface CallReactionEvent {\n call_cid: string;\n\n created_at: Date;\n\n reaction: ReactionResponse;\n\n type: string;\n}\n\nexport interface CallRecording {\n end_time: Date;\n\n filename: string;\n\n session_id: string;\n\n start_time: Date;\n\n url: string;\n}\n\nexport interface CallRecordingFailedEvent {\n call_cid: string;\n\n created_at: Date;\n\n egress_id: string;\n\n type: string;\n}\n\nexport interface CallRecordingReadyEvent {\n call_cid: string;\n\n created_at: Date;\n\n egress_id: string;\n\n call_recording: CallRecording;\n\n type: string;\n}\n\nexport interface CallRecordingStartedEvent {\n call_cid: string;\n\n created_at: Date;\n\n egress_id: string;\n\n type: string;\n}\n\nexport interface CallRecordingStoppedEvent {\n call_cid: string;\n\n created_at: Date;\n\n egress_id: string;\n\n type: string;\n}\n\nexport interface CallRejectedEvent {\n call_cid: string;\n\n created_at: Date;\n\n call: CallResponse;\n\n user: UserResponse;\n\n type: string;\n\n reason?: string;\n}\n\nexport interface CallReportResponse {\n score: number;\n\n ended_at?: Date;\n\n started_at?: Date;\n}\n\nexport interface CallRequest {\n channel_cid?: string;\n\n created_by_id?: string;\n\n starts_at?: Date;\n\n team?: string;\n\n video?: boolean;\n\n members?: MemberRequest[];\n\n created_by?: UserRequest;\n\n custom?: Record<string, any>;\n\n settings_override?: CallSettingsRequest;\n}\n\nexport interface CallResponse {\n backstage: boolean;\n\n captioning: boolean;\n\n cid: string;\n\n created_at: Date;\n\n current_session_id: string;\n\n id: string;\n\n recording: boolean;\n\n transcribing: boolean;\n\n translating: boolean;\n\n type: string;\n\n updated_at: Date;\n\n blocked_user_ids: string[];\n\n created_by: UserResponse;\n\n custom: Record<string, any>;\n\n egress: EgressResponse;\n\n ingress: CallIngressResponse;\n\n settings: CallSettingsResponse;\n\n channel_cid?: string;\n\n ended_at?: Date;\n\n join_ahead_time_seconds?: number;\n\n starts_at?: Date;\n\n team?: string;\n\n session?: CallSessionResponse;\n\n thumbnails?: ThumbnailResponse;\n}\n\nexport interface CallRingEvent {\n call_cid: string;\n\n created_at: Date;\n\n session_id: string;\n\n video: boolean;\n\n members: MemberResponse[];\n\n call: CallResponse;\n\n user: UserResponse;\n\n type: string;\n}\n\nexport interface CallRtmpBroadcastFailedEvent {\n call_cid: string;\n\n created_at: Date;\n\n name: string;\n\n type: string;\n}\n\nexport interface CallRtmpBroadcastStartedEvent {\n call_cid: string;\n\n created_at: Date;\n\n name: string;\n\n type: string;\n}\n\nexport interface CallRtmpBroadcastStoppedEvent {\n call_cid: string;\n\n created_at: Date;\n\n name: string;\n\n type: string;\n}\n\nexport interface CallSessionEndedEvent {\n call_cid: string;\n\n created_at: Date;\n\n session_id: string;\n\n call: CallResponse;\n\n type: string;\n}\n\nexport interface CallSessionParticipantCountsUpdatedEvent {\n anonymous_participant_count: number;\n\n call_cid: string;\n\n created_at: Date;\n\n session_id: string;\n\n participants_count_by_role: Record<string, number>;\n\n type: string;\n}\n\nexport interface CallSessionParticipantJoinedEvent {\n call_cid: string;\n\n created_at: Date;\n\n session_id: string;\n\n participant: CallParticipantResponse;\n\n type: string;\n}\n\nexport interface CallSessionParticipantLeftEvent {\n call_cid: string;\n\n created_at: Date;\n\n duration_seconds: number;\n\n session_id: string;\n\n participant: CallParticipantResponse;\n\n type: string;\n\n reason?: string;\n}\n\nexport interface CallSessionResponse {\n anonymous_participant_count: number;\n\n id: string;\n\n participants: CallParticipantResponse[];\n\n accepted_by: Record<string, Date>;\n\n missed_by: Record<string, Date>;\n\n participants_count_by_role: Record<string, number>;\n\n rejected_by: Record<string, Date>;\n\n ended_at?: Date;\n\n live_ended_at?: Date;\n\n live_started_at?: Date;\n\n started_at?: Date;\n\n timer_ends_at?: Date;\n}\n\nexport interface CallSessionStartedEvent {\n call_cid: string;\n\n created_at: Date;\n\n session_id: string;\n\n call: CallResponse;\n\n type: string;\n}\n\nexport interface CallSettings {\n audio?: AudioSettings;\n\n backstage?: BackstageSettings;\n\n broadcasting?: BroadcastSettings;\n\n frame_recording?: FrameRecordSettings;\n\n geofencing?: GeofenceSettings;\n\n ingress?: IngressSettings;\n\n limits?: LimitsSettings;\n\n recording?: RecordSettings;\n\n ring?: RingSettings;\n\n screensharing?: ScreensharingSettings;\n\n session?: SessionSettings;\n\n thumbnails?: ThumbnailsSettings;\n\n transcription?: TranscriptionSettings;\n\n video?: VideoSettings;\n}\n\nexport interface CallSettingsRequest {\n audio?: AudioSettingsRequest;\n\n backstage?: BackstageSettingsRequest;\n\n broadcasting?: BroadcastSettingsRequest;\n\n frame_recording?: FrameRecordingSettingsRequest;\n\n geofencing?: GeofenceSettingsRequest;\n\n ingress?: IngressSettingsRequest;\n\n limits?: LimitsSettingsRequest;\n\n recording?: RecordSettingsRequest;\n\n ring?: RingSettingsRequest;\n\n screensharing?: ScreensharingSettingsRequest;\n\n session?: SessionSettingsRequest;\n\n thumbnails?: ThumbnailsSettingsRequest;\n\n transcription?: TranscriptionSettingsRequest;\n\n video?: VideoSettingsRequest;\n}\n\nexport interface CallSettingsResponse {\n audio: AudioSettingsResponse;\n\n backstage: BackstageSettingsResponse;\n\n broadcasting: BroadcastSettingsResponse;\n\n frame_recording: FrameRecordingSettingsResponse;\n\n geofencing: GeofenceSettingsResponse;\n\n limits: LimitsSettingsResponse;\n\n recording: RecordSettingsResponse;\n\n ring: RingSettingsResponse;\n\n screensharing: ScreensharingSettingsResponse;\n\n session: SessionSettingsResponse;\n\n thumbnails: ThumbnailsSettingsResponse;\n\n transcription: TranscriptionSettingsResponse;\n\n video: VideoSettingsResponse;\n\n ingress?: IngressSettingsResponse;\n}\n\nexport interface CallStateResponseFields {\n members: MemberResponse[];\n\n own_capabilities: OwnCapability[];\n\n call: CallResponse;\n}\n\nexport interface CallStatsLocation {\n accuracy_radius_meters?: number;\n\n city?: string;\n\n continent?: string;\n\n country?: string;\n\n country_iso_code?: string;\n\n latitude?: number;\n\n longitude?: number;\n\n subdivision?: string;\n}\n\nexport interface CallStatsParticipant {\n user_id: string;\n\n sessions: CallStatsParticipantSession[];\n\n latest_activity_at?: Date;\n\n name?: string;\n\n roles?: string[];\n}\n\nexport interface CallStatsParticipantCounts {\n live_sessions: number;\n\n participants: number;\n\n peak_concurrent_sessions: number;\n\n peak_concurrent_users: number;\n\n publishers: number;\n\n sessions: number;\n}\n\nexport interface CallStatsParticipantSession {\n is_live: boolean;\n\n user_session_id: string;\n\n published_tracks: PublishedTrackFlags;\n\n browser?: string;\n\n browser_version?: string;\n\n cq_score?: number;\n\n current_ip?: string;\n\n current_sfu?: string;\n\n distance_to_sfu_kilometers?: number;\n\n ended_at?: Date;\n\n os?: string;\n\n publisher_type?: string;\n\n sdk?: string;\n\n sdk_version?: string;\n\n started_at?: Date;\n\n unified_session_id?: string;\n\n webrtc_version?: string;\n\n location?: CallStatsLocation;\n}\n\nexport interface CallStatsReportReadyEvent {\n call_cid: string;\n\n created_at: Date;\n\n session_id: string;\n\n type: string;\n}\n\nexport interface CallStatsReportSummaryResponse {\n call_cid: string;\n\n call_duration_seconds: number;\n\n call_session_id: string;\n\n call_status: string;\n\n first_stats_time: Date;\n\n created_at?: Date;\n\n min_user_rating?: number;\n\n quality_score?: number;\n}\n\nexport interface CallTranscription {\n end_time: Date;\n\n filename: string;\n\n session_id: string;\n\n start_time: Date;\n\n url: string;\n}\n\nexport interface CallTranscriptionFailedEvent {\n call_cid: string;\n\n created_at: Date;\n\n egress_id: string;\n\n type: string;\n\n error?: string;\n}\n\nexport interface CallTranscriptionReadyEvent {\n call_cid: string;\n\n created_at: Date;\n\n egress_id: string;\n\n call_transcription: CallTranscription;\n\n type: string;\n}\n\nexport interface CallTranscriptionStartedEvent {\n call_cid: string;\n\n created_at: Date;\n\n egress_id: string;\n\n type: string;\n}\n\nexport interface CallTranscriptionStoppedEvent {\n call_cid: string;\n\n created_at: Date;\n\n egress_id: string;\n\n type: string;\n}\n\nexport interface CallType {\n app: number;\n\n created_at: Date;\n\n id: number;\n\n name: string;\n\n recording_external_storage: string;\n\n updated_at: Date;\n\n notification_settings?: NotificationSettings;\n\n settings?: CallSettings;\n}\n\nexport interface CallTypeResponse {\n created_at: Date;\n\n name: string;\n\n updated_at: Date;\n\n grants: Record<string, string[]>;\n\n notification_settings: NotificationSettings;\n\n settings: CallSettingsResponse;\n\n external_storage?: string;\n}\n\nexport interface CallUpdatedEvent {\n call_cid: string;\n\n created_at: Date;\n\n call: CallResponse;\n\n capabilities_by_role: Record<string, string[]>;\n\n type: string;\n}\n\nexport interface CallUserFeedbackSubmittedEvent {\n call_cid: string;\n\n created_at: Date;\n\n rating: number;\n\n session_id: string;\n\n user: UserResponse;\n\n type: string;\n\n reason?: string;\n\n sdk?: string;\n\n sdk_version?: string;\n\n custom?: Record<string, any>;\n}\n\nexport interface CallUserMutedEvent {\n call_cid: string;\n\n created_at: Date;\n\n from_user_id: string;\n\n reason: string;\n\n muted_user_ids: string[];\n\n type: string;\n}\n\nexport interface CallsPerDayReport {\n count: number;\n}\n\nexport interface CallsPerDayReportResponse {\n daily: DailyAggregateCallsPerDayReportResponse[];\n}\n\nexport interface CampaignChannelMember {\n user_id: string;\n\n channel_role?: string;\n\n custom?: Record<string, any>;\n}\n\nexport interface CampaignChannelTemplate {\n type: string;\n\n custom: Record<string, any>;\n\n id?: string;\n\n team?: string;\n\n members?: string[];\n\n members_template?: CampaignChannelMember[];\n}\n\nexport interface CampaignCompletedEvent {\n created_at: Date;\n\n custom: Record<string, any>;\n\n type: string;\n\n received_at?: Date;\n\n campaign?: CampaignResponse;\n}\n\nexport interface CampaignMessageTemplate {\n poll_id: string;\n\n searchable: boolean;\n\n text: string;\n\n attachments: Attachment[];\n\n custom: Record<string, any>;\n}\n\nexport interface CampaignResponse {\n create_channels: boolean;\n\n created_at: Date;\n\n description: string;\n\n id: string;\n\n name: string;\n\n sender_id: string;\n\n sender_mode: string;\n\n sender_visibility: string;\n\n show_channels: boolean;\n\n skip_push: boolean;\n\n skip_webhook: boolean;\n\n status: string;\n\n updated_at: Date;\n\n segment_ids: string[];\n\n segments: Segment[];\n\n user_ids: string[];\n\n users: UserResponse[];\n\n stats: CampaignStatsResponse;\n\n scheduled_for?: Date;\n\n stop_at?: Date;\n\n channel_template?: CampaignChannelTemplate;\n\n message_template?: CampaignMessageTemplate;\n\n sender?: UserResponse;\n}\n\nexport interface CampaignStartedEvent {\n created_at: Date;\n\n custom: Record<string, any>;\n\n type: string;\n\n received_at?: Date;\n\n campaign?: CampaignResponse;\n}\n\nexport interface CampaignStatsResponse {\n progress: number;\n\n stats_channels_created: number;\n\n stats_completed_at: Date;\n\n stats_messages_sent: number;\n\n stats_started_at: Date;\n\n stats_users_read: number;\n\n stats_users_sent: number;\n}\n\nexport interface CastPollVoteRequest {\n user_id?: string;\n\n user?: UserRequest;\n\n vote?: VoteData;\n}\n\nexport interface Channel {\n auto_translation_language: string;\n\n cid: string;\n\n created_at: Date;\n\n disabled: boolean;\n\n frozen: boolean;\n\n id: string;\n\n type: string;\n\n updated_at: Date;\n\n custom: Record<string, any>;\n\n auto_translation_enabled?: boolean;\n\n cooldown?: number;\n\n deleted_at?: Date;\n\n last_campaigns?: string;\n\n last_message_at?: Date;\n\n member_count?: number;\n\n message_count?: number;\n\n message_count_updated_at?: Date;\n\n team?: string;\n\n active_live_locations?: SharedLocation[];\n\n filter_tags?: string[];\n\n invites?: ChannelMember[];\n\n members?: ChannelMember[];\n\n config?: ChannelConfig;\n\n config_overrides?: ConfigOverrides;\n\n created_by?: User;\n\n members_lookup?: Record<string, ChannelMemberLookup>;\n\n truncated_by?: User;\n}\n\nexport interface ChannelConfig {\n automod: 'disabled' | 'simple' | 'AI';\n\n automod_behavior: 'flag' | 'block' | 'shadow_block';\n\n connect_events: boolean;\n\n count_messages: boolean;\n\n created_at: Date;\n\n custom_events: boolean;\n\n delivery_events: boolean;\n\n mark_messages_pending: boolean;\n\n max_message_length: number;\n\n mutes: boolean;\n\n name: string;\n\n polls: boolean;\n\n push_notifications: boolean;\n\n quotes: boolean;\n\n reactions: boolean;\n\n read_events: boolean;\n\n reminders: boolean;\n\n replies: boolean;\n\n search: boolean;\n\n shared_locations: boolean;\n\n skip_last_msg_update_for_system_msgs: boolean;\n\n typing_events: boolean;\n\n updated_at: Date;\n\n uploads: boolean;\n\n url_enrichment: boolean;\n\n user_message_reminders: boolean;\n\n commands: string[];\n\n blocklist?: string;\n\n blocklist_behavior?: 'flag' | 'block' | 'shadow_block';\n\n partition_size?: number;\n\n partition_ttl?: string;\n\n allowed_flag_reasons?: string[];\n\n blocklists?: BlockListOptions[];\n\n automod_thresholds?: Thresholds;\n}\n\nexport interface ChannelConfigWithInfo {\n automod: 'disabled' | 'simple' | 'AI';\n\n automod_behavior: 'flag' | 'block' | 'shadow_block';\n\n connect_events: boolean;\n\n count_messages: boolean;\n\n created_at: Date;\n\n custom_events: boolean;\n\n delivery_events: boolean;\n\n mark_messages_pending: boolean;\n\n max_message_length: number;\n\n mutes: boolean;\n\n name: string;\n\n polls: boolean;\n\n push_notifications: boolean;\n\n quotes: boolean;\n\n reactions: boolean;\n\n read_events: boolean;\n\n reminders: boolean;\n\n replies: boolean;\n\n search: boolean;\n\n shared_locations: boolean;\n\n skip_last_msg_update_for_system_msgs: boolean;\n\n typing_events: boolean;\n\n updated_at: Date;\n\n uploads: boolean;\n\n url_enrichment: boolean;\n\n user_message_reminders: boolean;\n\n commands: Command[];\n\n blocklist?: string;\n\n blocklist_behavior?: 'flag' | 'block' | 'shadow_block';\n\n partition_size?: number;\n\n partition_ttl?: string;\n\n allowed_flag_reasons?: string[];\n\n blocklists?: BlockListOptions[];\n\n automod_thresholds?: Thresholds;\n\n grants?: Record<string, string[]>;\n}\n\nexport interface ChannelCreatedEvent {\n created_at: Date;\n\n type: string;\n}\n\nexport interface ChannelDeletedEvent {\n channel_id: string;\n\n channel_member_count: number;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n type: string;\n\n team?: string;\n\n channel?: ChannelResponse;\n}\n\nexport interface ChannelExport {\n cid?: string;\n\n id?: string;\n\n messages_since?: Date;\n\n messages_until?: Date;\n\n type?: string;\n}\n\nexport interface ChannelFrozenEvent {\n channel_id: string;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n type: string;\n}\n\nexport interface ChannelGetOrCreateRequest {\n hide_for_creator?: boolean;\n\n state?: boolean;\n\n thread_unread_counts?: boolean;\n\n data?: ChannelInput;\n\n members?: PaginationParams;\n\n messages?: MessagePaginationParams;\n\n watchers?: PaginationParams;\n}\n\nexport interface ChannelHiddenEvent {\n channel_id: string;\n\n channel_member_count: number;\n\n channel_type: string;\n\n cid: string;\n\n clear_history: boolean;\n\n created_at: Date;\n\n type: string;\n\n channel?: ChannelResponse;\n\n user?: User;\n}\n\nexport interface ChannelInput {\n auto_translation_enabled?: boolean;\n\n auto_translation_language?: string;\n\n created_by_id?: string;\n\n disabled?: boolean;\n\n frozen?: boolean;\n\n team?: string;\n\n truncated_by_id?: string;\n\n filter_tags?: string[];\n\n invites?: ChannelMemberRequest[];\n\n members?: ChannelMemberRequest[];\n\n config_overrides?: ChannelConfig;\n\n created_by?: UserRequest;\n\n custom?: Record<string, any>;\n}\n\nexport interface ChannelInputRequest {\n auto_translation_enabled?: boolean;\n\n auto_translation_language?: string;\n\n disabled?: boolean;\n\n frozen?: boolean;\n\n team?: string;\n\n invites?: ChannelMember[];\n\n members?: ChannelMember[];\n\n config_overrides?: ConfigOverrides;\n\n created_by?: User;\n\n custom?: Record<string, any>;\n}\n\nexport interface ChannelMember {\n archived_at?: Date;\n\n ban_expires?: Date;\n\n banned?: boolean;\n\n blocked?: boolean;\n\n channel_role?: string;\n\n created_at?: Date;\n\n deleted_at?: Date;\n\n hidden?: boolean;\n\n invite_accepted_at?: Date;\n\n invite_rejected_at?: Date;\n\n invited?: boolean;\n\n is_global_banned?: boolean;\n\n is_moderator?: boolean;\n\n notifications_muted?: boolean;\n\n pinned_at?: Date;\n\n shadow_banned?: boolean;\n\n status?: string;\n\n updated_at?: Date;\n\n user_id?: string;\n\n deleted_messages?: string[];\n\n channel?: DenormalizedChannelFields;\n\n custom?: Record<string, any>;\n\n user?: User;\n}\n\nexport interface ChannelMemberLookup {\n archived: boolean;\n\n banned: boolean;\n\n blocked: boolean;\n\n hidden: boolean;\n\n pinned: boolean;\n\n archived_at?: Date;\n\n ban_expires?: Date;\n\n pinned_at?: Date;\n}\n\nexport interface ChannelMemberRequest {\n user_id: string;\n\n channel_role?: string;\n\n custom?: Record<string, any>;\n\n user?: UserResponse;\n}\n\nexport interface ChannelMemberResponse {\n banned: boolean;\n\n channel_role: string;\n\n created_at: Date;\n\n notifications_muted: boolean;\n\n shadow_banned: boolean;\n\n updated_at: Date;\n\n custom: Record<string, any>;\n\n archived_at?: Date;\n\n ban_expires?: Date;\n\n deleted_at?: Date;\n\n invite_accepted_at?: Date;\n\n invite_rejected_at?: Date;\n\n invited?: boolean;\n\n is_moderator?: boolean;\n\n pinned_at?: Date;\n\n role?: 'member' | 'moderator' | 'admin' | 'owner';\n\n status?: string;\n\n user_id?: string;\n\n deleted_messages?: string[];\n\n user?: UserResponse;\n}\n\nexport interface ChannelMessages {\n messages: Message[];\n\n channel?: ChannelResponse;\n}\n\nexport interface ChannelMute {\n created_at: Date;\n\n updated_at: Date;\n\n expires?: Date;\n\n channel?: ChannelResponse;\n\n user?: UserResponse;\n}\n\nexport interface ChannelMutedEvent {\n created_at: Date;\n\n type: string;\n}\n\nexport const ChannelOwnCapability = {\n BAN_CHANNEL_MEMBERS: 'ban-channel-members',\n CAST_POLL_VOTE: 'cast-poll-vote',\n CONNECT_EVENTS: 'connect-events',\n CREATE_ATTACHMENT: 'create-attachment',\n DELETE_ANY_MESSAGE: 'delete-any-message',\n DELETE_CHANNEL: 'delete-channel',\n DELETE_OWN_MESSAGE: 'delete-own-message',\n DELIVERY_EVENTS: 'delivery-events',\n FLAG_MESSAGE: 'flag-message',\n FREEZE_CHANNEL: 'freeze-channel',\n JOIN_CHANNEL: 'join-channel',\n LEAVE_CHANNEL: 'leave-channel',\n MUTE_CHANNEL: 'mute-channel',\n PIN_MESSAGE: 'pin-message',\n QUERY_POLL_VOTES: 'query-poll-votes',\n QUOTE_MESSAGE: 'quote-message',\n READ_EVENTS: 'read-events',\n SEARCH_MESSAGES: 'search-messages',\n SEND_CUSTOM_EVENTS: 'send-custom-events',\n SEND_LINKS: 'send-links',\n SEND_MESSAGE: 'send-message',\n SEND_POLL: 'send-poll',\n SEND_REACTION: 'send-reaction',\n SEND_REPLY: 'send-reply',\n SEND_RESTRICTED_VISIBILITY_MESSAGE: 'send-restricted-visibility-message',\n SEND_TYPING_EVENTS: 'send-typing-events',\n SET_CHANNEL_COOLDOWN: 'set-channel-cooldown',\n SHARE_LOCATION: 'share-location',\n SKIP_SLOW_MODE: 'skip-slow-mode',\n SLOW_MODE: 'slow-mode',\n TYPING_EVENTS: 'typing-events',\n UPDATE_ANY_MESSAGE: 'update-any-message',\n UPDATE_CHANNEL: 'update-channel',\n UPDATE_CHANNEL_MEMBERS: 'update-channel-members',\n UPDATE_OWN_MESSAGE: 'update-own-message',\n UPDATE_THREAD: 'update-thread',\n UPLOAD_FILE: 'upload-file',\n} as const;\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport type ChannelOwnCapability =\n (typeof ChannelOwnCapability)[keyof typeof ChannelOwnCapability];\n\nexport interface ChannelPushPreferences {\n chat_level?: string;\n\n disabled_until?: Date;\n}\n\nexport interface ChannelPushPreferencesResponse {\n chat_level?: string;\n\n disabled_until?: Date;\n}\n\nexport interface ChannelResponse {\n cid: string;\n\n created_at: Date;\n\n disabled: boolean;\n\n frozen: boolean;\n\n id: string;\n\n type: string;\n\n updated_at: Date;\n\n custom: Record<string, any>;\n\n auto_translation_enabled?: boolean;\n\n auto_translation_language?: string;\n\n blocked?: boolean;\n\n cooldown?: number;\n\n deleted_at?: Date;\n\n hidden?: boolean;\n\n hide_messages_before?: Date;\n\n last_message_at?: Date;\n\n member_count?: number;\n\n message_count?: number;\n\n mute_expires_at?: Date;\n\n muted?: boolean;\n\n team?: string;\n\n truncated_at?: Date;\n\n filter_tags?: string[];\n\n members?: ChannelMemberResponse[];\n\n own_capabilities?: ChannelOwnCapability[];\n\n config?: ChannelConfigWithInfo;\n\n created_by?: UserResponse;\n\n truncated_by?: UserResponse;\n}\n\nexport interface ChannelStateResponse {\n duration: string;\n\n members: ChannelMemberResponse[];\n\n messages: MessageResponse[];\n\n pinned_messages: MessageResponse[];\n\n threads: ThreadStateResponse[];\n\n hidden?: boolean;\n\n hide_messages_before?: Date;\n\n watcher_count?: number;\n\n active_live_locations?: SharedLocationResponseData[];\n\n pending_messages?: PendingMessageResponse[];\n\n read?: ReadStateResponse[];\n\n watchers?: UserResponse[];\n\n channel?: ChannelResponse;\n\n draft?: DraftResponse;\n\n membership?: ChannelMemberResponse;\n\n push_preferences?: ChannelPushPreferencesResponse;\n}\n\nexport interface ChannelStateResponseFields {\n members: ChannelMemberResponse[];\n\n messages: MessageResponse[];\n\n pinned_messages: MessageResponse[];\n\n threads: ThreadStateResponse[];\n\n hidden?: boolean;\n\n hide_messages_before?: Date;\n\n watcher_count?: number;\n\n active_live_locations?: SharedLocationResponseData[];\n\n pending_messages?: PendingMessageResponse[];\n\n read?: ReadStateResponse[];\n\n watchers?: UserResponse[];\n\n channel?: ChannelResponse;\n\n draft?: DraftResponse;\n\n membership?: ChannelMemberResponse;\n\n push_preferences?: ChannelPushPreferencesResponse;\n}\n\nexport interface ChannelTruncatedEvent {\n channel_id: string;\n\n channel_member_count: number;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n type: string;\n\n channel?: ChannelResponse;\n}\n\nexport interface ChannelTypeConfig {\n automod: 'disabled' | 'simple' | 'AI';\n\n automod_behavior: 'flag' | 'block' | 'shadow_block';\n\n connect_events: boolean;\n\n count_messages: boolean;\n\n created_at: Date;\n\n custom_events: boolean;\n\n delivery_events: boolean;\n\n mark_messages_pending: boolean;\n\n max_message_length: number;\n\n mutes: boolean;\n\n name: string;\n\n polls: boolean;\n\n push_notifications: boolean;\n\n quotes: boolean;\n\n reactions: boolean;\n\n read_events: boolean;\n\n reminders: boolean;\n\n replies: boolean;\n\n search: boolean;\n\n shared_locations: boolean;\n\n skip_last_msg_update_for_system_msgs: boolean;\n\n typing_events: boolean;\n\n updated_at: Date;\n\n uploads: boolean;\n\n url_enrichment: boolean;\n\n user_message_reminders: boolean;\n\n commands: Command[];\n\n permissions: PolicyRequest[];\n\n grants: Record<string, string[]>;\n\n blocklist?: string;\n\n blocklist_behavior?: 'flag' | 'block' | 'shadow_block';\n\n partition_size?: number;\n\n partition_ttl?: string;\n\n allowed_flag_reasons?: string[];\n\n blocklists?: BlockListOptions[];\n\n automod_thresholds?: Thresholds;\n}\n\nexport interface ChannelUnFrozenEvent {\n channel_id: string;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n type: string;\n}\n\nexport interface ChannelUnmutedEvent {\n created_at: Date;\n\n type: string;\n}\n\nexport interface ChannelUpdatedEvent {\n channel_id: string;\n\n channel_member_count: number;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n type: string;\n\n team?: string;\n\n channel?: ChannelResponse;\n\n message?: Message;\n\n user?: User;\n}\n\nexport interface ChannelVisibleEvent {\n channel_id: string;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n type: string;\n\n user?: User;\n}\n\nexport interface ChatActivityStatsResponse {\n messages?: MessageStatsResponse;\n}\n\nexport interface CheckExternalStorageResponse {\n duration: string;\n\n file_url: string;\n}\n\nexport interface CheckPushRequest {\n apn_template?: string;\n\n event_type?:\n | 'message.new'\n | 'message.updated'\n | 'reaction.new'\n | 'reaction.updated'\n | 'notification.reminder_due';\n\n firebase_data_template?: string;\n\n firebase_template?: string;\n\n message_id?: string;\n\n push_provider_name?: string;\n\n push_provider_type?: 'firebase' | 'apn' | 'huawei' | 'xiaomi';\n\n skip_devices?: boolean;\n\n user_id?: string;\n\n user?: UserRequest;\n}\n\nexport interface CheckPushResponse {\n duration: string;\n\n event_type?: string;\n\n rendered_apn_template?: string;\n\n rendered_firebase_template?: string;\n\n skip_devices?: boolean;\n\n general_errors?: string[];\n\n device_errors?: Record<string, DeviceErrorInfo>;\n\n rendered_message?: Record<string, string>;\n}\n\nexport interface CheckRequest {\n entity_creator_id: string;\n\n entity_id: string;\n\n entity_type: string;\n\n config_key?: string;\n\n config_team?: string;\n\n test_mode?: boolean;\n\n user_id?: string;\n\n config?: ModerationConfig;\n\n moderation_payload?: ModerationPayload;\n\n options?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface CheckResponse {\n duration: string;\n\n recommended_action: string;\n\n status: string;\n\n task_id?: string;\n\n item?: ReviewQueueItemResponse;\n}\n\nexport interface CheckSNSRequest {\n sns_key?: string;\n\n sns_secret?: string;\n\n sns_topic_arn?: string;\n}\n\nexport interface CheckSNSResponse {\n duration: string;\n\n status: 'ok' | 'error';\n\n error?: string;\n\n data?: Record<string, any>;\n}\n\nexport interface CheckSQSRequest {\n sqs_key?: string;\n\n sqs_secret?: string;\n\n sqs_url?: string;\n}\n\nexport interface CheckSQSResponse {\n duration: string;\n\n status: 'ok' | 'error';\n\n error?: string;\n\n data?: Record<string, any>;\n}\n\nexport interface ClientOSDataResponse {\n architecture?: string;\n\n name?: string;\n\n version?: string;\n}\n\nexport interface ClosedCaptionEvent {\n call_cid: string;\n\n created_at: Date;\n\n closed_caption: CallClosedCaption;\n\n type: string;\n}\n\nexport interface CollectUserFeedbackRequest {\n rating: number;\n\n sdk: string;\n\n sdk_version: string;\n\n reason?: string;\n\n user_session_id?: string;\n\n custom?: Record<string, any>;\n}\n\nexport interface CollectUserFeedbackResponse {\n duration: string;\n}\n\nexport interface CollectionRequest {\n name: string;\n\n custom: Record<string, any>;\n\n id?: string;\n\n user_id?: string;\n}\n\nexport interface CollectionResponse {\n id: string;\n\n name: string;\n\n created_at?: Date;\n\n updated_at?: Date;\n\n user_id?: string;\n\n custom?: Record<string, any>;\n}\n\nexport interface Command {\n args: string;\n\n description: string;\n\n name: string;\n\n set: string;\n\n created_at?: Date;\n\n updated_at?: Date;\n}\n\nexport interface CommentAddedEvent {\n created_at: Date;\n\n fid: string;\n\n activity: ActivityResponse;\n\n comment: CommentResponse;\n\n custom: Record<string, any>;\n\n type: string;\n\n feed_visibility?: string;\n\n received_at?: Date;\n\n user?: UserResponseCommonFields;\n}\n\nexport interface CommentDeletedEvent {\n created_at: Date;\n\n fid: string;\n\n comment: CommentResponse;\n\n custom: Record<string, any>;\n\n type: string;\n\n feed_visibility?: string;\n\n received_at?: Date;\n\n user?: UserResponseCommonFields;\n}\n\nexport interface CommentReactionAddedEvent {\n created_at: Date;\n\n fid: string;\n\n activity: ActivityResponse;\n\n comment: CommentResponse;\n\n custom: Record<string, any>;\n\n reaction: FeedsReactionResponse;\n\n type: string;\n\n feed_visibility?: string;\n\n received_at?: Date;\n\n user?: UserResponseCommonFields;\n}\n\nexport interface CommentReactionDeletedEvent {\n created_at: Date;\n\n fid: string;\n\n comment: CommentResponse;\n\n custom: Record<string, any>;\n\n reaction: FeedsReactionResponse;\n\n type: string;\n\n feed_visibility?: string;\n\n received_at?: Date;\n}\n\nexport interface CommentReactionUpdatedEvent {\n created_at: Date;\n\n fid: string;\n\n activity: ActivityResponse;\n\n comment: CommentResponse;\n\n custom: Record<string, any>;\n\n reaction: FeedsReactionResponse;\n\n type: string;\n\n feed_visibility?: string;\n\n received_at?: Date;\n\n user?: UserResponseCommonFields;\n}\n\nexport interface CommentResponse {\n confidence_score: number;\n\n created_at: Date;\n\n downvote_count: number;\n\n id: string;\n\n object_id: string;\n\n object_type: string;\n\n reaction_count: number;\n\n reply_count: number;\n\n score: number;\n\n status: string;\n\n updated_at: Date;\n\n upvote_count: number;\n\n mentioned_users: UserResponse[];\n\n own_reactions: FeedsReactionResponse[];\n\n user: UserResponse;\n\n controversy_score?: number;\n\n deleted_at?: Date;\n\n parent_id?: string;\n\n text?: string;\n\n attachments?: Attachment[];\n\n latest_reactions?: FeedsReactionResponse[];\n\n custom?: Record<string, any>;\n\n moderation?: ModerationV2Response;\n\n reaction_groups?: Record<string, ReactionGroupResponse>;\n}\n\nexport interface CommentUpdatedEvent {\n created_at: Date;\n\n fid: string;\n\n comment: CommentResponse;\n\n custom: Record<string, any>;\n\n type: string;\n\n feed_visibility?: string;\n\n received_at?: Date;\n\n user?: UserResponseCommonFields;\n}\n\nexport interface CommitMessageRequest {}\n\nexport interface ConfigOverrides {\n blocklist?: string;\n\n blocklist_behavior?: 'flag' | 'block';\n\n count_messages?: boolean;\n\n max_message_length?: number;\n\n quotes?: boolean;\n\n reactions?: boolean;\n\n replies?: boolean;\n\n shared_locations?: boolean;\n\n typing_events?: boolean;\n\n uploads?: boolean;\n\n url_enrichment?: boolean;\n\n user_message_reminders?: boolean;\n\n commands?: string[];\n\n grants?: Record<string, string[]>;\n}\n\nexport interface ConfigResponse {\n async: boolean;\n\n created_at: Date;\n\n key: string;\n\n team: string;\n\n updated_at: Date;\n\n supported_video_call_harm_types: string[];\n\n ai_image_config?: AIImageConfig;\n\n ai_text_config?: AITextConfig;\n\n ai_video_config?: AIVideoConfig;\n\n automod_platform_circumvention_config?: AutomodPlatformCircumventionConfig;\n\n automod_semantic_filters_config?: AutomodSemanticFiltersConfig;\n\n automod_toxicity_config?: AutomodToxicityConfig;\n\n block_list_config?: BlockListConfig;\n\n llm_config?: LLMConfig;\n\n velocity_filter_config?: VelocityFilterConfig;\n\n video_call_rule_config?: VideoCallRuleConfig;\n}\n\nexport interface ContentCountRuleParameters {\n threshold?: number;\n\n time_window?: string;\n}\n\nexport interface CountByMinuteResponse {\n count: number;\n\n start_ts: Date;\n}\n\nexport interface CreateBlockListRequest {\n name: string;\n\n words: string[];\n\n is_leet_check_enabled?: boolean;\n\n is_plural_check_enabled?: boolean;\n\n team?: string;\n\n type?:\n | 'regex'\n | 'domain'\n | 'domain_allowlist'\n | 'email'\n | 'email_allowlist'\n | 'word';\n}\n\nexport interface CreateBlockListResponse {\n duration: string;\n\n blocklist?: BlockListResponse;\n}\n\nexport interface CreateCallTypeRequest {\n name: string;\n\n external_storage?: string;\n\n grants?: Record<string, string[]>;\n\n notification_settings?: NotificationSettings;\n\n settings?: CallSettingsRequest;\n}\n\nexport interface CreateCallTypeResponse {\n created_at: Date;\n\n duration: string;\n\n name: string;\n\n updated_at: Date;\n\n grants: Record<string, string[]>;\n\n notification_settings: NotificationSettings;\n\n settings: CallSettingsResponse;\n\n external_storage?: string;\n}\n\nexport interface CreateChannelTypeRequest {\n automod: 'disabled' | 'simple' | 'AI';\n\n automod_behavior: 'flag' | 'block';\n\n max_message_length: number;\n\n name: string;\n\n blocklist?: string;\n\n blocklist_behavior?: 'flag' | 'block' | 'shadow_block';\n\n connect_events?: boolean;\n\n count_messages?: boolean;\n\n custom_events?: boolean;\n\n delivery_events?: boolean;\n\n mark_messages_pending?: boolean;\n\n message_retention?: 'infinite' | 'numeric';\n\n mutes?: boolean;\n\n partition_size?: number;\n\n partition_ttl?: string;\n\n polls?: boolean;\n\n push_notifications?: boolean;\n\n reactions?: boolean;\n\n read_events?: boolean;\n\n replies?: boolean;\n\n search?: boolean;\n\n shared_locations?: boolean;\n\n skip_last_msg_update_for_system_msgs?: boolean;\n\n typing_events?: boolean;\n\n uploads?: boolean;\n\n url_enrichment?: boolean;\n\n user_message_reminders?: boolean;\n\n blocklists?: BlockListOptions[];\n\n commands?: string[];\n\n permissions?: PolicyRequest[];\n\n grants?: Record<string, string[]>;\n}\n\nexport interface CreateChannelTypeResponse {\n automod: 'disabled' | 'simple' | 'AI';\n\n automod_behavior: 'flag' | 'block' | 'shadow_block';\n\n connect_events: boolean;\n\n count_messages: boolean;\n\n created_at: Date;\n\n custom_events: boolean;\n\n delivery_events: boolean;\n\n duration: string;\n\n mark_messages_pending: boolean;\n\n max_message_length: number;\n\n mutes: boolean;\n\n name: string;\n\n polls: boolean;\n\n push_notifications: boolean;\n\n quotes: boolean;\n\n reactions: boolean;\n\n read_events: boolean;\n\n reminders: boolean;\n\n replies: boolean;\n\n search: boolean;\n\n shared_locations: boolean;\n\n skip_last_msg_update_for_system_msgs: boolean;\n\n typing_events: boolean;\n\n updated_at: Date;\n\n uploads: boolean;\n\n url_enrichment: boolean;\n\n user_message_reminders: boolean;\n\n commands: string[];\n\n permissions: PolicyRequest[];\n\n grants: Record<string, string[]>;\n\n blocklist?: string;\n\n blocklist_behavior?: 'flag' | 'block' | 'shadow_block';\n\n partition_size?: number;\n\n partition_ttl?: string;\n\n allowed_flag_reasons?: string[];\n\n blocklists?: BlockListOptions[];\n\n automod_thresholds?: Thresholds;\n}\n\nexport interface CreateCollectionsRequest {\n collections: CollectionRequest[];\n\n user_id?: string;\n\n user?: UserRequest;\n}\n\nexport interface CreateCollectionsResponse {\n duration: string;\n\n collections: CollectionResponse[];\n}\n\nexport interface CreateCommandRequest {\n description: string;\n\n name: string;\n\n args?: string;\n\n set?: string;\n}\n\nexport interface CreateCommandResponse {\n duration: string;\n\n command?: Command;\n}\n\nexport interface CreateDeviceRequest {\n id: string;\n\n push_provider: 'firebase' | 'apn' | 'huawei' | 'xiaomi';\n\n push_provider_name?: string;\n\n user_id?: string;\n\n voip_token?: boolean;\n\n user?: UserRequest;\n}\n\nexport interface CreateExternalStorageRequest {\n bucket: string;\n\n name: string;\n\n storage_type: 's3' | 'gcs' | 'abs';\n\n gcs_credentials?: string;\n\n path?: string;\n\n aws_s3?: S3Request;\n\n azure_blob?: AzureRequest;\n}\n\nexport interface CreateExternalStorageResponse {\n duration: string;\n}\n\nexport interface CreateFeedGroupRequest {\n id: string;\n\n default_visibility?:\n | 'public'\n | 'visible'\n | 'followers'\n | 'members'\n | 'private';\n\n activity_processors?: ActivityProcessorConfig[];\n\n activity_selectors?: ActivitySelectorConfig[];\n\n aggregation?: AggregationConfig;\n\n custom?: Record<string, any>;\n\n notification?: NotificationConfig;\n\n push_notification?: PushNotificationConfig;\n\n ranking?: RankingConfig;\n\n stories?: StoriesConfig;\n}\n\nexport interface CreateFeedGroupResponse {\n duration: string;\n\n feed_group: FeedGroupResponse;\n}\n\nexport interface CreateFeedViewRequest {\n id: string;\n\n activity_selectors?: ActivitySelectorConfig[];\n\n aggregation?: AggregationConfig;\n\n ranking?: RankingConfig;\n}\n\nexport interface CreateFeedViewResponse {\n duration: string;\n\n feed_view: FeedViewResponse;\n}\n\nexport interface CreateFeedsBatchRequest {\n feeds: FeedRequest[];\n}\n\nexport interface CreateFeedsBatchResponse {\n duration: string;\n\n feeds: FeedResponse[];\n}\n\nexport interface CreateGuestRequest {\n user: UserRequest;\n}\n\nexport interface CreateGuestResponse {\n access_token: string;\n\n duration: string;\n\n user: UserResponse;\n}\n\nexport interface CreateImportRequest {\n mode: 'insert' | 'upsert';\n\n path: string;\n}\n\nexport interface CreateImportResponse {\n duration: string;\n\n import_task?: ImportTask;\n}\n\nexport interface CreateImportURLRequest {\n filename?: string;\n}\n\nexport interface CreateImportURLResponse {\n duration: string;\n\n path: string;\n\n upload_url: string;\n}\n\nexport interface CreateMembershipLevelRequest {\n id: string;\n\n name: string;\n\n description?: string;\n\n priority?: number;\n\n tags?: string[];\n\n custom?: Record<string, any>;\n}\n\nexport interface CreateMembershipLevelResponse {\n duration: string;\n\n membership_level: MembershipLevelResponse;\n}\n\nexport interface CreatePollOptionRequest {\n text: string;\n\n user_id?: string;\n\n custom?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface CreatePollRequest {\n name: string;\n\n allow_answers?: boolean;\n\n allow_user_suggested_options?: boolean;\n\n description?: string;\n\n enforce_unique_vote?: boolean;\n\n id?: string;\n\n is_closed?: boolean;\n\n max_votes_allowed?: number;\n\n user_id?: string;\n\n voting_visibility?: 'anonymous' | 'public';\n\n options?: PollOptionInput[];\n\n custom?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface CreateReminderRequest {\n remind_at?: Date;\n\n user_id?: string;\n\n user?: UserRequest;\n}\n\nexport interface CreateRoleRequest {\n name: string;\n}\n\nexport interface CreateRoleResponse {\n duration: string;\n\n role: Role;\n}\n\nexport interface CreateSIPTrunkRequest {\n name: string;\n\n numbers: string[];\n}\n\nexport interface CreateSIPTrunkResponse {\n duration: string;\n\n sip_trunk?: SIPTrunkResponse;\n}\n\nexport interface CustomActionRequest {\n id?: string;\n\n options?: Record<string, any>;\n}\n\nexport interface CustomCheckFlag {\n type: string;\n\n reason?: string;\n\n labels?: string[];\n\n custom?: Record<string, any>;\n}\n\nexport interface CustomCheckRequest {\n entity_id: string;\n\n entity_type: string;\n\n flags: CustomCheckFlag[];\n\n entity_creator_id?: string;\n\n user_id?: string;\n\n moderation_payload?: ModerationPayload;\n\n user?: UserRequest;\n}\n\nexport interface CustomCheckResponse {\n duration: string;\n\n id: string;\n\n status: string;\n\n item?: ReviewQueueItemResponse;\n}\n\nexport interface CustomVideoEvent {\n call_cid: string;\n\n created_at: Date;\n\n custom: Record<string, any>;\n\n user: UserResponse;\n\n type: string;\n}\n\nexport interface DailyAggregateCallDurationReportResponse {\n date: string;\n\n report: CallDurationReport;\n}\n\nexport interface DailyAggregateCallParticipantCountReportResponse {\n date: string;\n\n report: CallParticipantCountReport;\n}\n\nexport interface DailyAggregateCallsPerDayReportResponse {\n date: string;\n\n report: CallsPerDayReport;\n}\n\nexport interface DailyAggregateQualityScoreReportResponse {\n date: string;\n\n report: QualityScoreReport;\n}\n\nexport interface DailyAggregateSDKUsageReportResponse {\n date: string;\n\n report: SDKUsageReport;\n}\n\nexport interface DailyAggregateUserFeedbackReportResponse {\n date: string;\n\n report: UserFeedbackReport;\n}\n\nexport interface DailyMetricResponse {\n date: string;\n\n value: number;\n}\n\nexport interface DailyMetricStatsResponse {\n total: number;\n\n daily: DailyMetricResponse[];\n}\n\nexport interface Data {\n id: string;\n}\n\nexport interface DataDogInfo {\n api_key?: string;\n\n enabled?: boolean;\n\n site?: string;\n}\n\nexport interface DeactivateUserRequest {\n created_by_id?: string;\n\n mark_messages_deleted?: boolean;\n}\n\nexport interface DeactivateUserResponse {\n duration: string;\n\n user?: UserResponse;\n}\n\nexport interface DeactivateUsersRequest {\n user_ids: string[];\n\n created_by_id?: string;\n\n mark_channels_deleted?: boolean;\n\n mark_messages_deleted?: boolean;\n}\n\nexport interface DeactivateUsersResponse {\n duration: string;\n\n task_id: string;\n}\n\nexport interface DecayFunctionConfig {\n base?: string;\n\n decay?: string;\n\n direction?: string;\n\n offset?: string;\n\n origin?: string;\n\n scale?: string;\n}\n\nexport interface DeleteActivitiesRequest {\n ids: string[];\n\n hard_delete?: boolean;\n\n user_id?: string;\n\n user?: UserRequest;\n}\n\nexport interface DeleteActivitiesResponse {\n duration: string;\n\n deleted_ids: string[];\n}\n\nexport interface DeleteActivityReactionResponse {\n duration: string;\n\n activity: ActivityResponse;\n\n reaction: FeedsReactionResponse;\n}\n\nexport interface DeleteActivityRequest {\n hard_delete?: boolean;\n\n reason?: string;\n}\n\nexport interface DeleteActivityResponse {\n duration: string;\n}\n\nexport interface DeleteBookmarkFolderResponse {\n duration: string;\n}\n\nexport interface DeleteBookmarkResponse {\n duration: string;\n\n bookmark: BookmarkResponse;\n}\n\nexport interface DeleteCallRequest {\n hard?: boolean;\n}\n\nexport interface DeleteCallResponse {\n duration: string;\n\n call: CallResponse;\n\n task_id?: string;\n}\n\nexport interface DeleteChannelResponse {\n duration: string;\n\n channel?: ChannelResponse;\n}\n\nexport interface DeleteChannelsRequest {\n cids: string[];\n\n hard_delete?: boolean;\n}\n\nexport interface DeleteChannelsResponse {\n duration: string;\n\n task_id?: string;\n\n result?: Record<string, DeleteChannelsResultResponse>;\n}\n\nexport interface DeleteChannelsResultResponse {\n status: string;\n\n error?: string;\n}\n\nexport interface DeleteCollectionsResponse {\n duration: string;\n}\n\nexport interface DeleteCommandResponse {\n duration: string;\n\n name: string;\n}\n\nexport interface DeleteCommentReactionResponse {\n duration: string;\n\n comment: CommentResponse;\n\n reaction: FeedsReactionResponse;\n}\n\nexport interface DeleteCommentRequest {\n hard_delete?: boolean;\n\n reason?: string;\n}\n\nexport interface DeleteCommentResponse {\n duration: string;\n\n activity: ActivityResponse;\n\n comment: CommentResponse;\n}\n\nexport interface DeleteExternalStorageResponse {\n duration: string;\n}\n\nexport interface DeleteFeedGroupResponse {\n duration: string;\n}\n\nexport interface DeleteFeedResponse {\n duration: string;\n\n task_id: string;\n}\n\nexport interface DeleteFeedUserDataResponse {\n deleted_activities: number;\n\n deleted_bookmarks: number;\n\n deleted_comments: number;\n\n deleted_reactions: number;\n\n duration: string;\n}\n\nexport interface DeleteFeedViewResponse {\n duration: string;\n}\n\nexport interface DeleteMessageRequest {\n hard_delete?: boolean;\n\n reason?: string;\n}\n\nexport interface DeleteMessageResponse {\n duration: string;\n\n message: MessageResponse;\n}\n\nexport interface DeleteModerationConfigResponse {\n duration: string;\n}\n\nexport interface DeleteModerationRuleResponse {\n duration: string;\n}\n\nexport interface DeleteModerationTemplateResponse {\n duration: string;\n}\n\nexport interface DeleteReactionRequest {\n hard_delete?: boolean;\n\n reason?: string;\n}\n\nexport interface DeleteReactionResponse {\n duration: string;\n\n message: MessageResponse;\n\n reaction: ReactionResponse;\n}\n\nexport interface DeleteRecordingResponse {\n duration: string;\n}\n\nexport interface DeleteReminderResponse {\n duration: string;\n}\n\nexport interface DeleteSIPInboundRoutingRuleResponse {\n duration: string;\n}\n\nexport interface DeleteSIPTrunkResponse {\n duration: string;\n}\n\nexport interface DeleteSegmentTargetsRequest {\n target_ids: string[];\n}\n\nexport interface DeleteTranscriptionResponse {\n duration: string;\n}\n\nexport interface DeleteUserRequest {\n delete_conversation_channels?: boolean;\n\n delete_feeds_content?: boolean;\n\n hard_delete?: boolean;\n\n mark_messages_deleted?: boolean;\n\n reason?: string;\n}\n\nexport interface DeleteUsersRequest {\n user_ids: string[];\n\n calls?: 'soft' | 'hard';\n\n conversations?: 'soft' | 'hard';\n\n files?: boolean;\n\n messages?: 'soft' | 'pruning' | 'hard';\n\n new_call_owner_id?: string;\n\n new_channel_owner_id?: string;\n\n user?: 'soft' | 'pruning' | 'hard';\n}\n\nexport interface DeleteUsersResponse {\n duration: string;\n\n task_id: string;\n}\n\nexport interface DeliveredMessagePayload {\n cid?: string;\n\n id?: string;\n}\n\nexport interface DeliveryReceipts {\n enabled?: boolean;\n}\n\nexport interface DeliveryReceiptsResponse {\n enabled?: boolean;\n}\n\nexport interface DenormalizedChannelFields {\n created_at?: string;\n\n created_by_id?: string;\n\n disabled?: boolean;\n\n frozen?: boolean;\n\n id?: string;\n\n last_message_at?: string;\n\n member_count?: number;\n\n team?: string;\n\n type?: string;\n\n updated_at?: string;\n\n custom?: Record<string, any>;\n}\n\nexport interface Device {\n created_at: Date;\n\n id: string;\n\n push_provider: 'firebase' | 'apn' | 'huawei' | 'xiaomi';\n\n user_id: string;\n\n disabled?: boolean;\n\n disabled_reason?: string;\n\n push_provider_name?: string;\n\n voip?: boolean;\n}\n\nexport interface DeviceDataResponse {\n name?: string;\n\n version?: string;\n}\n\nexport interface DeviceErrorInfo {\n error_message: string;\n\n provider: string;\n\n provider_name: string;\n}\n\nexport interface DeviceResponse {\n created_at: Date;\n\n id: string;\n\n push_provider: string;\n\n user_id: string;\n\n disabled?: boolean;\n\n disabled_reason?: string;\n\n push_provider_name?: string;\n\n voip?: boolean;\n}\n\nexport interface DraftPayloadResponse {\n id: string;\n\n text: string;\n\n custom: Record<string, any>;\n\n html?: string;\n\n mml?: string;\n\n parent_id?: string;\n\n poll_id?: string;\n\n quoted_message_id?: string;\n\n show_in_channel?: boolean;\n\n silent?: boolean;\n\n type?: string;\n\n attachments?: Attachment[];\n\n mentioned_users?: UserResponse[];\n}\n\nexport interface DraftResponse {\n channel_cid: string;\n\n created_at: Date;\n\n message: DraftPayloadResponse;\n\n parent_id?: string;\n\n channel?: ChannelResponse;\n\n parent_message?: MessageResponse;\n\n quoted_message?: MessageResponse;\n}\n\nexport interface EdgeResponse {\n continent_code: string;\n\n country_iso_code: string;\n\n green: number;\n\n id: string;\n\n latency_test_url: string;\n\n latitude: number;\n\n longitude: number;\n\n red: number;\n\n subdivision_iso_code: string;\n\n yellow: number;\n}\n\nexport interface EgressHLSResponse {\n playlist_url: string;\n\n status: string;\n}\n\nexport interface EgressRTMPResponse {\n name: string;\n\n started_at: Date;\n\n stream_key?: string;\n\n stream_url?: string;\n}\n\nexport interface EgressResponse {\n broadcasting: boolean;\n\n rtmps: EgressRTMPResponse[];\n\n frame_recording?: FrameRecordingResponse;\n\n hls?: EgressHLSResponse;\n}\n\nexport interface EndCallRequest {}\n\nexport interface EndCallResponse {\n duration: string;\n}\n\nexport interface EnrichedActivity {\n foreign_id?: string;\n\n id?: string;\n\n score?: number;\n\n verb?: string;\n\n to?: string[];\n\n actor?: Data;\n\n latest_reactions?: Record<string, EnrichedReaction[]>;\n\n object?: Data;\n\n origin?: Data;\n\n own_reactions?: Record<string, EnrichedReaction[]>;\n\n reaction_counts?: Record<string, number>;\n\n target?: Data;\n}\n\nexport interface EnrichedCollectionResponse {\n id: string;\n\n name: string;\n\n status: 'ok' | 'notfound';\n\n created_at?: Date;\n\n updated_at?: Date;\n\n user_id?: string;\n\n custom?: Record<string, any>;\n}\n\nexport interface EnrichedReaction {\n activity_id: string;\n\n kind: string;\n\n user_id: string;\n\n id?: string;\n\n parent?: string;\n\n target_feeds?: string[];\n\n children_counts?: Record<string, number>;\n\n created_at?: Time;\n\n data?: Record<string, any>;\n\n latest_children?: Record<string, EnrichedReaction[]>;\n\n own_children?: Record<string, EnrichedReaction[]>;\n\n updated_at?: Time;\n\n user?: Data;\n}\n\nexport interface EntityCreatorResponse {\n ban_count: number;\n\n banned: boolean;\n\n created_at: Date;\n\n deleted_content_count: number;\n\n flagged_count: number;\n\n id: string;\n\n invisible: boolean;\n\n language: string;\n\n online: boolean;\n\n role: string;\n\n shadow_banned: boolean;\n\n updated_at: Date;\n\n blocked_user_ids: string[];\n\n teams: string[];\n\n custom: Record<string, any>;\n\n avg_response_time?: number;\n\n ban_expires?: Date;\n\n deactivated_at?: Date;\n\n deleted_at?: Date;\n\n image?: string;\n\n last_active?: Date;\n\n name?: string;\n\n revoke_tokens_issued_before?: Date;\n\n devices?: DeviceResponse[];\n\n privacy_settings?: PrivacySettingsResponse;\n\n push_notifications?: PushNotificationSettingsResponse;\n\n teams_role?: Record<string, string>;\n}\n\nexport interface ErrorResult {\n type: string;\n\n stacktrace?: string;\n\n version?: string;\n}\n\nexport interface EventHook {\n created_at?: Date;\n\n enabled?: boolean;\n\n hook_type?: string;\n\n id?: string;\n\n product?: string;\n\n sns_auth_type?: string;\n\n sns_key?: string;\n\n sns_region?: string;\n\n sns_role_arn?: string;\n\n sns_secret?: string;\n\n sns_topic_arn?: string;\n\n sqs_auth_type?: string;\n\n sqs_key?: string;\n\n sqs_queue_url?: string;\n\n sqs_region?: string;\n\n sqs_role_arn?: string;\n\n sqs_secret?: string;\n\n timeout_ms?: number;\n\n updated_at?: Date;\n\n webhook_url?: string;\n\n event_types?: string[];\n\n callback?: AsyncModerationCallbackConfig;\n}\n\nexport interface EventNotificationSettings {\n enabled: boolean;\n\n apns: APNS;\n\n fcm: FCM;\n}\n\nexport interface EventRequest {\n type: string;\n\n parent_id?: string;\n\n user_id?: string;\n\n custom?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface EventResponse {\n duration: string;\n\n event: WSEvent;\n}\n\nexport interface ExportChannelsRequest {\n channels: ChannelExport[];\n\n clear_deleted_message_text?: boolean;\n\n export_users?: boolean;\n\n include_soft_deleted_channels?: boolean;\n\n include_truncated_messages?: boolean;\n\n version?: string;\n}\n\nexport interface ExportChannelsResponse {\n duration: string;\n\n task_id: string;\n}\n\nexport interface ExportFeedUserDataRequest {}\n\nexport interface ExportFeedUserDataResponse {\n duration: string;\n\n task_id: string;\n}\n\nexport interface ExportUserResponse {\n duration: string;\n\n messages?: MessageResponse[];\n\n reactions?: ReactionResponse[];\n\n user?: UserResponse;\n}\n\nexport interface ExportUsersRequest {\n user_ids: string[];\n}\n\nexport interface ExportUsersResponse {\n duration: string;\n\n task_id: string;\n}\n\nexport interface ExternalStorageResponse {\n bucket: string;\n\n name: string;\n\n path: string;\n\n type: 's3' | 'gcs' | 'abs';\n}\n\nexport interface FCM {\n data?: Record<string, any>;\n}\n\nexport interface FeedCreatedEvent {\n created_at: Date;\n\n fid: string;\n\n members: FeedMemberResponse[];\n\n custom: Record<string, any>;\n\n feed: FeedResponse;\n\n user: UserResponseCommonFields;\n\n type: string;\n\n feed_visibility?: string;\n\n received_at?: Date;\n}\n\nexport interface FeedDeletedEvent {\n created_at: Date;\n\n fid: string;\n\n custom: Record<string, any>;\n\n type: string;\n\n feed_visibility?: string;\n\n received_at?: Date;\n\n user?: UserResponseCommonFields;\n}\n\nexport interface FeedGroup {\n aggregation_version: number;\n\n app_pk: number;\n\n created_at: Date;\n\n default_visibility: string;\n\n group_id: string;\n\n updated_at: Date;\n\n activity_processors: ActivityProcessorConfig[];\n\n activity_selectors: ActivitySelectorConfig[];\n\n custom: Record<string, any>;\n\n deleted_at?: Date;\n\n last_feed_get_at?: Date;\n\n aggregation?: AggregationConfig;\n\n notification?: NotificationConfig;\n\n push_notification?: PushNotificationConfig;\n\n ranking?: RankingConfig;\n\n stories?: StoriesConfig;\n}\n\nexport interface FeedGroupChangedEvent {\n created_at: Date;\n\n fid: string;\n\n custom: Record<string, any>;\n\n type: string;\n\n feed_visibility?: string;\n\n received_at?: Date;\n\n feed_group?: FeedGroup;\n\n user?: UserResponseCommonFields;\n}\n\nexport interface FeedGroupDeletedEvent {\n created_at: Date;\n\n fid: string;\n\n group_id: string;\n\n custom: Record<string, any>;\n\n type: string;\n\n feed_visibility?: string;\n\n received_at?: Date;\n}\n\nexport interface FeedGroupResponse {\n created_at: Date;\n\n id: string;\n\n updated_at: Date;\n\n default_visibility?: string;\n\n deleted_at?: Date;\n\n activity_processors?: ActivityProcessorConfig[];\n\n activity_selectors?: ActivitySelectorConfigResponse[];\n\n aggregation?: AggregationConfig;\n\n custom?: Record<string, any>;\n\n notification?: NotificationConfig;\n\n push_notification?: PushNotificationConfig;\n\n ranking?: RankingConfig;\n\n stories?: StoriesConfig;\n}\n\nexport interface FeedInput {\n description?: string;\n\n name?: string;\n\n visibility?: 'public' | 'visible' | 'followers' | 'members' | 'private';\n\n filter_tags?: string[];\n\n members?: FeedMemberRequest[];\n\n custom?: Record<string, any>;\n}\n\nexport interface FeedMemberAddedEvent {\n created_at: Date;\n\n fid: string;\n\n custom: Record<string, any>;\n\n member: FeedMemberResponse;\n\n type: string;\n\n feed_visibility?: string;\n\n received_at?: Date;\n\n user?: UserResponseCommonFields;\n}\n\nexport interface FeedMemberRemovedEvent {\n created_at: Date;\n\n fid: string;\n\n member_id: string;\n\n custom: Record<string, any>;\n\n type: string;\n\n feed_visibility?: string;\n\n received_at?: Date;\n\n user?: UserResponseCommonFields;\n}\n\nexport interface FeedMemberRequest {\n user_id: string;\n\n invite?: boolean;\n\n membership_level?: string;\n\n role?: string;\n\n custom?: Record<string, any>;\n}\n\nexport interface FeedMemberResponse {\n created_at: Date;\n\n role: string;\n\n status: 'member' | 'pending' | 'rejected';\n\n updated_at: Date;\n\n user: UserResponse;\n\n invite_accepted_at?: Date;\n\n invite_rejected_at?: Date;\n\n custom?: Record<string, any>;\n\n membership_level?: MembershipLevelResponse;\n}\n\nexport interface FeedMemberUpdatedEvent {\n created_at: Date;\n\n fid: string;\n\n custom: Record<string, any>;\n\n member: FeedMemberResponse;\n\n type: string;\n\n feed_visibility?: string;\n\n received_at?: Date;\n\n user?: UserResponseCommonFields;\n}\n\nexport const FeedOwnCapability = {\n ADD_ACTIVITY: 'add-activity',\n ADD_ACTIVITY_BOOKMARK: 'add-activity-bookmark',\n ADD_ACTIVITY_REACTION: 'add-activity-reaction',\n ADD_COMMENT: 'add-comment',\n ADD_COMMENT_REACTION: 'add-comment-reaction',\n CREATE_FEED: 'create-feed',\n DELETE_ANY_ACTIVITY: 'delete-any-activity',\n DELETE_ANY_COMMENT: 'delete-any-comment',\n DELETE_FEED: 'delete-feed',\n DELETE_OWN_ACTIVITY: 'delete-own-activity',\n DELETE_OWN_ACTIVITY_BOOKMARK: 'delete-own-activity-bookmark',\n DELETE_OWN_ACTIVITY_REACTION: 'delete-own-activity-reaction',\n DELETE_OWN_COMMENT: 'delete-own-comment',\n DELETE_OWN_COMMENT_REACTION: 'delete-own-comment-reaction',\n FOLLOW: 'follow',\n PIN_ACTIVITY: 'pin-activity',\n QUERY_FEED_MEMBERS: 'query-feed-members',\n QUERY_FOLLOWS: 'query-follows',\n READ_ACTIVITIES: 'read-activities',\n READ_FEED: 'read-feed',\n UNFOLLOW: 'unfollow',\n UPDATE_ANY_ACTIVITY: 'update-any-activity',\n UPDATE_ANY_COMMENT: 'update-any-comment',\n UPDATE_FEED: 'update-feed',\n UPDATE_FEED_FOLLOWERS: 'update-feed-followers',\n UPDATE_FEED_MEMBERS: 'update-feed-members',\n UPDATE_OWN_ACTIVITY: 'update-own-activity',\n UPDATE_OWN_ACTIVITY_BOOKMARK: 'update-own-activity-bookmark',\n UPDATE_OWN_COMMENT: 'update-own-comment',\n} as const;\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport type FeedOwnCapability =\n (typeof FeedOwnCapability)[keyof typeof FeedOwnCapability];\n\nexport interface FeedRequest {\n feed_group_id: string;\n\n feed_id: string;\n\n created_by_id?: string;\n\n description?: string;\n\n name?: string;\n\n visibility?: 'public' | 'visible' | 'followers' | 'members' | 'private';\n\n filter_tags?: string[];\n\n members?: FeedMemberRequest[];\n\n custom?: Record<string, any>;\n}\n\nexport interface FeedResponse {\n created_at: Date;\n\n description: string;\n\n feed: string;\n\n follower_count: number;\n\n following_count: number;\n\n group_id: string;\n\n id: string;\n\n member_count: number;\n\n name: string;\n\n pin_count: number;\n\n updated_at: Date;\n\n created_by: UserResponse;\n\n deleted_at?: Date;\n\n visibility?: string;\n\n filter_tags?: string[];\n\n own_capabilities?: FeedOwnCapability[];\n\n own_follows?: FollowResponse[];\n\n custom?: Record<string, any>;\n\n own_membership?: FeedMemberResponse;\n}\n\nexport interface FeedSuggestionResponse {\n created_at: Date;\n\n description: string;\n\n feed: string;\n\n follower_count: number;\n\n following_count: number;\n\n group_id: string;\n\n id: string;\n\n member_count: number;\n\n name: string;\n\n pin_count: number;\n\n updated_at: Date;\n\n created_by: UserResponse;\n\n deleted_at?: Date;\n\n reason?: string;\n\n recommendation_score?: number;\n\n visibility?: string;\n\n filter_tags?: string[];\n\n own_capabilities?: FeedOwnCapability[];\n\n own_follows?: FollowResponse[];\n\n algorithm_scores?: Record<string, number>;\n\n custom?: Record<string, any>;\n\n own_membership?: FeedMemberResponse;\n}\n\nexport interface FeedUpdatedEvent {\n created_at: Date;\n\n fid: string;\n\n custom: Record<string, any>;\n\n feed: FeedResponse;\n\n type: string;\n\n feed_visibility?: string;\n\n received_at?: Date;\n\n user?: UserResponseCommonFields;\n}\n\nexport interface FeedViewResponse {\n id: string;\n\n last_used_at?: Date;\n\n activity_selectors?: ActivitySelectorConfigResponse[];\n\n aggregation?: AggregationConfig;\n\n ranking?: RankingConfig;\n}\n\nexport interface FeedVisibilityResponse {\n name: string;\n\n permissions: Permission[];\n\n grants: Record<string, string[]>;\n}\n\nexport interface FeedsModerationTemplateConfig {\n config_key: string;\n\n data_types: Record<string, string>;\n}\n\nexport interface FeedsPreferences {\n comment?: 'all' | 'none';\n\n comment_reaction?: 'all' | 'none';\n\n follow?: 'all' | 'none';\n\n mention?: 'all' | 'none';\n\n reaction?: 'all' | 'none';\n\n custom_activity_types?: Record<string, string>;\n}\n\nexport interface FeedsPreferencesResponse {\n comment?: string;\n\n comment_reaction?: string;\n\n follow?: string;\n\n mention?: string;\n\n reaction?: string;\n\n custom_activity_types?: Record<string, string>;\n}\n\nexport interface FeedsReactionResponse {\n activity_id: string;\n\n created_at: Date;\n\n type: string;\n\n updated_at: Date;\n\n user: UserResponse;\n\n comment_id?: string;\n\n custom?: Record<string, any>;\n}\n\nexport interface Field {\n short: boolean;\n\n title: string;\n\n value: string;\n}\n\nexport interface FileUploadConfig {\n size_limit: number;\n\n allowed_file_extensions?: string[];\n\n allowed_mime_types?: string[];\n\n blocked_file_extensions?: string[];\n\n blocked_mime_types?: string[];\n}\n\nexport interface FileUploadRequest {\n file?: string;\n\n user?: OnlyUserID;\n}\n\nexport interface FileUploadResponse {\n duration: string;\n\n file?: string;\n\n thumb_url?: string;\n}\n\nexport interface FilterConfigResponse {\n llm_labels: string[];\n\n ai_text_labels?: string[];\n}\n\nexport interface FirebaseConfig {\n apn_template?: string;\n\n credentials_json?: string;\n\n data_template?: string;\n\n disabled?: boolean;\n\n notification_template?: string;\n\n server_key?: string;\n}\n\nexport interface FirebaseConfigFields {\n enabled: boolean;\n\n apn_template?: string;\n\n credentials_json?: string;\n\n data_template?: string;\n\n notification_template?: string;\n\n server_key?: string;\n}\n\nexport interface Flag {\n created_at: Date;\n\n created_by_automod: boolean;\n\n updated_at: Date;\n\n approved_at?: Date;\n\n reason?: string;\n\n rejected_at?: Date;\n\n reviewed_at?: Date;\n\n reviewed_by?: string;\n\n target_message_id?: string;\n\n custom?: Record<string, any>;\n\n details?: FlagDetails;\n\n target_message?: Message;\n\n target_user?: User;\n\n user?: User;\n}\n\nexport interface FlagDetails {\n original_text: string;\n\n extra: Record<string, any>;\n\n automod?: AutomodDetails;\n}\n\nexport interface FlagFeedback {\n created_at: Date;\n\n message_id: string;\n\n labels: Label[];\n}\n\nexport interface FlagMessageDetails {\n pin_changed?: boolean;\n\n should_enrich?: boolean;\n\n skip_push?: boolean;\n\n updated_by_id?: string;\n}\n\nexport interface FlagRequest {\n entity_id: string;\n\n entity_type: string;\n\n entity_creator_id?: string;\n\n reason?: string;\n\n user_id?: string;\n\n custom?: Record<string, any>;\n\n moderation_payload?: ModerationPayload;\n\n user?: UserRequest;\n}\n\nexport interface FlagResponse {\n duration: string;\n\n item_id: string;\n}\n\nexport interface FlagUpdatedEvent {\n created_at: Date;\n\n custom: Record<string, any>;\n\n type: string;\n\n received_at?: Date;\n\n created_by?: UserResponse;\n\n message?: MessageResponse;\n\n user?: UserResponse;\n}\n\nexport interface FlagUserOptions {\n reason?: string;\n}\n\nexport interface FollowBatchRequest {\n follows: FollowRequest[];\n}\n\nexport interface FollowBatchResponse {\n duration: string;\n\n follows: FollowResponse[];\n}\n\nexport interface FollowCreatedEvent {\n created_at: Date;\n\n fid: string;\n\n custom: Record<string, any>;\n\n follow: FollowResponse;\n\n type: string;\n\n feed_visibility?: string;\n\n received_at?: Date;\n}\n\nexport interface FollowDeletedEvent {\n created_at: Date;\n\n fid: string;\n\n custom: Record<string, any>;\n\n follow: FollowResponse;\n\n type: string;\n\n feed_visibility?: string;\n\n received_at?: Date;\n}\n\nexport interface FollowPair {\n source: string;\n\n target: string;\n}\n\nexport interface FollowRequest {\n source: string;\n\n target: string;\n\n create_notification_activity?: boolean;\n\n push_preference?: 'all' | 'none';\n\n skip_push?: boolean;\n\n custom?: Record<string, any>;\n}\n\nexport interface FollowResponse {\n created_at: Date;\n\n follower_role: string;\n\n push_preference: 'all' | 'none';\n\n status: 'accepted' | 'pending' | 'rejected';\n\n updated_at: Date;\n\n source_feed: FeedResponse;\n\n target_feed: FeedResponse;\n\n request_accepted_at?: Date;\n\n request_rejected_at?: Date;\n\n custom?: Record<string, any>;\n}\n\nexport interface FollowUpdatedEvent {\n created_at: Date;\n\n fid: string;\n\n custom: Record<string, any>;\n\n follow: FollowResponse;\n\n type: string;\n\n feed_visibility?: string;\n\n received_at?: Date;\n}\n\nexport interface FrameRecordSettings {\n capture_interval_in_seconds: number;\n\n mode: 'available' | 'disabled' | 'auto-on';\n\n quality?: string;\n}\n\nexport interface FrameRecordingResponse {\n status: string;\n}\n\nexport interface FrameRecordingSettingsRequest {\n capture_interval_in_seconds: number;\n\n mode: 'available' | 'disabled' | 'auto-on';\n\n quality?: '360p' | '480p' | '720p' | '1080p' | '1440p';\n}\n\nexport interface FrameRecordingSettingsResponse {\n capture_interval_in_seconds: number;\n\n mode: 'available' | 'disabled' | 'auto-on';\n\n quality?: string;\n}\n\nexport interface FullUserResponse {\n banned: boolean;\n\n created_at: Date;\n\n id: string;\n\n invisible: boolean;\n\n language: string;\n\n online: boolean;\n\n role: string;\n\n shadow_banned: boolean;\n\n total_unread_count: number;\n\n unread_channels: number;\n\n unread_count: number;\n\n unread_threads: number;\n\n updated_at: Date;\n\n blocked_user_ids: string[];\n\n channel_mutes: ChannelMute[];\n\n devices: DeviceResponse[];\n\n mutes: UserMuteResponse[];\n\n teams: string[];\n\n custom: Record<string, any>;\n\n avg_response_time?: number;\n\n ban_expires?: Date;\n\n deactivated_at?: Date;\n\n deleted_at?: Date;\n\n image?: string;\n\n last_active?: Date;\n\n name?: string;\n\n revoke_tokens_issued_before?: Date;\n\n latest_hidden_channels?: string[];\n\n privacy_settings?: PrivacySettingsResponse;\n\n teams_role?: Record<string, string>;\n}\n\nexport interface GeofenceResponse {\n name: string;\n\n description?: string;\n\n type?: string;\n\n country_codes?: string[];\n}\n\nexport interface GeofenceSettings {\n names: string[];\n}\n\nexport interface GeofenceSettingsRequest {\n names?: string[];\n}\n\nexport interface GeofenceSettingsResponse {\n names: string[];\n}\n\nexport interface GetActiveCallsStatusResponse {\n duration: string;\n\n end_time: Date;\n\n start_time: Date;\n\n metrics?: ActiveCallsMetrics;\n\n summary?: ActiveCallsSummary;\n}\n\nexport interface GetActivityResponse {\n duration: string;\n\n activity: ActivityResponse;\n}\n\nexport interface GetApplicationResponse {\n duration: string;\n\n app: AppResponseFields;\n}\n\nexport interface GetBlockListResponse {\n duration: string;\n\n blocklist?: BlockListResponse;\n}\n\nexport interface GetBlockedUsersResponse {\n duration: string;\n\n blocks: BlockedUserResponse[];\n}\n\nexport interface GetCallReportResponse {\n duration: string;\n\n session_id: string;\n\n report: ReportResponse;\n\n video_reactions?: VideoReactionsResponse[];\n\n chat_activity?: ChatActivityStatsResponse;\n\n session?: CallSessionResponse;\n}\n\nexport interface GetCallResponse {\n duration: string;\n\n members: MemberResponse[];\n\n own_capabilities: OwnCapability[];\n\n call: CallResponse;\n}\n\nexport interface GetCallSessionParticipantStatsDetailsResponse {\n call_id: string;\n\n call_session_id: string;\n\n call_type: string;\n\n duration: string;\n\n user_id: string;\n\n user_session_id: string;\n\n publisher?: ParticipantSeriesPublisherStats;\n\n subscriber?: ParticipantSeriesSubscriberStats;\n\n timeframe?: ParticipantSeriesTimeframe;\n\n user?: ParticipantSeriesUserStats;\n}\n\nexport interface GetCallTypeResponse {\n created_at: Date;\n\n duration: string;\n\n name: string;\n\n updated_at: Date;\n\n grants: Record<string, string[]>;\n\n notification_settings: NotificationSettings;\n\n settings: CallSettingsResponse;\n\n external_storage?: string;\n}\n\nexport interface GetCampaignResponse {\n duration: string;\n\n campaign?: CampaignResponse;\n\n users?: PagerResponse;\n}\n\nexport interface GetChannelTypeResponse {\n automod: 'disabled' | 'simple' | 'AI';\n\n automod_behavior: 'flag' | 'block' | 'shadow_block';\n\n connect_events: boolean;\n\n count_messages: boolean;\n\n created_at: Date;\n\n custom_events: boolean;\n\n delivery_events: boolean;\n\n duration: string;\n\n mark_messages_pending: boolean;\n\n max_message_length: number;\n\n mutes: boolean;\n\n name: string;\n\n polls: boolean;\n\n push_notifications: boolean;\n\n quotes: boolean;\n\n reactions: boolean;\n\n read_events: boolean;\n\n reminders: boolean;\n\n replies: boolean;\n\n search: boolean;\n\n shared_locations: boolean;\n\n skip_last_msg_update_for_system_msgs: boolean;\n\n typing_events: boolean;\n\n updated_at: Date;\n\n uploads: boolean;\n\n url_enrichment: boolean;\n\n user_message_reminders: boolean;\n\n commands: Command[];\n\n permissions: PolicyRequest[];\n\n grants: Record<string, string[]>;\n\n blocklist?: string;\n\n blocklist_behavior?: 'flag' | 'block' | 'shadow_block';\n\n partition_size?: number;\n\n partition_ttl?: string;\n\n allowed_flag_reasons?: string[];\n\n blocklists?: BlockListOptions[];\n\n automod_thresholds?: Thresholds;\n}\n\nexport interface GetCommandResponse {\n args: string;\n\n description: string;\n\n duration: string;\n\n name: string;\n\n set: string;\n\n created_at?: Date;\n\n updated_at?: Date;\n}\n\nexport interface GetCommentRepliesResponse {\n duration: string;\n\n comments: ThreadedCommentResponse[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface GetCommentResponse {\n duration: string;\n\n comment: CommentResponse;\n}\n\nexport interface GetCommentsResponse {\n duration: string;\n\n comments: ThreadedCommentResponse[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface GetConfigResponse {\n duration: string;\n\n config?: ConfigResponse;\n}\n\nexport interface GetCustomPermissionResponse {\n duration: string;\n\n permission: Permission;\n}\n\nexport interface GetDraftResponse {\n duration: string;\n\n draft: DraftResponse;\n}\n\nexport interface GetEdgesResponse {\n duration: string;\n\n edges: EdgeResponse[];\n}\n\nexport interface GetFeedGroupResponse {\n duration: string;\n\n feed_group: FeedGroupResponse;\n}\n\nexport interface GetFeedViewResponse {\n duration: string;\n\n feed_view: FeedViewResponse;\n}\n\nexport interface GetFeedVisibilityResponse {\n duration: string;\n\n feed_visibility: FeedVisibilityResponse;\n}\n\nexport interface GetFeedsRateLimitsResponse {\n duration: string;\n\n android?: Record<string, LimitInfo>;\n\n ios?: Record<string, LimitInfo>;\n\n server_side?: Record<string, LimitInfo>;\n\n web?: Record<string, LimitInfo>;\n}\n\nexport interface GetFollowSuggestionsResponse {\n duration: string;\n\n suggestions: FeedSuggestionResponse[];\n\n algorithm_used?: string;\n}\n\nexport interface GetImportResponse {\n duration: string;\n\n import_task?: ImportTask;\n}\n\nexport interface GetManyMessagesResponse {\n duration: string;\n\n messages: MessageResponse[];\n}\n\nexport interface GetMessageResponse {\n duration: string;\n\n message: MessageWithChannelResponse;\n\n pending_message_metadata?: Record<string, string>;\n}\n\nexport interface GetModerationRuleResponse {\n duration: string;\n\n rule?: ModerationRuleV2Response;\n}\n\nexport interface GetOGResponse {\n duration: string;\n\n custom: Record<string, any>;\n\n asset_url?: string;\n\n author_icon?: string;\n\n author_link?: string;\n\n author_name?: string;\n\n color?: string;\n\n fallback?: string;\n\n footer?: string;\n\n footer_icon?: string;\n\n image_url?: string;\n\n og_scrape_url?: string;\n\n original_height?: number;\n\n original_width?: number;\n\n pretext?: string;\n\n text?: string;\n\n thumb_url?: string;\n\n title?: string;\n\n title_link?: string;\n\n type?: string;\n\n actions?: Action[];\n\n fields?: Field[];\n\n giphy?: Images;\n}\n\nexport interface GetOrCreateCallRequest {\n members_limit?: number;\n\n notify?: boolean;\n\n ring?: boolean;\n\n video?: boolean;\n\n data?: CallRequest;\n}\n\nexport interface GetOrCreateCallResponse {\n created: boolean;\n\n duration: string;\n\n members: MemberResponse[];\n\n own_capabilities: OwnCapability[];\n\n call: CallResponse;\n}\n\nexport interface GetOrCreateFeedGroupRequest {\n default_visibility?:\n | 'public'\n | 'visible'\n | 'followers'\n | 'members'\n | 'private';\n\n activity_processors?: ActivityProcessorConfig[];\n\n activity_selectors?: ActivitySelectorConfig[];\n\n aggregation?: AggregationConfig;\n\n custom?: Record<string, any>;\n\n notification?: NotificationConfig;\n\n push_notification?: PushNotificationConfig;\n\n ranking?: RankingConfig;\n\n stories?: StoriesConfig;\n}\n\nexport interface GetOrCreateFeedGroupResponse {\n duration: string;\n\n was_created: boolean;\n\n feed_group: FeedGroupResponse;\n}\n\nexport interface GetOrCreateFeedRequest {\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n user_id?: string;\n\n view?: string;\n\n watch?: boolean;\n\n data?: FeedInput;\n\n external_ranking?: Record<string, any>;\n\n filter?: Record<string, any>;\n\n followers_pagination?: PagerRequest;\n\n following_pagination?: PagerRequest;\n\n interest_weights?: Record<string, number>;\n\n member_pagination?: PagerRequest;\n\n user?: UserRequest;\n}\n\nexport interface GetOrCreateFeedResponse {\n created: boolean;\n\n duration: string;\n\n activities: ActivityResponse[];\n\n aggregated_activities: AggregatedActivityResponse[];\n\n followers: FollowResponse[];\n\n following: FollowResponse[];\n\n members: FeedMemberResponse[];\n\n pinned_activities: ActivityPinResponse[];\n\n feed: FeedResponse;\n\n next?: string;\n\n prev?: string;\n\n followers_pagination?: PagerResponse;\n\n following_pagination?: PagerResponse;\n\n member_pagination?: PagerResponse;\n\n notification_status?: NotificationStatusResponse;\n}\n\nexport interface GetOrCreateFeedViewRequest {\n activity_selectors?: ActivitySelectorConfig[];\n\n aggregation?: AggregationConfig;\n\n ranking?: RankingConfig;\n}\n\nexport interface GetOrCreateFeedViewResponse {\n duration: string;\n\n was_created: boolean;\n\n feed_view: FeedViewResponse;\n}\n\nexport interface GetPushTemplatesResponse {\n duration: string;\n\n templates: PushTemplate[];\n}\n\nexport interface GetRateLimitsResponse {\n duration: string;\n\n android?: Record<string, LimitInfo>;\n\n ios?: Record<string, LimitInfo>;\n\n server_side?: Record<string, LimitInfo>;\n\n web?: Record<string, LimitInfo>;\n}\n\nexport interface GetReactionsResponse {\n duration: string;\n\n reactions: ReactionResponse[];\n}\n\nexport interface GetRepliesResponse {\n duration: string;\n\n messages: MessageResponse[];\n}\n\nexport interface GetReviewQueueItemResponse {\n duration: string;\n\n item?: ReviewQueueItemResponse;\n}\n\nexport interface GetSegmentResponse {\n duration: string;\n\n segment?: SegmentResponse;\n}\n\nexport interface GetTaskResponse {\n created_at: Date;\n\n duration: string;\n\n status: string;\n\n task_id: string;\n\n updated_at: Date;\n\n error?: ErrorResult;\n\n result?: Record<string, any>;\n}\n\nexport interface GetThreadResponse {\n duration: string;\n\n thread: ThreadStateResponse;\n}\n\nexport interface GoLiveRequest {\n recording_storage_name?: string;\n\n start_closed_caption?: boolean;\n\n start_hls?: boolean;\n\n start_recording?: boolean;\n\n start_transcription?: boolean;\n\n transcription_storage_name?: string;\n}\n\nexport interface GoLiveResponse {\n duration: string;\n\n call: CallResponse;\n}\n\nexport interface GoogleVisionConfig {\n enabled?: boolean;\n}\n\nexport interface GroupedStatsResponse {\n name: string;\n\n unique: number;\n}\n\nexport interface HLSSettings {\n auto_on: boolean;\n\n enabled: boolean;\n\n quality_tracks: string[];\n\n layout?: LayoutSettings;\n}\n\nexport interface HLSSettingsRequest {\n quality_tracks: string[];\n\n auto_on?: boolean;\n\n enabled?: boolean;\n\n layout?: LayoutSettingsRequest;\n}\n\nexport interface HLSSettingsResponse {\n auto_on: boolean;\n\n enabled: boolean;\n\n quality_tracks: string[];\n\n layout: LayoutSettingsResponse;\n}\n\nexport interface HarmConfig {\n cooldown_period?: number;\n\n severity?: number;\n\n threshold?: number;\n\n action_sequences?: ActionSequence[];\n\n harm_types?: string[];\n}\n\nexport interface HideChannelRequest {\n clear_history?: boolean;\n\n user_id?: string;\n\n user?: UserRequest;\n}\n\nexport interface HideChannelResponse {\n duration: string;\n}\n\nexport interface HuaweiConfig {\n disabled?: boolean;\n\n id?: string;\n\n secret?: string;\n}\n\nexport interface HuaweiConfigFields {\n enabled: boolean;\n\n id?: string;\n\n secret?: string;\n}\n\nexport interface ImageContentParameters {\n harm_labels?: string[];\n}\n\nexport interface ImageData {\n frames: string;\n\n height: string;\n\n size: string;\n\n url: string;\n\n width: string;\n}\n\nexport interface ImageRuleParameters {\n threshold?: number;\n\n time_window?: string;\n\n harm_labels?: string[];\n}\n\nexport interface ImageSize {\n crop?: 'top' | 'bottom' | 'left' | 'right' | 'center';\n\n height?: number;\n\n resize?: 'clip' | 'crop' | 'scale' | 'fill';\n\n width?: number;\n}\n\nexport interface ImageUploadRequest {\n file?: string;\n\n upload_sizes?: ImageSize[];\n\n user?: OnlyUserID;\n}\n\nexport interface ImageUploadResponse {\n duration: string;\n\n file?: string;\n\n thumb_url?: string;\n\n upload_sizes?: ImageSize[];\n}\n\nexport interface Images {\n fixed_height: ImageData;\n\n fixed_height_downsampled: ImageData;\n\n fixed_height_still: ImageData;\n\n fixed_width: ImageData;\n\n fixed_width_downsampled: ImageData;\n\n fixed_width_still: ImageData;\n\n original: ImageData;\n}\n\nexport interface ImportTask {\n created_at: Date;\n\n id: string;\n\n mode: string;\n\n path: string;\n\n state: string;\n\n updated_at: Date;\n\n history: ImportTaskHistory[];\n\n size?: number;\n}\n\nexport interface ImportTaskHistory {\n created_at: Date;\n\n next_state: string;\n\n prev_state: string;\n}\n\nexport interface IngressAudioEncodingOptions {\n bitrate: number;\n\n channels: '1' | '2';\n\n enable_dtx: boolean;\n}\n\nexport interface IngressAudioEncodingOptionsRequest {\n bitrate: number;\n\n channels: '1' | '2';\n\n enable_dtx?: boolean;\n}\n\nexport interface IngressAudioEncodingResponse {\n bitrate: number;\n\n channels: number;\n\n enable_dtx: boolean;\n}\n\nexport interface IngressSettings {\n enabled: boolean;\n\n audio_encoding_options?: IngressAudioEncodingOptions;\n\n video_encoding_options?: Record<string, IngressVideoEncodingOptions>;\n}\n\nexport interface IngressSettingsRequest {\n enabled?: boolean;\n\n audio_encoding_options?: IngressAudioEncodingOptionsRequest;\n\n video_encoding_options?: Record<string, IngressVideoEncodingOptionsRequest>;\n}\n\nexport interface IngressSettingsResponse {\n enabled: boolean;\n\n audio_encoding_options?: IngressAudioEncodingResponse;\n\n video_encoding_options?: Record<string, IngressVideoEncodingResponse>;\n}\n\nexport interface IngressSource {\n fps: number;\n\n height: number;\n\n width: number;\n}\n\nexport interface IngressSourceRequest {\n fps: '30' | '60';\n\n height: number;\n\n width: number;\n}\n\nexport interface IngressSourceResponse {\n fps: number;\n\n height: number;\n\n width: number;\n}\n\nexport interface IngressVideoEncodingOptions {\n layers: IngressVideoLayer[];\n\n source?: IngressSource;\n}\n\nexport interface IngressVideoEncodingOptionsRequest {\n layers: IngressVideoLayerRequest[];\n\n source: IngressSourceRequest;\n}\n\nexport interface IngressVideoEncodingResponse {\n layers: IngressVideoLayerResponse[];\n\n source: IngressSourceResponse;\n}\n\nexport interface IngressVideoLayer {\n bitrate: number;\n\n codec: 'h264' | 'vp8';\n\n frame_rate: number;\n\n max_dimension: number;\n\n min_dimension: number;\n}\n\nexport interface IngressVideoLayerRequest {\n bitrate: number;\n\n codec: 'h264' | 'vp8';\n\n frame_rate_limit: number;\n\n max_dimension: number;\n\n min_dimension: number;\n}\n\nexport interface IngressVideoLayerResponse {\n bitrate: number;\n\n codec: string;\n\n frame_rate_limit: number;\n\n max_dimension: number;\n\n min_dimension: number;\n}\n\nexport interface JoinCallAPIMetrics {\n failures: number;\n\n total: number;\n\n latency?: ActiveCallsLatencyStats;\n}\n\nexport interface KickUserRequest {\n user_id: string;\n\n block?: boolean;\n\n kicked_by_id?: string;\n\n kicked_by?: UserRequest;\n}\n\nexport interface KickUserResponse {\n duration: string;\n}\n\nexport interface KickedUserEvent {\n call_cid: string;\n\n created_at: Date;\n\n user: UserResponse;\n\n type: string;\n\n kicked_by_user?: UserResponse;\n}\n\nexport interface LLMConfig {\n app_context?: string;\n\n async?: boolean;\n\n enabled?: boolean;\n\n rules?: LLMRule[];\n\n severity_descriptions?: Record<string, string>;\n}\n\nexport interface LLMRule {\n description: string;\n\n label: string;\n\n action?:\n | 'flag'\n | 'shadow'\n | 'remove'\n | 'bounce'\n | 'bounce_flag'\n | 'bounce_remove'\n | 'keep';\n\n severity_rules?: BodyguardSeverityRule[];\n}\n\nexport interface Label {\n name: string;\n\n harm_labels?: string[];\n\n phrase_list_ids?: number[];\n}\n\nexport interface LabelThresholds {\n block?: number;\n\n flag?: number;\n}\n\nexport interface LayoutSettings {\n external_app_url: string;\n\n external_css_url: string;\n\n name: 'spotlight' | 'grid' | 'single-participant' | 'mobile' | 'custom';\n\n detect_orientation?: boolean;\n\n options?: Record<string, any>;\n}\n\nexport interface LayoutSettingsRequest {\n name: 'spotlight' | 'grid' | 'single-participant' | 'mobile' | 'custom';\n\n detect_orientation?: boolean;\n\n external_app_url?: string;\n\n external_css_url?: string;\n\n options?: Record<string, any>;\n}\n\nexport interface LayoutSettingsResponse {\n external_app_url: string;\n\n external_css_url: string;\n\n name: 'spotlight' | 'grid' | 'single-participant' | 'mobile' | 'custom';\n\n detect_orientation?: boolean;\n\n options?: Record<string, any>;\n}\n\nexport interface LimitInfo {\n limit: number;\n\n remaining: number;\n\n reset: number;\n}\n\nexport interface LimitsSettings {\n max_participants_exclude_roles: string[];\n\n max_duration_seconds?: number;\n\n max_participants?: number;\n\n max_participants_exclude_owner?: boolean;\n}\n\nexport interface LimitsSettingsRequest {\n max_duration_seconds?: number;\n\n max_participants?: number;\n\n max_participants_exclude_owner?: boolean;\n\n max_participants_exclude_roles?: string[];\n}\n\nexport interface LimitsSettingsResponse {\n max_participants_exclude_roles: string[];\n\n max_duration_seconds?: number;\n\n max_participants?: number;\n\n max_participants_exclude_owner?: boolean;\n}\n\nexport interface ListBlockListResponse {\n duration: string;\n\n blocklists: BlockListResponse[];\n}\n\nexport interface ListCallTypeResponse {\n duration: string;\n\n call_types: Record<string, CallTypeResponse>;\n}\n\nexport interface ListChannelTypesResponse {\n duration: string;\n\n channel_types: Record<string, ChannelTypeConfig>;\n}\n\nexport interface ListCommandsResponse {\n duration: string;\n\n commands: Command[];\n}\n\nexport interface ListDevicesResponse {\n duration: string;\n\n devices: DeviceResponse[];\n}\n\nexport interface ListExternalStorageResponse {\n duration: string;\n\n external_storages: Record<string, ExternalStorageResponse>;\n}\n\nexport interface ListFeedGroupsResponse {\n duration: string;\n\n groups: Record<string, FeedGroupResponse>;\n}\n\nexport interface ListFeedViewsResponse {\n duration: string;\n\n views: Record<string, FeedViewResponse>;\n}\n\nexport interface ListFeedVisibilitiesResponse {\n duration: string;\n\n feed_visibilities: Record<string, FeedVisibilityResponse>;\n}\n\nexport interface ListImportsResponse {\n duration: string;\n\n import_tasks: ImportTask[];\n}\n\nexport interface ListPermissionsResponse {\n duration: string;\n\n permissions: Permission[];\n}\n\nexport interface ListPushProvidersResponse {\n duration: string;\n\n push_providers: PushProviderResponse[];\n}\n\nexport interface ListRecordingsResponse {\n duration: string;\n\n recordings: CallRecording[];\n}\n\nexport interface ListRolesResponse {\n duration: string;\n\n roles: Role[];\n}\n\nexport interface ListSIPInboundRoutingRuleResponse {\n duration: string;\n\n sip_inbound_routing_rules: SIPInboundRoutingRuleResponse[];\n}\n\nexport interface ListSIPTrunksResponse {\n duration: string;\n\n sip_trunks: SIPTrunkResponse[];\n}\n\nexport interface ListTranscriptionsResponse {\n duration: string;\n\n transcriptions: CallTranscription[];\n}\n\nexport interface MarkActivityRequest {\n mark_all_read?: boolean;\n\n mark_all_seen?: boolean;\n\n user_id?: string;\n\n mark_read?: string[];\n\n mark_seen?: string[];\n\n mark_watched?: string[];\n\n user?: UserRequest;\n}\n\nexport interface MarkChannelsReadRequest {\n user_id?: string;\n\n read_by_channel?: Record<string, string>;\n\n user?: UserRequest;\n}\n\nexport interface MarkDeliveredRequest {\n latest_delivered_messages?: DeliveredMessagePayload[];\n}\n\nexport interface MarkDeliveredResponse {\n duration: string;\n}\n\nexport interface MarkReadRequest {\n message_id?: string;\n\n thread_id?: string;\n\n user_id?: string;\n\n user?: UserRequest;\n}\n\nexport interface MarkReadResponse {\n duration: string;\n\n event?: MessageReadEvent;\n}\n\nexport interface MarkReviewedRequest {\n content_to_mark_as_reviewed_limit?: number;\n\n disable_marking_content_as_reviewed?: boolean;\n}\n\nexport interface MarkUnreadRequest {\n message_id?: string;\n\n message_timestamp?: Date;\n\n thread_id?: string;\n\n user_id?: string;\n\n user?: UserRequest;\n}\n\nexport interface MemberAddedEvent {\n channel_id: string;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n type: string;\n\n team?: string;\n\n member?: ChannelMember;\n\n user?: User;\n}\n\nexport interface MemberRemovedEvent {\n channel_id: string;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n type: string;\n\n member?: ChannelMember;\n\n user?: User;\n}\n\nexport interface MemberRequest {\n user_id: string;\n\n role?: string;\n\n custom?: Record<string, any>;\n}\n\nexport interface MemberResponse {\n created_at: Date;\n\n updated_at: Date;\n\n user_id: string;\n\n custom: Record<string, any>;\n\n user: UserResponse;\n\n deleted_at?: Date;\n\n role?: string;\n}\n\nexport interface MemberUpdatedEvent {\n channel_id: string;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n type: string;\n\n team?: string;\n\n member?: ChannelMember;\n\n user?: User;\n}\n\nexport interface MembersResponse {\n duration: string;\n\n members: ChannelMemberResponse[];\n}\n\nexport interface MembershipLevelResponse {\n created_at: Date;\n\n id: string;\n\n name: string;\n\n priority: number;\n\n updated_at: Date;\n\n tags: string[];\n\n description?: string;\n\n custom?: Record<string, any>;\n}\n\nexport interface Message {\n cid: string;\n\n created_at: Date;\n\n deleted_reply_count: number;\n\n html: string;\n\n id: string;\n\n pinned: boolean;\n\n reply_count: number;\n\n shadowed: boolean;\n\n silent: boolean;\n\n text: string;\n\n type: string;\n\n updated_at: Date;\n\n attachments: Attachment[];\n\n latest_reactions: Reaction[];\n\n mentioned_users: User[];\n\n own_reactions: Reaction[];\n\n restricted_visibility: string[];\n\n custom: Record<string, any>;\n\n reaction_counts: Record<string, number>;\n\n reaction_groups: Record<string, ReactionGroupResponse>;\n\n reaction_scores: Record<string, number>;\n\n before_message_send_failed?: boolean;\n\n command?: string;\n\n deleted_at?: Date;\n\n deleted_for_me?: boolean;\n\n message_text_updated_at?: Date;\n\n mml?: string;\n\n parent_id?: string;\n\n pin_expires?: Date;\n\n pinned_at?: Date;\n\n poll_id?: string;\n\n quoted_message_id?: string;\n\n show_in_channel?: boolean;\n\n thread_participants?: User[];\n\n i18n?: Record<string, string>;\n\n image_labels?: Record<string, string[]>;\n\n member?: ChannelMember;\n\n moderation?: ModerationV2Response;\n\n pinned_by?: User;\n\n poll?: Poll;\n\n quoted_message?: Message;\n\n reminder?: MessageReminder;\n\n shared_location?: SharedLocation;\n\n user?: User;\n}\n\nexport interface MessageActionRequest {\n form_data: Record<string, string>;\n\n user_id?: string;\n\n user?: UserRequest;\n}\n\nexport interface MessageChangeSet {\n attachments: boolean;\n\n custom: boolean;\n\n html: boolean;\n\n mentioned_user_ids: boolean;\n\n mml: boolean;\n\n pin: boolean;\n\n quoted_message_id: boolean;\n\n silent: boolean;\n\n text: boolean;\n}\n\nexport interface MessageDeletedEvent {\n channel_id: string;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n hard_delete: boolean;\n\n type: string;\n\n deleted_for_me?: boolean;\n\n team?: string;\n\n thread_participants?: User[];\n\n message?: Message;\n\n user?: User;\n}\n\nexport interface MessageFlagResponse {\n created_at: Date;\n\n created_by_automod: boolean;\n\n updated_at: Date;\n\n approved_at?: Date;\n\n reason?: string;\n\n rejected_at?: Date;\n\n reviewed_at?: Date;\n\n custom?: Record<string, any>;\n\n details?: FlagDetails;\n\n message?: Message;\n\n moderation_feedback?: FlagFeedback;\n\n moderation_result?: MessageModerationResult;\n\n reviewed_by?: UserResponse;\n\n user?: UserResponse;\n}\n\nexport interface MessageFlaggedEvent {\n cid: string;\n\n created_at: Date;\n\n type: string;\n\n thread_participants?: User[];\n\n flag?: Flag;\n\n message?: Message;\n\n user?: User;\n}\n\nexport interface MessageHistoryEntryResponse {\n is_deleted: boolean;\n\n message_id: string;\n\n message_updated_at: Date;\n\n message_updated_by_id: string;\n\n text: string;\n\n attachments: Attachment[];\n\n custom: Record<string, any>;\n}\n\nexport interface MessageModerationResult {\n action: string;\n\n created_at: Date;\n\n message_id: string;\n\n updated_at: Date;\n\n user_bad_karma: boolean;\n\n user_karma: number;\n\n blocked_word?: string;\n\n blocklist_name?: string;\n\n moderated_by?: string;\n\n ai_moderation_response?: ModerationResponse;\n\n moderation_thresholds?: Thresholds;\n}\n\nexport interface MessageNewEvent {\n channel_id: string;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n watcher_count: number;\n\n type: string;\n\n team?: string;\n\n thread_participants?: User[];\n\n message?: Message;\n\n user?: User;\n}\n\nexport interface MessageOptions {\n include_thread_participants?: boolean;\n}\n\nexport interface MessagePaginationParams {\n created_at_after?: Date;\n\n created_at_after_or_equal?: Date;\n\n created_at_around?: Date;\n\n created_at_before?: Date;\n\n created_at_before_or_equal?: Date;\n\n id_around?: string;\n\n id_gt?: string;\n\n id_gte?: string;\n\n id_lt?: string;\n\n id_lte?: string;\n\n limit?: number;\n}\n\nexport interface MessageReadEvent {\n channel_id: string;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n type: string;\n\n channel_last_message_at?: Date;\n\n last_read_message_id?: string;\n\n team?: string;\n\n channel?: ChannelResponse;\n\n thread?: ThreadResponse;\n\n user?: UserResponseCommonFields;\n}\n\nexport interface MessageReminder {\n channel_cid: string;\n\n created_at: Date;\n\n message_id: string;\n\n task_id: string;\n\n updated_at: Date;\n\n user_id: string;\n\n remind_at?: Date;\n\n channel?: Channel;\n\n message?: Message;\n\n user?: User;\n}\n\nexport interface MessageRequest {\n html?: string;\n\n id?: string;\n\n mml?: string;\n\n parent_id?: string;\n\n pin_expires?: Date;\n\n pinned?: boolean;\n\n pinned_at?: Date;\n\n poll_id?: string;\n\n quoted_message_id?: string;\n\n show_in_channel?: boolean;\n\n silent?: boolean;\n\n text?: string;\n\n type?: \"''\" | 'regular' | 'system';\n\n user_id?: string;\n\n attachments?: Attachment[];\n\n mentioned_users?: string[];\n\n restricted_visibility?: string[];\n\n custom?: Record<string, any>;\n\n shared_location?: SharedLocation;\n\n user?: UserRequest;\n}\n\nexport interface MessageResponse {\n cid: string;\n\n created_at: Date;\n\n deleted_reply_count: number;\n\n html: string;\n\n id: string;\n\n pinned: boolean;\n\n reply_count: number;\n\n shadowed: boolean;\n\n silent: boolean;\n\n text: string;\n\n type: 'regular' | 'ephemeral' | 'error' | 'reply' | 'system' | 'deleted';\n\n updated_at: Date;\n\n attachments: Attachment[];\n\n latest_reactions: ReactionResponse[];\n\n mentioned_users: UserResponse[];\n\n own_reactions: ReactionResponse[];\n\n restricted_visibility: string[];\n\n custom: Record<string, any>;\n\n reaction_counts: Record<string, number>;\n\n reaction_scores: Record<string, number>;\n\n user: UserResponse;\n\n command?: string;\n\n deleted_at?: Date;\n\n deleted_for_me?: boolean;\n\n message_text_updated_at?: Date;\n\n mml?: string;\n\n parent_id?: string;\n\n pin_expires?: Date;\n\n pinned_at?: Date;\n\n poll_id?: string;\n\n quoted_message_id?: string;\n\n show_in_channel?: boolean;\n\n thread_participants?: UserResponse[];\n\n draft?: DraftResponse;\n\n i18n?: Record<string, string>;\n\n image_labels?: Record<string, string[]>;\n\n member?: ChannelMemberResponse;\n\n moderation?: ModerationV2Response;\n\n pinned_by?: UserResponse;\n\n poll?: PollResponseData;\n\n quoted_message?: MessageResponse;\n\n reaction_groups?: Record<string, ReactionGroupResponse>;\n\n reminder?: ReminderResponseData;\n\n shared_location?: SharedLocationResponseData;\n}\n\nexport interface MessageStatsResponse {\n count_over_time?: CountByMinuteResponse[];\n}\n\nexport interface MessageUnblockedEvent {\n cid: string;\n\n created_at: Date;\n\n type: string;\n\n thread_participants?: User[];\n\n message?: Message;\n\n user?: User;\n}\n\nexport interface MessageUndeletedEvent {\n channel_id: string;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n type: string;\n\n team?: string;\n\n thread_participants?: User[];\n\n message?: Message;\n\n user?: User;\n}\n\nexport interface MessageUpdate {\n old_text?: string;\n\n change_set?: MessageChangeSet;\n}\n\nexport interface MessageUpdatedEvent {\n channel_id: string;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n type: string;\n\n team?: string;\n\n thread_participants?: User[];\n\n message?: Message;\n\n user?: User;\n}\n\nexport interface MessageWithChannelResponse {\n cid: string;\n\n created_at: Date;\n\n deleted_reply_count: number;\n\n html: string;\n\n id: string;\n\n pinned: boolean;\n\n reply_count: number;\n\n shadowed: boolean;\n\n silent: boolean;\n\n text: string;\n\n type: 'regular' | 'ephemeral' | 'error' | 'reply' | 'system' | 'deleted';\n\n updated_at: Date;\n\n attachments: Attachment[];\n\n latest_reactions: ReactionResponse[];\n\n mentioned_users: UserResponse[];\n\n own_reactions: ReactionResponse[];\n\n restricted_visibility: string[];\n\n channel: ChannelResponse;\n\n custom: Record<string, any>;\n\n reaction_counts: Record<string, number>;\n\n reaction_scores: Record<string, number>;\n\n user: UserResponse;\n\n command?: string;\n\n deleted_at?: Date;\n\n deleted_for_me?: boolean;\n\n message_text_updated_at?: Date;\n\n mml?: string;\n\n parent_id?: string;\n\n pin_expires?: Date;\n\n pinned_at?: Date;\n\n poll_id?: string;\n\n quoted_message_id?: string;\n\n show_in_channel?: boolean;\n\n thread_participants?: UserResponse[];\n\n draft?: DraftResponse;\n\n i18n?: Record<string, string>;\n\n image_labels?: Record<string, string[]>;\n\n member?: ChannelMemberResponse;\n\n moderation?: ModerationV2Response;\n\n pinned_by?: UserResponse;\n\n poll?: PollResponseData;\n\n quoted_message?: MessageResponse;\n\n reaction_groups?: Record<string, ReactionGroupResponse>;\n\n reminder?: ReminderResponseData;\n\n shared_location?: SharedLocationResponseData;\n}\n\nexport interface MetricDescriptor {\n label: string;\n\n description?: string;\n\n unit?: string;\n}\n\nexport interface MetricThreshold {\n level: string;\n\n operator: string;\n\n value: number;\n\n value_unit?: string;\n\n window_seconds?: number;\n}\n\nexport interface ModerationActionConfig {\n action: string;\n\n description: string;\n\n entity_type: string;\n\n icon: string;\n\n order: number;\n\n custom: Record<string, any>;\n}\n\nexport interface ModerationCheckCompletedEvent {\n created_at: Date;\n\n entity_id: string;\n\n entity_type: string;\n\n recommended_action: string;\n\n review_queue_item_id: string;\n\n custom: Record<string, any>;\n\n type: string;\n\n received_at?: Date;\n}\n\nexport interface ModerationConfig {\n async?: boolean;\n\n created_at?: Date;\n\n key?: string;\n\n team?: string;\n\n updated_at?: Date;\n\n supported_video_call_harm_types?: string[];\n\n ai_image_config?: AIImageConfig;\n\n ai_image_lite_config?: BodyguardImageAnalysisConfig;\n\n ai_text_config?: AITextConfig;\n\n ai_video_config?: AIVideoConfig;\n\n automod_platform_circumvention_config?: AutomodPlatformCircumventionConfig;\n\n automod_semantic_filters_config?: AutomodSemanticFiltersConfig;\n\n automod_toxicity_config?: AutomodToxicityConfig;\n\n block_list_config?: BlockListConfig;\n\n google_vision_config?: GoogleVisionConfig;\n\n llm_config?: LLMConfig;\n\n velocity_filter_config?: VelocityFilterConfig;\n\n video_call_rule_config?: VideoCallRuleConfig;\n}\n\nexport interface ModerationCustomActionEvent {\n action_id: string;\n\n created_at: Date;\n\n custom: Record<string, any>;\n\n review_queue_item: ReviewQueueItemResponse;\n\n type: string;\n\n received_at?: Date;\n\n action_options?: Record<string, any>;\n\n message?: MessageResponse;\n}\n\nexport interface ModerationDashboardPreferences {\n disable_flagging_reviewed_entity?: boolean;\n\n flag_user_on_flagged_content?: boolean;\n\n media_queue_blur_enabled?: boolean;\n\n allowed_moderation_action_reasons?: string[];\n\n overview_dashboard?: OverviewDashboardConfig;\n}\n\nexport interface ModerationFlagResponse {\n created_at: Date;\n\n entity_id: string;\n\n entity_type: string;\n\n type: string;\n\n updated_at: Date;\n\n user_id: string;\n\n result: Array<Record<string, any>>;\n\n entity_creator_id?: string;\n\n reason?: string;\n\n review_queue_item_id?: string;\n\n labels?: string[];\n\n custom?: Record<string, any>;\n\n moderation_payload?: ModerationPayload;\n\n review_queue_item?: ReviewQueueItemResponse;\n\n user?: UserResponse;\n}\n\nexport interface ModerationFlaggedEvent {\n created_at: Date;\n\n type: string;\n\n item?: string;\n\n object_id?: string;\n\n user?: User;\n}\n\nexport interface ModerationMarkReviewedEvent {\n created_at: Date;\n\n custom: Record<string, any>;\n\n item: ReviewQueueItemResponse;\n\n type: string;\n\n received_at?: Date;\n\n message?: MessageResponse;\n}\n\nexport interface ModerationPayload {\n images?: string[];\n\n texts?: string[];\n\n videos?: string[];\n\n custom?: Record<string, any>;\n}\n\nexport interface ModerationResponse {\n action: string;\n\n explicit: number;\n\n spam: number;\n\n toxic: number;\n}\n\nexport interface ModerationRuleV2Response {\n created_at: Date;\n\n description: string;\n\n enabled: boolean;\n\n id: string;\n\n name: string;\n\n rule_type: string;\n\n team: string;\n\n updated_at: Date;\n\n config_keys: string[];\n\n action: RuleBuilderAction;\n\n cooldown_period?: string;\n\n logic?: string;\n\n conditions?: RuleBuilderCondition[];\n\n groups?: RuleBuilderConditionGroup[];\n}\n\nexport interface ModerationV2Response {\n action: string;\n\n original_text: string;\n\n blocklist_matched?: string;\n\n platform_circumvented?: boolean;\n\n semantic_filter_matched?: string;\n\n image_harms?: string[];\n\n text_harms?: string[];\n}\n\nexport interface MuteChannelRequest {\n expiration?: number;\n\n user_id?: string;\n\n channel_cids?: string[];\n\n user?: UserRequest;\n}\n\nexport interface MuteChannelResponse {\n duration: string;\n\n channel_mutes?: ChannelMute[];\n\n channel_mute?: ChannelMute;\n\n own_user?: OwnUser;\n}\n\nexport interface MuteRequest {\n target_ids: string[];\n\n timeout?: number;\n\n user_id?: string;\n\n user?: UserRequest;\n}\n\nexport interface MuteResponse {\n duration: string;\n\n mutes?: UserMute[];\n\n non_existing_users?: string[];\n\n own_user?: OwnUser;\n}\n\nexport interface MuteUsersRequest {\n audio?: boolean;\n\n mute_all_users?: boolean;\n\n muted_by_id?: string;\n\n screenshare?: boolean;\n\n screenshare_audio?: boolean;\n\n video?: boolean;\n\n user_ids?: string[];\n\n muted_by?: UserRequest;\n}\n\nexport interface MuteUsersResponse {\n duration: string;\n}\n\nexport interface NetworkMetricsReportResponse {\n average_connection_time?: number;\n\n average_jitter?: number;\n\n average_latency?: number;\n\n average_time_to_reconnect?: number;\n}\n\nexport interface NoiseCancellationSettings {\n mode: 'available' | 'disabled' | 'auto-on';\n}\n\nexport interface NotificationConfig {\n track_read?: boolean;\n\n track_seen?: boolean;\n}\n\nexport interface NotificationContext {\n target?: NotificationTarget;\n\n trigger?: NotificationTrigger;\n}\n\nexport interface NotificationFeedUpdatedEvent {\n created_at: Date;\n\n fid: string;\n\n custom: Record<string, any>;\n\n type: string;\n\n feed_visibility?: string;\n\n received_at?: Date;\n\n aggregated_activities?: AggregatedActivityResponse[];\n\n notification_status?: NotificationStatusResponse;\n\n user?: UserResponseCommonFields;\n}\n\nexport interface NotificationMarkUnreadEvent {\n channel_id: string;\n\n channel_member_count: number;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n first_unread_message_id: string;\n\n last_read_at: Date;\n\n total_unread_count: number;\n\n unread_channels: number;\n\n unread_count: number;\n\n unread_messages: number;\n\n unread_threads: number;\n\n type: string;\n\n last_read_message_id?: string;\n\n team?: string;\n\n thread_id?: string;\n\n channel?: ChannelResponse;\n\n user?: User;\n}\n\nexport interface NotificationSettings {\n enabled: boolean;\n\n call_live_started: EventNotificationSettings;\n\n call_missed: EventNotificationSettings;\n\n call_notification: EventNotificationSettings;\n\n call_ring: EventNotificationSettings;\n\n session_started: EventNotificationSettings;\n}\n\nexport interface NotificationStatusResponse {\n unread: number;\n\n unseen: number;\n\n last_read_at?: Date;\n\n last_seen_at?: Date;\n\n read_activities?: string[];\n\n seen_activities?: string[];\n}\n\nexport interface NotificationTarget {\n id: string;\n\n name?: string;\n\n text?: string;\n\n type?: string;\n\n user_id?: string;\n\n attachments?: Attachment[];\n}\n\nexport interface NotificationTrigger {\n text: string;\n\n type: string;\n}\n\nexport interface OCRRule {\n action:\n | 'flag'\n | 'shadow'\n | 'remove'\n | 'bounce'\n | 'bounce_flag'\n | 'bounce_remove';\n\n label: string;\n}\n\nexport interface OnlyUserID {\n id: string;\n}\n\nexport interface OverviewDashboardConfig {\n default_date_range_days?: number;\n\n visible_charts?: string[];\n}\n\nexport interface OwnCapabilitiesBatchRequest {\n feeds: string[];\n\n user_id?: string;\n\n user?: UserRequest;\n}\n\nexport interface OwnCapabilitiesBatchResponse {\n duration: string;\n\n capabilities: Record<string, FeedOwnCapability[]>;\n}\n\nexport const OwnCapability = {\n BLOCK_USERS: 'block-users',\n CHANGE_MAX_DURATION: 'change-max-duration',\n CREATE_CALL: 'create-call',\n CREATE_REACTION: 'create-reaction',\n ENABLE_NOISE_CANCELLATION: 'enable-noise-cancellation',\n END_CALL: 'end-call',\n JOIN_BACKSTAGE: 'join-backstage',\n JOIN_CALL: 'join-call',\n JOIN_ENDED_CALL: 'join-ended-call',\n KICK_USER: 'kick-user',\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_CLOSED_CAPTIONS_CALL: 'send-closed-captions-call',\n SEND_VIDEO: 'send-video',\n START_BROADCAST_CALL: 'start-broadcast-call',\n START_CLOSED_CAPTIONS_CALL: 'start-closed-captions-call',\n START_FRAME_RECORD_CALL: 'start-frame-record-call',\n START_RECORD_CALL: 'start-record-call',\n START_TRANSCRIPTION_CALL: 'start-transcription-call',\n STOP_BROADCAST_CALL: 'stop-broadcast-call',\n STOP_CLOSED_CAPTIONS_CALL: 'stop-closed-captions-call',\n STOP_FRAME_RECORD_CALL: 'stop-frame-record-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;\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport type OwnCapability = (typeof OwnCapability)[keyof typeof OwnCapability];\n\nexport interface OwnUser {\n banned: boolean;\n\n created_at: Date;\n\n id: string;\n\n language: string;\n\n online: boolean;\n\n role: string;\n\n total_unread_count: number;\n\n unread_channels: number;\n\n unread_count: number;\n\n unread_threads: number;\n\n updated_at: Date;\n\n channel_mutes: ChannelMute[];\n\n devices: Device[];\n\n mutes: UserMute[];\n\n custom: Record<string, any>;\n\n total_unread_count_by_team: Record<string, number>;\n\n avg_response_time?: number;\n\n deactivated_at?: Date;\n\n deleted_at?: Date;\n\n invisible?: boolean;\n\n last_active?: Date;\n\n last_engaged_at?: Date;\n\n blocked_user_ids?: string[];\n\n latest_hidden_channels?: string[];\n\n teams?: string[];\n\n privacy_settings?: PrivacySettings;\n\n push_preferences?: PushPreferences;\n\n teams_role?: Record<string, string>;\n}\n\nexport interface OwnUserResponse {\n banned: boolean;\n\n created_at: Date;\n\n id: string;\n\n invisible: boolean;\n\n language: string;\n\n online: boolean;\n\n role: string;\n\n total_unread_count: number;\n\n unread_channels: number;\n\n unread_count: number;\n\n unread_threads: number;\n\n updated_at: Date;\n\n channel_mutes: ChannelMute[];\n\n devices: DeviceResponse[];\n\n mutes: UserMuteResponse[];\n\n teams: string[];\n\n custom: Record<string, any>;\n\n avg_response_time?: number;\n\n deactivated_at?: Date;\n\n deleted_at?: Date;\n\n image?: string;\n\n last_active?: Date;\n\n name?: string;\n\n revoke_tokens_issued_before?: Date;\n\n blocked_user_ids?: string[];\n\n latest_hidden_channels?: string[];\n\n privacy_settings?: PrivacySettingsResponse;\n\n push_preferences?: PushPreferencesResponse;\n\n teams_role?: Record<string, string>;\n\n total_unread_count_by_team?: Record<string, number>;\n}\n\nexport interface PagerRequest {\n limit?: number;\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface PagerResponse {\n next?: string;\n\n prev?: string;\n}\n\nexport interface PaginationParams {\n limit?: number;\n\n offset?: number;\n}\n\nexport interface ParticipantCountByMinuteResponse {\n first: number;\n\n last: number;\n\n max: number;\n\n min: number;\n\n start_ts: Date;\n}\n\nexport interface ParticipantCountOverTimeResponse {\n by_minute?: ParticipantCountByMinuteResponse[];\n}\n\nexport interface ParticipantReportResponse {\n sum: number;\n\n unique: number;\n\n max_concurrent?: number;\n\n by_browser?: GroupedStatsResponse[];\n\n by_country?: GroupedStatsResponse[];\n\n by_device?: GroupedStatsResponse[];\n\n by_operating_system?: GroupedStatsResponse[];\n\n count_over_time?: ParticipantCountOverTimeResponse;\n\n publishers?: PublisherStatsResponse;\n\n subscribers?: SubscriberStatsResponse;\n}\n\nexport interface ParticipantSeriesPublisherStats {\n global_metrics_order?: string[];\n\n global?: Record<string, number[][]>;\n\n global_meta?: Record<string, MetricDescriptor>;\n\n global_thresholds?: Record<string, MetricThreshold[]>;\n\n tracks?: Record<string, ParticipantSeriesTrackMetrics[]>;\n}\n\nexport interface ParticipantSeriesSubscriberStats {\n global_metrics_order?: string[];\n\n subscriptions?: ParticipantSeriesSubscriptionTrackMetrics[];\n\n global?: Record<string, number[][]>;\n\n global_meta?: Record<string, MetricDescriptor>;\n\n global_thresholds?: Record<string, MetricThreshold[]>;\n}\n\nexport interface ParticipantSeriesSubscriptionTrackMetrics {\n publisher_user_id: string;\n\n publisher_name?: string;\n\n publisher_user_session_id?: string;\n\n tracks?: Record<string, ParticipantSeriesTrackMetrics[]>;\n}\n\nexport interface ParticipantSeriesTimeframe {\n max_points: number;\n\n since: Date;\n\n step_seconds: number;\n\n until: Date;\n}\n\nexport interface ParticipantSeriesTrackMetrics {\n track_id: string;\n\n codec?: string;\n\n label?: string;\n\n rid?: string;\n\n track_type?: string;\n\n metrics_order?: string[];\n\n metrics?: Record<string, number[][]>;\n\n metrics_meta?: Record<string, MetricDescriptor>;\n\n thresholds?: Record<string, MetricThreshold[]>;\n}\n\nexport interface ParticipantSeriesUserStats {\n metrics_order?: string[];\n\n metrics?: Record<string, number[][]>;\n\n metrics_meta?: Record<string, MetricDescriptor>;\n\n thresholds?: Record<string, MetricThreshold[]>;\n}\n\nexport interface PendingMessageEvent {\n created_at: Date;\n\n method: string;\n\n custom: Record<string, any>;\n\n type: string;\n\n received_at?: Date;\n\n channel?: Channel;\n\n message?: Message;\n\n metadata?: Record<string, string>;\n\n user?: User;\n}\n\nexport interface PendingMessageResponse {\n channel?: ChannelResponse;\n\n message?: MessageResponse;\n\n metadata?: Record<string, string>;\n\n user?: UserResponse;\n}\n\nexport interface PerSDKUsageReport {\n total: number;\n\n by_version: Record<string, number>;\n}\n\nexport interface Permission {\n action: string;\n\n custom: boolean;\n\n description: string;\n\n id: string;\n\n level: 'app' | 'channel';\n\n name: string;\n\n owner: boolean;\n\n same_team: boolean;\n\n tags: string[];\n\n condition?: Record<string, any>;\n}\n\nexport interface PermissionRequestEvent {\n call_cid: string;\n\n created_at: Date;\n\n permissions: string[];\n\n user: UserResponse;\n\n type: string;\n}\n\nexport interface PinActivityRequest {\n user_id?: string;\n\n user?: UserRequest;\n}\n\nexport interface PinActivityResponse {\n created_at: Date;\n\n duration: string;\n\n feed: string;\n\n user_id: string;\n\n activity: ActivityResponse;\n}\n\nexport interface PinRequest {\n session_id: string;\n\n user_id: string;\n}\n\nexport interface PinResponse {\n duration: string;\n}\n\nexport interface PlatformDataResponse {\n browser: BrowserDataResponse;\n\n device: DeviceDataResponse;\n\n os: ClientOSDataResponse;\n}\n\nexport interface Policy {\n action: number;\n\n created_at: Date;\n\n name: string;\n\n owner: boolean;\n\n priority: number;\n\n updated_at: Date;\n\n resources: string[];\n\n roles: string[];\n}\n\nexport interface PolicyRequest {\n action: 'Deny' | 'Allow';\n\n name: string;\n\n owner: boolean;\n\n priority: number;\n\n resources: string[];\n\n roles: string[];\n}\n\nexport interface Poll {\n allow_answers: boolean;\n\n allow_user_suggested_options: boolean;\n\n answers_count: number;\n\n created_at: Date;\n\n created_by_id: string;\n\n description: string;\n\n enforce_unique_vote: boolean;\n\n id: string;\n\n name: string;\n\n updated_at: Date;\n\n vote_count: number;\n\n latest_answers: PollVote[];\n\n options: PollOption[];\n\n own_votes: PollVote[];\n\n custom: Record<string, any>;\n\n latest_votes_by_option: Record<string, PollVote[]>;\n\n vote_counts_by_option: Record<string, number>;\n\n is_closed?: boolean;\n\n max_votes_allowed?: number;\n\n voting_visibility?: string;\n\n created_by?: User;\n}\n\nexport interface PollOption {\n id: string;\n\n text: string;\n\n custom: Record<string, any>;\n}\n\nexport interface PollOptionInput {\n text?: string;\n\n custom?: Record<string, any>;\n}\n\nexport interface PollOptionRequest {\n id: string;\n\n text?: string;\n\n custom?: Record<string, any>;\n}\n\nexport interface PollOptionResponse {\n duration: string;\n\n poll_option: PollOptionResponseData;\n}\n\nexport interface PollOptionResponseData {\n id: string;\n\n text: string;\n\n custom: Record<string, any>;\n}\n\nexport interface PollResponse {\n duration: string;\n\n poll: PollResponseData;\n}\n\nexport interface PollResponseData {\n allow_answers: boolean;\n\n allow_user_suggested_options: boolean;\n\n answers_count: number;\n\n created_at: Date;\n\n created_by_id: string;\n\n description: string;\n\n enforce_unique_vote: boolean;\n\n id: string;\n\n name: string;\n\n updated_at: Date;\n\n vote_count: number;\n\n voting_visibility: string;\n\n latest_answers: PollVoteResponseData[];\n\n options: PollOptionResponseData[];\n\n own_votes: PollVoteResponseData[];\n\n custom: Record<string, any>;\n\n latest_votes_by_option: Record<string, PollVoteResponseData[]>;\n\n vote_counts_by_option: Record<string, number>;\n\n is_closed?: boolean;\n\n max_votes_allowed?: number;\n\n created_by?: UserResponse;\n}\n\nexport interface PollVote {\n created_at: Date;\n\n id: string;\n\n option_id: string;\n\n poll_id: string;\n\n updated_at: Date;\n\n answer_text?: string;\n\n is_answer?: boolean;\n\n user_id?: string;\n\n user?: User;\n}\n\nexport interface PollVoteResponse {\n duration: string;\n\n vote?: PollVoteResponseData;\n}\n\nexport interface PollVoteResponseData {\n created_at: Date;\n\n id: string;\n\n option_id: string;\n\n poll_id: string;\n\n updated_at: Date;\n\n answer_text?: string;\n\n is_answer?: boolean;\n\n user_id?: string;\n\n user?: UserResponse;\n}\n\nexport interface PollVotesResponse {\n duration: string;\n\n votes: PollVoteResponseData[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface PrivacySettings {\n delivery_receipts?: DeliveryReceipts;\n\n read_receipts?: ReadReceipts;\n\n typing_indicators?: TypingIndicators;\n}\n\nexport interface PrivacySettingsResponse {\n delivery_receipts?: DeliveryReceiptsResponse;\n\n read_receipts?: ReadReceiptsResponse;\n\n typing_indicators?: TypingIndicatorsResponse;\n}\n\nexport interface PublishedTrackFlags {\n audio: boolean;\n\n screenshare: boolean;\n\n screenshare_audio: boolean;\n\n video: boolean;\n}\n\nexport interface PublisherAllMetrics {\n audio?: PublisherAudioMetrics;\n\n rtt_ms?: ActiveCallsLatencyStats;\n\n video?: PublisherVideoMetrics;\n}\n\nexport interface PublisherAudioMetrics {\n jitter_ms?: ActiveCallsLatencyStats;\n}\n\nexport interface PublisherStatsResponse {\n total: number;\n\n unique: number;\n\n by_track?: TrackStatsResponse[];\n}\n\nexport interface PublisherVideoMetrics {\n bitrate?: ActiveCallsBitrateStats;\n\n fps_30?: ActiveCallsFPSStats;\n\n frame_encoding_time_ms?: ActiveCallsLatencyStats;\n\n jitter_ms?: ActiveCallsLatencyStats;\n\n resolution?: ActiveCallsResolutionStats;\n}\n\nexport interface PublishersMetrics {\n all?: PublisherAllMetrics;\n}\n\nexport interface PushConfig {\n version: 'v1' | 'v2' | 'v3';\n\n offline_only?: boolean;\n}\n\nexport interface PushNotificationConfig {\n enable_push?: boolean;\n\n push_types?: string[];\n}\n\nexport interface PushNotificationFields {\n offline_only: boolean;\n\n version: string;\n\n apn: APNConfigFields;\n\n firebase: FirebaseConfigFields;\n\n huawei: HuaweiConfigFields;\n\n xiaomi: XiaomiConfigFields;\n\n providers?: PushProvider[];\n}\n\nexport interface PushNotificationSettingsResponse {\n disabled?: boolean;\n\n disabled_until?: Date;\n}\n\nexport interface PushPreferenceInput {\n call_level?: 'all' | 'none' | 'default';\n\n channel_cid?: string;\n\n chat_level?: 'all' | 'mentions' | 'none' | 'default';\n\n disabled_until?: Date;\n\n feeds_level?: 'all' | 'none' | 'default';\n\n remove_disable?: boolean;\n\n user_id?: string;\n\n feeds_preferences?: FeedsPreferences;\n}\n\nexport interface PushPreferences {\n call_level?: string;\n\n chat_level?: string;\n\n disabled_until?: Date;\n\n feeds_level?: string;\n\n feeds_preferences?: FeedsPreferences;\n}\n\nexport interface PushPreferencesResponse {\n call_level?: string;\n\n chat_level?: string;\n\n disabled_until?: Date;\n\n feeds_level?: string;\n\n feeds_preferences?: FeedsPreferencesResponse;\n}\n\nexport interface PushProvider {\n created_at: Date;\n\n name: string;\n\n type: string;\n\n updated_at: Date;\n\n apn_auth_key?: string;\n\n apn_auth_type?: string;\n\n apn_development?: boolean;\n\n apn_host?: string;\n\n apn_key_id?: string;\n\n apn_notification_template?: string;\n\n apn_p12_cert?: string;\n\n apn_team_id?: string;\n\n apn_topic?: string;\n\n description?: string;\n\n disabled_at?: Date;\n\n disabled_reason?: string;\n\n firebase_apn_template?: string;\n\n firebase_credentials?: string;\n\n firebase_data_template?: string;\n\n firebase_host?: string;\n\n firebase_notification_template?: string;\n\n firebase_server_key?: string;\n\n huawei_app_id?: string;\n\n huawei_app_secret?: string;\n\n huawei_host?: string;\n\n xiaomi_app_secret?: string;\n\n xiaomi_package_name?: string;\n\n push_templates?: PushTemplate[];\n}\n\nexport interface PushProviderResponse {\n created_at: Date;\n\n name: string;\n\n type: string;\n\n updated_at: Date;\n\n apn_auth_key?: string;\n\n apn_auth_type?: string;\n\n apn_development?: boolean;\n\n apn_host?: string;\n\n apn_key_id?: string;\n\n apn_p12_cert?: string;\n\n apn_sandbox_certificate?: boolean;\n\n apn_supports_remote_notifications?: boolean;\n\n apn_supports_voip_notifications?: boolean;\n\n apn_team_id?: string;\n\n apn_topic?: string;\n\n description?: string;\n\n disabled_at?: Date;\n\n disabled_reason?: string;\n\n firebase_apn_template?: string;\n\n firebase_credentials?: string;\n\n firebase_data_template?: string;\n\n firebase_host?: string;\n\n firebase_notification_template?: string;\n\n firebase_server_key?: string;\n\n huawei_app_id?: string;\n\n huawei_app_secret?: string;\n\n xiaomi_app_secret?: string;\n\n xiaomi_package_name?: string;\n}\n\nexport interface PushTemplate {\n created_at: Date;\n\n enable_push: boolean;\n\n event_type:\n | 'message.new'\n | 'message.updated'\n | 'reaction.new'\n | 'notification.reminder_due'\n | 'feeds.activity.added'\n | 'feeds.comment.added'\n | 'feeds.activity.reaction.added'\n | 'feeds.comment.reaction.added'\n | 'feeds.follow.created'\n | 'feeds.notification_feed.updated';\n\n updated_at: Date;\n\n template?: string;\n}\n\nexport interface QualityScoreReport {\n histogram: ReportByHistogramBucket[];\n}\n\nexport interface QualityScoreReportResponse {\n daily: DailyAggregateQualityScoreReportResponse[];\n}\n\nexport interface QueryActivitiesRequest {\n include_private_activities?: boolean;\n\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n user_id?: string;\n\n sort?: SortParamRequest[];\n\n filter?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface QueryActivitiesResponse {\n duration: string;\n\n activities: ActivityResponse[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QueryActivityReactionsRequest {\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n sort?: SortParamRequest[];\n\n filter?: Record<string, any>;\n}\n\nexport interface QueryActivityReactionsResponse {\n duration: string;\n\n reactions: FeedsReactionResponse[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QueryAggregateCallStatsRequest {\n from?: string;\n\n to?: string;\n\n report_types?: string[];\n}\n\nexport interface QueryAggregateCallStatsResponse {\n duration: string;\n\n call_duration_report?: CallDurationReportResponse;\n\n call_participant_count_report?: CallParticipantCountReportResponse;\n\n calls_per_day_report?: CallsPerDayReportResponse;\n\n network_metrics_report?: NetworkMetricsReportResponse;\n\n quality_score_report?: QualityScoreReportResponse;\n\n sdk_usage_report?: SDKUsageReportResponse;\n\n user_feedback_report?: UserFeedbackReportResponse;\n}\n\nexport interface QueryBannedUsersPayload {\n filter_conditions: Record<string, any>;\n\n exclude_expired_bans?: boolean;\n\n limit?: number;\n\n offset?: number;\n\n user_id?: string;\n\n sort?: SortParamRequest[];\n\n user?: UserRequest;\n}\n\nexport interface QueryBannedUsersResponse {\n duration: string;\n\n bans: BanResponse[];\n}\n\nexport interface QueryBookmarkFoldersRequest {\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n sort?: SortParamRequest[];\n\n filter?: Record<string, any>;\n}\n\nexport interface QueryBookmarkFoldersResponse {\n duration: string;\n\n bookmark_folders: BookmarkFolderResponse[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QueryBookmarksRequest {\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n sort?: SortParamRequest[];\n\n filter?: Record<string, any>;\n}\n\nexport interface QueryBookmarksResponse {\n duration: string;\n\n bookmarks: BookmarkResponse[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QueryCallMembersRequest {\n id: string;\n\n type: string;\n\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n sort?: SortParamRequest[];\n\n filter_conditions?: Record<string, any>;\n}\n\nexport interface QueryCallMembersResponse {\n duration: string;\n\n members: MemberResponse[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QueryCallParticipantsRequest {\n filter_conditions?: Record<string, any>;\n}\n\nexport interface QueryCallParticipantsResponse {\n duration: string;\n\n total_participants: number;\n\n members: MemberResponse[];\n\n own_capabilities: OwnCapability[];\n\n participants: CallParticipantResponse[];\n\n call: CallResponse;\n}\n\nexport interface QueryCallSessionParticipantStatsResponse {\n call_id: string;\n\n call_session_id: string;\n\n call_type: string;\n\n duration: string;\n\n participants: CallStatsParticipant[];\n\n counts: CallStatsParticipantCounts;\n\n call_ended_at?: Date;\n\n call_started_at?: Date;\n\n next?: string;\n\n prev?: string;\n\n tmp_data_source?: string;\n}\n\nexport interface QueryCallSessionParticipantStatsTimelineResponse {\n call_id: string;\n\n call_session_id: string;\n\n call_type: string;\n\n duration: string;\n\n user_id: string;\n\n user_session_id: string;\n\n events: CallParticipantTimeline[];\n}\n\nexport interface QueryCallStatsRequest {\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n sort?: SortParamRequest[];\n\n filter_conditions?: Record<string, any>;\n}\n\nexport interface QueryCallStatsResponse {\n duration: string;\n\n reports: CallStatsReportSummaryResponse[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QueryCallsRequest {\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n sort?: SortParamRequest[];\n\n filter_conditions?: Record<string, any>;\n}\n\nexport interface QueryCallsResponse {\n duration: string;\n\n calls: CallStateResponseFields[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QueryCampaignsRequest {\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n user_limit?: number;\n\n sort?: SortParamRequest[];\n\n filter?: Record<string, any>;\n}\n\nexport interface QueryCampaignsResponse {\n duration: string;\n\n campaigns: CampaignResponse[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QueryChannelsRequest {\n limit?: number;\n\n member_limit?: number;\n\n message_limit?: number;\n\n offset?: number;\n\n state?: boolean;\n\n user_id?: string;\n\n sort?: SortParamRequest[];\n\n filter_conditions?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface QueryChannelsResponse {\n duration: string;\n\n channels: ChannelStateResponseFields[];\n}\n\nexport interface QueryCommentReactionsRequest {\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n sort?: SortParamRequest[];\n\n filter?: Record<string, any>;\n}\n\nexport interface QueryCommentReactionsResponse {\n duration: string;\n\n reactions: FeedsReactionResponse[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QueryCommentsRequest {\n filter: Record<string, any>;\n\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n sort?: 'first' | 'last' | 'top' | 'best' | 'controversial';\n}\n\nexport interface QueryCommentsResponse {\n duration: string;\n\n comments: CommentResponse[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QueryDraftsRequest {\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n user_id?: string;\n\n sort?: SortParamRequest[];\n\n filter?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface QueryDraftsResponse {\n duration: string;\n\n drafts: DraftResponse[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QueryFeedMembersRequest {\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n sort?: SortParamRequest[];\n\n filter?: Record<string, any>;\n}\n\nexport interface QueryFeedMembersResponse {\n duration: string;\n\n members: FeedMemberResponse[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QueryFeedModerationTemplate {\n created_at: Date;\n\n name: string;\n\n updated_at: Date;\n\n config?: FeedsModerationTemplateConfig;\n}\n\nexport interface QueryFeedModerationTemplatesResponse {\n duration: string;\n\n templates: QueryFeedModerationTemplate[];\n}\n\nexport interface QueryFeedsRequest {\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n watch?: boolean;\n\n sort?: SortParamRequest[];\n\n filter?: Record<string, any>;\n}\n\nexport interface QueryFeedsResponse {\n duration: string;\n\n feeds: FeedResponse[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QueryFeedsUsageStatsRequest {\n from?: string;\n\n to?: string;\n}\n\nexport interface QueryFeedsUsageStatsResponse {\n duration: string;\n\n activities: DailyMetricStatsResponse;\n\n api_requests: DailyMetricStatsResponse;\n\n follows: DailyMetricStatsResponse;\n\n openai_requests: DailyMetricStatsResponse;\n}\n\nexport interface QueryFollowsRequest {\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n sort?: SortParamRequest[];\n\n filter?: Record<string, any>;\n}\n\nexport interface QueryFollowsResponse {\n duration: string;\n\n follows: FollowResponse[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QueryMembersPayload {\n type: string;\n\n filter_conditions: Record<string, any>;\n\n id?: string;\n\n limit?: number;\n\n offset?: number;\n\n user_id?: string;\n\n members?: ChannelMemberRequest[];\n\n sort?: SortParamRequest[];\n\n user?: UserRequest;\n}\n\nexport interface QueryMembershipLevelsRequest {\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n sort?: SortParamRequest[];\n\n filter?: Record<string, any>;\n}\n\nexport interface QueryMembershipLevelsResponse {\n duration: string;\n\n membership_levels: MembershipLevelResponse[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QueryMessageFlagsPayload {\n limit?: number;\n\n offset?: number;\n\n show_deleted_messages?: boolean;\n\n user_id?: string;\n\n sort?: SortParamRequest[];\n\n filter_conditions?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface QueryMessageFlagsResponse {\n duration: string;\n\n flags: MessageFlagResponse[];\n}\n\nexport interface QueryMessageHistoryRequest {\n filter: Record<string, any>;\n\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n sort?: SortParamRequest[];\n}\n\nexport interface QueryMessageHistoryResponse {\n duration: string;\n\n message_history: MessageHistoryEntryResponse[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QueryModerationConfigsRequest {\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n user_id?: string;\n\n sort?: SortParamRequest[];\n\n filter?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface QueryModerationConfigsResponse {\n duration: string;\n\n configs: ConfigResponse[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QueryModerationFlagsRequest {\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n sort?: SortParam[];\n\n filter?: Record<string, any>;\n}\n\nexport interface QueryModerationFlagsResponse {\n duration: string;\n\n flags: ModerationFlagResponse[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QueryModerationLogsRequest {\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n user_id?: string;\n\n sort?: SortParamRequest[];\n\n filter?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface QueryModerationLogsResponse {\n duration: string;\n\n logs: ActionLogResponse[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QueryModerationRulesRequest {\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n user_id?: string;\n\n sort?: SortParamRequest[];\n\n filter?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface QueryModerationRulesResponse {\n duration: string;\n\n rules: ModerationRuleV2Response[];\n\n default_llm_labels: Record<string, string>;\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QueryPollVotesRequest {\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n sort?: SortParamRequest[];\n\n filter?: Record<string, any>;\n}\n\nexport interface QueryPollsRequest {\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n sort?: SortParamRequest[];\n\n filter?: Record<string, any>;\n}\n\nexport interface QueryPollsResponse {\n duration: string;\n\n polls: PollResponseData[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QueryReactionsRequest {\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n user_id?: string;\n\n sort?: SortParamRequest[];\n\n filter?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface QueryReactionsResponse {\n duration: string;\n\n reactions: ReactionResponse[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QueryRemindersRequest {\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n user_id?: string;\n\n sort?: SortParamRequest[];\n\n filter?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface QueryRemindersResponse {\n duration: string;\n\n reminders: ReminderResponseData[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QueryReviewQueueRequest {\n limit?: number;\n\n lock_count?: number;\n\n lock_duration?: number;\n\n lock_items?: boolean;\n\n next?: string;\n\n prev?: string;\n\n stats_only?: boolean;\n\n user_id?: string;\n\n sort?: SortParamRequest[];\n\n filter?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface QueryReviewQueueResponse {\n duration: string;\n\n items: ReviewQueueItemResponse[];\n\n action_config: Record<string, ModerationActionConfig[]>;\n\n stats: Record<string, any>;\n\n next?: string;\n\n prev?: string;\n\n filter_config?: FilterConfigResponse;\n}\n\nexport interface QuerySegmentTargetsRequest {\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n sort?: SortParamRequest[];\n\n filter?: Record<string, any>;\n}\n\nexport interface QuerySegmentTargetsResponse {\n duration: string;\n\n targets: SegmentTargetResponse[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QuerySegmentsRequest {\n filter: Record<string, any>;\n\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n sort?: SortParamRequest[];\n}\n\nexport interface QuerySegmentsResponse {\n duration: string;\n\n segments: SegmentResponse[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QueryThreadsRequest {\n limit?: number;\n\n member_limit?: number;\n\n next?: string;\n\n participant_limit?: number;\n\n prev?: string;\n\n reply_limit?: number;\n\n user_id?: string;\n\n sort?: SortParamRequest[];\n\n filter?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface QueryThreadsResponse {\n duration: string;\n\n threads: ThreadStateResponse[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QueryUserFeedbackRequest {\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n sort?: SortParamRequest[];\n\n filter_conditions?: Record<string, any>;\n}\n\nexport interface QueryUserFeedbackResponse {\n duration: string;\n\n user_feedback: UserFeedbackResponse[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QueryUsersPayload {\n filter_conditions: Record<string, any>;\n\n include_deactivated_users?: boolean;\n\n limit?: number;\n\n offset?: number;\n\n presence?: boolean;\n\n user_id?: string;\n\n sort?: SortParamRequest[];\n\n user?: UserRequest;\n}\n\nexport interface QueryUsersResponse {\n duration: string;\n\n users: FullUserResponse[];\n}\n\nexport interface RTMPBroadcastRequest {\n name: string;\n\n stream_url: string;\n\n quality?:\n | '360p'\n | '480p'\n | '720p'\n | '1080p'\n | '1440p'\n | 'portrait-360x640'\n | 'portrait-480x854'\n | 'portrait-720x1280'\n | 'portrait-1080x1920'\n | 'portrait-1440x2560';\n\n stream_key?: string;\n\n layout?: LayoutSettingsRequest;\n}\n\nexport interface RTMPIngress {\n address: string;\n}\n\nexport interface RTMPLocation {\n name: string;\n\n stream_key: string;\n\n stream_url: string;\n}\n\nexport interface RTMPSettings {\n enabled: boolean;\n\n quality_name?: string;\n\n layout?: LayoutSettings;\n\n location?: RTMPLocation;\n}\n\nexport interface RTMPSettingsRequest {\n enabled?: boolean;\n\n quality?:\n | '360p'\n | '480p'\n | '720p'\n | '1080p'\n | '1440p'\n | 'portrait-360x640'\n | 'portrait-480x854'\n | 'portrait-720x1280'\n | 'portrait-1080x1920'\n | 'portrait-1440x2560';\n\n layout?: LayoutSettingsRequest;\n}\n\nexport interface RTMPSettingsResponse {\n enabled: boolean;\n\n quality: string;\n\n layout: LayoutSettingsResponse;\n}\n\nexport interface RankingConfig {\n type: 'recency' | 'expression' | 'interest';\n\n score?: string;\n\n defaults?: Record<string, any>;\n\n functions?: Record<string, DecayFunctionConfig>;\n}\n\nexport interface Reaction {\n created_at: Date;\n\n message_id: string;\n\n score: number;\n\n type: string;\n\n updated_at: Date;\n\n custom: Record<string, any>;\n\n user_id?: string;\n\n user?: User;\n}\n\nexport interface ReactionDeletedEvent {\n channel_id: string;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n type: string;\n\n team?: string;\n\n thread_participants?: User[];\n\n message?: Message;\n\n reaction?: Reaction;\n\n user?: User;\n}\n\nexport interface ReactionGroupResponse {\n count: number;\n\n first_reaction_at: Date;\n\n last_reaction_at: Date;\n\n sum_scores: number;\n}\n\nexport interface ReactionNewEvent {\n channel_id: string;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n type: string;\n\n team?: string;\n\n thread_participants?: User[];\n\n message?: Message;\n\n reaction?: Reaction;\n\n user?: User;\n}\n\nexport interface ReactionRequest {\n type: string;\n\n created_at?: Date;\n\n score?: number;\n\n updated_at?: Date;\n\n user_id?: string;\n\n custom?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface ReactionResponse {\n created_at: Date;\n\n message_id: string;\n\n score: number;\n\n type: string;\n\n updated_at: Date;\n\n user_id: string;\n\n custom: Record<string, any>;\n\n user: UserResponse;\n}\n\nexport interface ReactionUpdatedEvent {\n channel_id: string;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n message: Message;\n\n reaction: Reaction;\n\n type: string;\n\n team?: string;\n\n user?: User;\n}\n\nexport interface ReactivateUserRequest {\n created_by_id?: string;\n\n name?: string;\n\n restore_messages?: boolean;\n}\n\nexport interface ReactivateUserResponse {\n duration: string;\n\n user?: UserResponse;\n}\n\nexport interface ReactivateUsersRequest {\n user_ids: string[];\n\n created_by_id?: string;\n\n restore_channels?: boolean;\n\n restore_messages?: boolean;\n}\n\nexport interface ReactivateUsersResponse {\n duration: string;\n\n task_id: string;\n}\n\nexport interface ReadCollectionsResponse {\n duration: string;\n\n collections: CollectionResponse[];\n}\n\nexport interface ReadReceipts {\n enabled?: boolean;\n}\n\nexport interface ReadReceiptsResponse {\n enabled?: boolean;\n}\n\nexport interface ReadStateResponse {\n last_read: Date;\n\n unread_messages: number;\n\n user: UserResponse;\n\n last_delivered_at?: Date;\n\n last_delivered_message_id?: string;\n\n last_read_message_id?: string;\n}\n\nexport interface RecordSettings {\n mode: string;\n\n audio_only?: boolean;\n\n quality?: string;\n\n layout?: LayoutSettings;\n}\n\nexport interface RecordSettingsRequest {\n mode: 'available' | 'disabled' | 'auto-on';\n\n audio_only?: boolean;\n\n quality?:\n | '360p'\n | '480p'\n | '720p'\n | '1080p'\n | '1440p'\n | 'portrait-360x640'\n | 'portrait-480x854'\n | 'portrait-720x1280'\n | 'portrait-1080x1920'\n | 'portrait-1440x2560';\n\n layout?: LayoutSettingsRequest;\n}\n\nexport interface RecordSettingsResponse {\n audio_only: boolean;\n\n mode: string;\n\n quality: string;\n\n layout: LayoutSettingsResponse;\n}\n\nexport interface RejectFeedMemberInviteRequest {\n user_id?: string;\n\n user?: UserRequest;\n}\n\nexport interface RejectFeedMemberInviteResponse {\n duration: string;\n\n member: FeedMemberResponse;\n}\n\nexport interface RejectFollowRequest {\n source: string;\n\n target: string;\n}\n\nexport interface RejectFollowResponse {\n duration: string;\n\n follow: FollowResponse;\n}\n\nexport interface ReminderCreatedEvent {\n cid: string;\n\n created_at: Date;\n\n message_id: string;\n\n user_id: string;\n\n custom: Record<string, any>;\n\n type: string;\n\n parent_id?: string;\n\n received_at?: Date;\n\n reminder?: ReminderResponseData;\n}\n\nexport interface ReminderDeletedEvent {\n cid: string;\n\n created_at: Date;\n\n message_id: string;\n\n user_id: string;\n\n custom: Record<string, any>;\n\n type: string;\n\n parent_id?: string;\n\n received_at?: Date;\n\n reminder?: ReminderResponseData;\n}\n\nexport interface ReminderNotificationEvent {\n cid: string;\n\n created_at: Date;\n\n message_id: string;\n\n user_id: string;\n\n custom: Record<string, any>;\n\n type: string;\n\n parent_id?: string;\n\n received_at?: Date;\n\n reminder?: ReminderResponseData;\n}\n\nexport interface ReminderResponseData {\n channel_cid: string;\n\n created_at: Date;\n\n message_id: string;\n\n updated_at: Date;\n\n user_id: string;\n\n remind_at?: Date;\n\n channel?: ChannelResponse;\n\n message?: MessageResponse;\n\n user?: UserResponse;\n}\n\nexport interface ReminderUpdatedEvent {\n cid: string;\n\n created_at: Date;\n\n message_id: string;\n\n user_id: string;\n\n custom: Record<string, any>;\n\n type: string;\n\n parent_id?: string;\n\n received_at?: Date;\n\n reminder?: ReminderResponseData;\n}\n\nexport interface RepliesMeta {\n depth_truncated: boolean;\n\n has_more: boolean;\n\n remaining: number;\n\n next_cursor?: string;\n}\n\nexport interface ReportByHistogramBucket {\n category: string;\n\n count: number;\n\n sum: number;\n\n lower_bound?: Bound;\n\n upper_bound?: Bound;\n}\n\nexport interface ReportResponse {\n call: CallReportResponse;\n\n participants: ParticipantReportResponse;\n\n user_ratings: UserRatingReportResponse;\n}\n\nexport interface ResolveSipInboundRequest {\n sip_caller_number: string;\n\n sip_trunk_number: string;\n\n challenge: SIPChallenge;\n\n sip_headers?: Record<string, string>;\n}\n\nexport interface ResolveSipInboundResponse {\n duration: string;\n\n credentials: SipInboundCredentials;\n\n sip_routing_rule?: SIPInboundRoutingRuleResponse;\n\n sip_trunk?: SIPTrunkResponse;\n}\n\nexport interface Response {\n duration: string;\n}\n\nexport interface RestoreActionRequest {}\n\nexport interface RestoreUsersRequest {\n user_ids: string[];\n}\n\nexport interface ReviewQueueItemNewEvent {\n created_at: Date;\n\n custom: Record<string, any>;\n\n type: string;\n\n received_at?: Date;\n\n flags?: ModerationFlagResponse[];\n\n action?: ActionLogResponse;\n\n review_queue_item?: ReviewQueueItemResponse;\n}\n\nexport interface ReviewQueueItemResponse {\n ai_text_severity: string;\n\n created_at: Date;\n\n entity_id: string;\n\n entity_type: string;\n\n flags_count: number;\n\n id: string;\n\n latest_moderator_action: string;\n\n recommended_action: string;\n\n reviewed_by: string;\n\n severity: number;\n\n status: string;\n\n updated_at: Date;\n\n actions: ActionLogResponse[];\n\n bans: Ban[];\n\n flags: ModerationFlagResponse[];\n\n languages: string[];\n\n completed_at?: Date;\n\n config_key?: string;\n\n entity_creator_id?: string;\n\n reviewed_at?: Date;\n\n teams?: string[];\n\n activity?: EnrichedActivity;\n\n assigned_to?: UserResponse;\n\n call?: CallResponse;\n\n entity_creator?: EntityCreatorResponse;\n\n feeds_v2_activity?: EnrichedActivity;\n\n feeds_v2_reaction?: Reaction;\n\n feeds_v3_activity?: ActivityResponse;\n\n feeds_v3_comment?: CommentResponse;\n\n message?: MessageResponse;\n\n moderation_payload?: ModerationPayload;\n\n reaction?: Reaction;\n}\n\nexport interface ReviewQueueItemUpdatedEvent {\n created_at: Date;\n\n custom: Record<string, any>;\n\n type: string;\n\n received_at?: Date;\n\n flags?: ModerationFlagResponse[];\n\n action?: ActionLogResponse;\n\n review_queue_item?: ReviewQueueItemResponse;\n}\n\nexport interface RingCallRequest {\n video?: boolean;\n\n members_ids?: string[];\n}\n\nexport interface RingCallResponse {\n duration: string;\n\n members_ids: string[];\n}\n\nexport interface RingSettings {\n auto_cancel_timeout_ms: number;\n\n incoming_call_timeout_ms: number;\n\n missed_call_timeout_ms: number;\n}\n\nexport interface RingSettingsRequest {\n auto_cancel_timeout_ms: number;\n\n incoming_call_timeout_ms: number;\n\n missed_call_timeout_ms?: number;\n}\n\nexport interface RingSettingsResponse {\n auto_cancel_timeout_ms: number;\n\n incoming_call_timeout_ms: number;\n\n missed_call_timeout_ms: number;\n}\n\nexport interface Role {\n created_at: Date;\n\n custom: boolean;\n\n name: string;\n\n updated_at: Date;\n\n scopes: string[];\n}\n\nexport interface RuleBuilderAction {\n type:\n | 'ban_user'\n | 'flag_user'\n | 'flag_content'\n | 'block_content'\n | 'shadow_content'\n | 'bounce_flag_content'\n | 'bounce_content'\n | 'bounce_remove_content';\n\n ban_options?: BanOptions;\n\n flag_user_options?: FlagUserOptions;\n}\n\nexport interface RuleBuilderCondition {\n confidence?: number;\n\n type?: string;\n\n content_count_rule_params?: ContentCountRuleParameters;\n\n image_content_params?: ImageContentParameters;\n\n image_rule_params?: ImageRuleParameters;\n\n text_content_params?: TextContentParameters;\n\n text_rule_params?: TextRuleParameters;\n\n user_created_within_params?: UserCreatedWithinParameters;\n\n user_custom_property_params?: UserCustomPropertyParameters;\n\n user_rule_params?: UserRuleParameters;\n\n video_content_params?: VideoContentParameters;\n\n video_rule_params?: VideoRuleParameters;\n}\n\nexport interface RuleBuilderConditionGroup {\n logic?: string;\n\n conditions?: RuleBuilderCondition[];\n}\n\nexport interface RuleBuilderConfig {\n async?: boolean;\n\n rules?: RuleBuilderRule[];\n}\n\nexport interface RuleBuilderRule {\n rule_type: string;\n\n action: RuleBuilderAction;\n\n cooldown_period?: string;\n\n id?: string;\n\n logic?: string;\n\n conditions?: RuleBuilderCondition[];\n\n groups?: RuleBuilderConditionGroup[];\n}\n\nexport interface S3Request {\n s3_region: string;\n\n s3_api_key?: string;\n\n s3_custom_endpoint_url?: string;\n\n s3_secret?: string;\n}\n\nexport interface SDKUsageReport {\n per_sdk_usage: Record<string, PerSDKUsageReport>;\n}\n\nexport interface SDKUsageReportResponse {\n daily: DailyAggregateSDKUsageReportResponse[];\n}\n\nexport interface SIPCallConfigsRequest {\n custom_data?: Record<string, any>;\n}\n\nexport interface SIPCallConfigsResponse {\n custom_data: Record<string, any>;\n}\n\nexport interface SIPCallerConfigsRequest {\n id: string;\n\n custom_data?: Record<string, any>;\n}\n\nexport interface SIPCallerConfigsResponse {\n id: string;\n\n custom_data: Record<string, any>;\n}\n\nexport interface SIPChallenge {\n a1?: string;\n\n algorithm?: string;\n\n charset?: string;\n\n cnonce?: string;\n\n method?: string;\n\n nc?: string;\n\n nonce?: string;\n\n opaque?: string;\n\n realm?: string;\n\n response?: string;\n\n stale?: boolean;\n\n uri?: string;\n\n userhash?: boolean;\n\n username?: string;\n\n domain?: string[];\n\n qop?: string[];\n}\n\nexport interface SIPDirectRoutingRuleCallConfigsRequest {\n call_id: string;\n\n call_type: string;\n}\n\nexport interface SIPDirectRoutingRuleCallConfigsResponse {\n call_id: string;\n\n call_type: string;\n}\n\nexport interface SIPInboundRoutingRulePinConfigsRequest {\n custom_webhook_url?: string;\n\n pin_failed_attempt_prompt?: string;\n\n pin_hangup_prompt?: string;\n\n pin_prompt?: string;\n\n pin_success_prompt?: string;\n}\n\nexport interface SIPInboundRoutingRulePinConfigsResponse {\n custom_webhook_url?: string;\n\n pin_failed_attempt_prompt?: string;\n\n pin_hangup_prompt?: string;\n\n pin_prompt?: string;\n\n pin_success_prompt?: string;\n}\n\nexport interface SIPInboundRoutingRuleRequest {\n name: string;\n\n trunk_ids: string[];\n\n caller_configs: SIPCallerConfigsRequest;\n\n called_numbers?: string[];\n\n caller_numbers?: string[];\n\n call_configs?: SIPCallConfigsRequest;\n\n direct_routing_configs?: SIPDirectRoutingRuleCallConfigsRequest;\n\n pin_protection_configs?: SIPPinProtectionConfigsRequest;\n\n pin_routing_configs?: SIPInboundRoutingRulePinConfigsRequest;\n}\n\nexport interface SIPInboundRoutingRuleResponse {\n created_at: Date;\n\n duration: string;\n\n id: string;\n\n name: string;\n\n updated_at: Date;\n\n called_numbers: string[];\n\n trunk_ids: string[];\n\n caller_numbers?: string[];\n\n call_configs?: SIPCallConfigsResponse;\n\n caller_configs?: SIPCallerConfigsResponse;\n\n direct_routing_configs?: SIPDirectRoutingRuleCallConfigsResponse;\n\n pin_protection_configs?: SIPPinProtectionConfigsResponse;\n\n pin_routing_configs?: SIPInboundRoutingRulePinConfigsResponse;\n}\n\nexport interface SIPPinProtectionConfigsRequest {\n default_pin?: string;\n\n enabled?: boolean;\n\n max_attempts?: number;\n\n required_pin_digits?: number;\n}\n\nexport interface SIPPinProtectionConfigsResponse {\n enabled: boolean;\n\n default_pin?: string;\n\n max_attempts?: number;\n\n required_pin_digits?: number;\n}\n\nexport interface SIPTrunkResponse {\n created_at: Date;\n\n id: string;\n\n name: string;\n\n password: string;\n\n updated_at: Date;\n\n uri: string;\n\n username: string;\n\n numbers: string[];\n}\n\nexport interface SRTIngress {\n address: string;\n}\n\nexport interface ScreensharingSettings {\n access_request_enabled: boolean;\n\n enabled: boolean;\n\n target_resolution?: TargetResolution;\n}\n\nexport interface ScreensharingSettingsRequest {\n access_request_enabled?: boolean;\n\n enabled?: boolean;\n\n target_resolution?: TargetResolution;\n}\n\nexport interface ScreensharingSettingsResponse {\n access_request_enabled: boolean;\n\n enabled: boolean;\n\n target_resolution?: TargetResolution;\n}\n\nexport interface SearchPayload {\n filter_conditions: Record<string, any>;\n\n limit?: number;\n\n next?: string;\n\n offset?: number;\n\n query?: string;\n\n sort?: SortParamRequest[];\n\n message_filter_conditions?: Record<string, any>;\n\n message_options?: MessageOptions;\n}\n\nexport interface SearchResponse {\n duration: string;\n\n results: SearchResult[];\n\n next?: string;\n\n previous?: string;\n\n results_warning?: SearchWarning;\n}\n\nexport interface SearchResult {\n message?: SearchResultMessage;\n}\n\nexport interface SearchResultMessage {\n cid: string;\n\n created_at: Date;\n\n deleted_reply_count: number;\n\n html: string;\n\n id: string;\n\n pinned: boolean;\n\n reply_count: number;\n\n shadowed: boolean;\n\n silent: boolean;\n\n text: string;\n\n type: string;\n\n updated_at: Date;\n\n attachments: Attachment[];\n\n latest_reactions: ReactionResponse[];\n\n mentioned_users: UserResponse[];\n\n own_reactions: ReactionResponse[];\n\n restricted_visibility: string[];\n\n custom: Record<string, any>;\n\n reaction_counts: Record<string, number>;\n\n reaction_scores: Record<string, number>;\n\n user: UserResponse;\n\n command?: string;\n\n deleted_at?: Date;\n\n deleted_for_me?: boolean;\n\n message_text_updated_at?: Date;\n\n mml?: string;\n\n parent_id?: string;\n\n pin_expires?: Date;\n\n pinned_at?: Date;\n\n poll_id?: string;\n\n quoted_message_id?: string;\n\n show_in_channel?: boolean;\n\n thread_participants?: UserResponse[];\n\n channel?: ChannelResponse;\n\n draft?: DraftResponse;\n\n i18n?: Record<string, string>;\n\n image_labels?: Record<string, string[]>;\n\n member?: ChannelMemberResponse;\n\n moderation?: ModerationV2Response;\n\n pinned_by?: UserResponse;\n\n poll?: PollResponseData;\n\n quoted_message?: MessageResponse;\n\n reaction_groups?: Record<string, ReactionGroupResponse>;\n\n reminder?: ReminderResponseData;\n\n shared_location?: SharedLocationResponseData;\n}\n\nexport interface SearchWarning {\n warning_code: number;\n\n warning_description: string;\n\n channel_search_count?: number;\n\n channel_search_cids?: string[];\n}\n\nexport interface Segment {\n all_sender_channels: boolean;\n\n all_users: boolean;\n\n created_at: Date;\n\n id: string;\n\n name: string;\n\n size: number;\n\n type: string;\n\n updated_at: Date;\n\n deleted_at?: Date;\n\n description?: string;\n\n task_id?: string;\n\n filter?: Record<string, any>;\n}\n\nexport interface SegmentResponse {\n all_sender_channels: boolean;\n\n all_users: boolean;\n\n created_at: Date;\n\n deleted_at: Date;\n\n description: string;\n\n id: string;\n\n name: string;\n\n size: number;\n\n type: string;\n\n updated_at: Date;\n\n filter: Record<string, any>;\n}\n\nexport interface SegmentTargetResponse {\n app_pk: number;\n\n created_at: Date;\n\n segment_id: string;\n\n target_id: string;\n}\n\nexport interface SendCallEventRequest {\n user_id?: string;\n\n custom?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface SendCallEventResponse {\n duration: string;\n}\n\nexport interface SendClosedCaptionRequest {\n speaker_id: string;\n\n text: string;\n\n end_time?: Date;\n\n language?: string;\n\n service?: string;\n\n start_time?: Date;\n\n translated?: boolean;\n\n user_id?: string;\n\n user?: UserRequest;\n}\n\nexport interface SendClosedCaptionResponse {\n duration: string;\n}\n\nexport interface SendEventRequest {\n event: EventRequest;\n}\n\nexport interface SendMessageRequest {\n message: MessageRequest;\n\n force_moderation?: boolean;\n\n keep_channel_hidden?: boolean;\n\n pending?: boolean;\n\n skip_enrich_url?: boolean;\n\n skip_push?: boolean;\n\n pending_message_metadata?: Record<string, string>;\n}\n\nexport interface SendMessageResponse {\n duration: string;\n\n message: MessageResponse;\n\n pending_message_metadata?: Record<string, string>;\n}\n\nexport interface SendReactionRequest {\n reaction: ReactionRequest;\n\n enforce_unique?: boolean;\n\n skip_push?: boolean;\n}\n\nexport interface SendReactionResponse {\n duration: string;\n\n message: MessageResponse;\n\n reaction: ReactionResponse;\n}\n\nexport interface SendUserCustomEventRequest {\n event: UserCustomEventRequest;\n}\n\nexport interface SessionSettings {\n inactivity_timeout_seconds: number;\n}\n\nexport interface SessionSettingsRequest {\n inactivity_timeout_seconds: number;\n}\n\nexport interface SessionSettingsResponse {\n inactivity_timeout_seconds: number;\n}\n\nexport interface ShadowBlockActionRequest {\n reason?: string;\n}\n\nexport interface SharedLocation {\n latitude: number;\n\n longitude: number;\n\n created_by_device_id?: string;\n\n end_at?: Date;\n}\n\nexport interface SharedLocationResponse {\n channel_cid: string;\n\n created_at: Date;\n\n created_by_device_id: string;\n\n duration: string;\n\n latitude: number;\n\n longitude: number;\n\n message_id: string;\n\n updated_at: Date;\n\n user_id: string;\n\n end_at?: Date;\n\n channel?: ChannelResponse;\n\n message?: MessageResponse;\n}\n\nexport interface SharedLocationResponseData {\n channel_cid: string;\n\n created_at: Date;\n\n created_by_device_id: string;\n\n latitude: number;\n\n longitude: number;\n\n message_id: string;\n\n updated_at: Date;\n\n user_id: string;\n\n end_at?: Date;\n\n channel?: ChannelResponse;\n\n message?: MessageResponse;\n}\n\nexport interface SharedLocationsResponse {\n duration: string;\n\n active_live_locations: SharedLocationResponseData[];\n}\n\nexport interface ShowChannelRequest {\n user_id?: string;\n\n user?: UserRequest;\n}\n\nexport interface ShowChannelResponse {\n duration: string;\n}\n\nexport interface SingleFollowResponse {\n duration: string;\n\n follow: FollowResponse;\n}\n\nexport interface SipInboundCredentials {\n call_id: string;\n\n call_type: string;\n\n token: string;\n\n user_id: string;\n\n call_custom_data: Record<string, any>;\n\n user_custom_data: Record<string, any>;\n}\n\nexport interface SortParam {\n direction?: number;\n\n field?: string;\n}\n\nexport interface SortParamRequest {\n direction?: number;\n\n field?: string;\n}\n\nexport interface SpeechSegmentConfig {\n max_speech_caption_ms?: number;\n\n silence_duration_ms?: number;\n}\n\nexport interface StartCampaignRequest {\n scheduled_for?: Date;\n\n stop_at?: Date;\n}\n\nexport interface StartCampaignResponse {\n duration: string;\n\n campaign?: CampaignResponse;\n\n users?: PagerResponse;\n}\n\nexport interface StartClosedCaptionsRequest {\n enable_transcription?: boolean;\n\n external_storage?: string;\n\n language?:\n | 'auto'\n | 'en'\n | 'fr'\n | 'es'\n | 'de'\n | 'it'\n | 'nl'\n | 'pt'\n | 'pl'\n | 'ca'\n | 'cs'\n | 'da'\n | 'el'\n | 'fi'\n | 'id'\n | 'ja'\n | 'ru'\n | 'sv'\n | 'ta'\n | 'th'\n | 'tr'\n | 'hu'\n | 'ro'\n | 'zh'\n | 'ar'\n | 'tl'\n | 'he'\n | 'hi'\n | 'hr'\n | 'ko'\n | 'ms'\n | 'no'\n | 'uk'\n | 'bg'\n | 'et'\n | 'sl'\n | 'sk';\n\n speech_segment_config?: SpeechSegmentConfig;\n}\n\nexport interface StartClosedCaptionsResponse {\n duration: string;\n}\n\nexport interface StartFrameRecordingRequest {\n recording_external_storage?: string;\n}\n\nexport interface StartFrameRecordingResponse {\n duration: string;\n}\n\nexport interface StartHLSBroadcastingRequest {}\n\nexport interface StartHLSBroadcastingResponse {\n duration: string;\n\n playlist_url: string;\n}\n\nexport interface StartRTMPBroadcastsRequest {\n broadcasts: RTMPBroadcastRequest[];\n}\n\nexport interface StartRTMPBroadcastsResponse {\n duration: string;\n}\n\nexport interface StartRecordingRequest {\n recording_external_storage?: string;\n}\n\nexport interface StartRecordingResponse {\n duration: string;\n}\n\nexport interface StartTranscriptionRequest {\n enable_closed_captions?: boolean;\n\n language?:\n | 'auto'\n | 'en'\n | 'fr'\n | 'es'\n | 'de'\n | 'it'\n | 'nl'\n | 'pt'\n | 'pl'\n | 'ca'\n | 'cs'\n | 'da'\n | 'el'\n | 'fi'\n | 'id'\n | 'ja'\n | 'ru'\n | 'sv'\n | 'ta'\n | 'th'\n | 'tr'\n | 'hu'\n | 'ro'\n | 'zh'\n | 'ar'\n | 'tl'\n | 'he'\n | 'hi'\n | 'hr'\n | 'ko'\n | 'ms'\n | 'no'\n | 'uk'\n | 'bg'\n | 'et'\n | 'sl'\n | 'sk';\n\n transcription_external_storage?: string;\n}\n\nexport interface StartTranscriptionResponse {\n duration: string;\n}\n\nexport interface StopAllRTMPBroadcastsRequest {}\n\nexport interface StopAllRTMPBroadcastsResponse {\n duration: string;\n}\n\nexport interface StopCampaignRequest {}\n\nexport interface StopClosedCaptionsRequest {\n stop_transcription?: boolean;\n}\n\nexport interface StopClosedCaptionsResponse {\n duration: string;\n}\n\nexport interface StopFrameRecordingRequest {}\n\nexport interface StopFrameRecordingResponse {\n duration: string;\n}\n\nexport interface StopHLSBroadcastingRequest {}\n\nexport interface StopHLSBroadcastingResponse {\n duration: string;\n}\n\nexport interface StopLiveRequest {\n continue_closed_caption?: boolean;\n\n continue_hls?: boolean;\n\n continue_recording?: boolean;\n\n continue_rtmp_broadcasts?: boolean;\n\n continue_transcription?: boolean;\n}\n\nexport interface StopLiveResponse {\n duration: string;\n\n call: CallResponse;\n}\n\nexport interface StopRTMPBroadcastsRequest {}\n\nexport interface StopRTMPBroadcastsResponse {\n duration: string;\n}\n\nexport interface StopRecordingRequest {}\n\nexport interface StopRecordingResponse {\n duration: string;\n}\n\nexport interface StopTranscriptionRequest {\n stop_closed_captions?: boolean;\n}\n\nexport interface StopTranscriptionResponse {\n duration: string;\n}\n\nexport interface StoriesConfig {\n skip_watched?: boolean;\n\n track_watched?: boolean;\n}\n\nexport interface StoriesFeedUpdatedEvent {\n created_at: Date;\n\n fid: string;\n\n custom: Record<string, any>;\n\n type: string;\n\n feed_visibility?: string;\n\n received_at?: Date;\n\n activities?: ActivityResponse[];\n\n aggregated_activities?: AggregatedActivityResponse[];\n\n user?: UserResponseCommonFields;\n}\n\nexport interface SubmitActionRequest {\n action_type:\n | 'mark_reviewed'\n | 'delete_message'\n | 'delete_activity'\n | 'delete_comment'\n | 'delete_reaction'\n | 'ban'\n | 'custom'\n | 'unban'\n | 'restore'\n | 'delete_user'\n | 'unblock'\n | 'block'\n | 'shadow_block'\n | 'unmask'\n | 'kick_user'\n | 'end_call';\n\n item_id: string;\n\n user_id?: string;\n\n ban?: BanActionRequest;\n\n block?: BlockActionRequest;\n\n custom?: CustomActionRequest;\n\n delete_activity?: DeleteActivityRequest;\n\n delete_comment?: DeleteCommentRequest;\n\n delete_message?: DeleteMessageRequest;\n\n delete_reaction?: DeleteReactionRequest;\n\n delete_user?: DeleteUserRequest;\n\n mark_reviewed?: MarkReviewedRequest;\n\n shadow_block?: ShadowBlockActionRequest;\n\n unban?: UnbanActionRequest;\n\n user?: UserRequest;\n}\n\nexport interface SubmitActionResponse {\n duration: string;\n\n item?: ReviewQueueItemResponse;\n}\n\nexport interface SubscriberAllMetrics {\n audio?: SubscriberAudioMetrics;\n\n rtt_ms?: ActiveCallsLatencyStats;\n\n video?: SubscriberVideoMetrics;\n}\n\nexport interface SubscriberAudioMetrics {\n concealment_pct?: ActiveCallsLatencyStats;\n\n jitter_ms?: ActiveCallsLatencyStats;\n\n packets_lost_pct?: ActiveCallsLatencyStats;\n}\n\nexport interface SubscriberStatsResponse {\n total: number;\n\n total_subscribed_duration_seconds: number;\n\n unique: number;\n}\n\nexport interface SubscriberVideoMetrics {\n fps_30?: ActiveCallsFPSStats;\n\n jitter_ms?: ActiveCallsLatencyStats;\n\n packets_lost_pct?: ActiveCallsLatencyStats;\n}\n\nexport interface SubscribersMetrics {\n all?: SubscriberAllMetrics;\n}\n\nexport interface TargetResolution {\n bitrate: number;\n\n height: number;\n\n width: number;\n}\n\nexport interface TextContentParameters {\n contains_url?: boolean;\n\n severity?: string;\n\n blocklist_match?: string[];\n\n harm_labels?: string[];\n\n llm_harm_labels?: Record<string, string>;\n}\n\nexport interface TextRuleParameters {\n contains_url?: boolean;\n\n severity?: string;\n\n threshold?: number;\n\n time_window?: string;\n\n blocklist_match?: string[];\n\n harm_labels?: string[];\n\n llm_harm_labels?: Record<string, string>;\n}\n\nexport interface ThreadParticipant {\n app_pk: number;\n\n channel_cid: string;\n\n created_at: Date;\n\n last_read_at: Date;\n\n custom: Record<string, any>;\n\n last_thread_message_at?: Date;\n\n left_thread_at?: Date;\n\n thread_id?: string;\n\n user_id?: string;\n\n user?: UserResponse;\n}\n\nexport interface ThreadResponse {\n active_participant_count: number;\n\n channel_cid: string;\n\n created_at: Date;\n\n created_by_user_id: string;\n\n parent_message_id: string;\n\n participant_count: number;\n\n title: string;\n\n updated_at: Date;\n\n custom: Record<string, any>;\n\n deleted_at?: Date;\n\n last_message_at?: Date;\n\n reply_count?: number;\n\n thread_participants?: ThreadParticipant[];\n\n channel?: ChannelResponse;\n\n created_by?: UserResponse;\n\n parent_message?: MessageResponse;\n}\n\nexport interface ThreadStateResponse {\n active_participant_count: number;\n\n channel_cid: string;\n\n created_at: Date;\n\n created_by_user_id: string;\n\n parent_message_id: string;\n\n participant_count: number;\n\n title: string;\n\n updated_at: Date;\n\n latest_replies: MessageResponse[];\n\n custom: Record<string, any>;\n\n deleted_at?: Date;\n\n last_message_at?: Date;\n\n reply_count?: number;\n\n read?: ReadStateResponse[];\n\n thread_participants?: ThreadParticipant[];\n\n channel?: ChannelResponse;\n\n created_by?: UserResponse;\n\n draft?: DraftResponse;\n\n parent_message?: MessageResponse;\n}\n\nexport interface ThreadUpdatedEvent {\n channel_id: string;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n type: string;\n\n thread?: ThreadResponse;\n\n user?: User;\n}\n\nexport interface ThreadedCommentResponse {\n confidence_score: number;\n\n created_at: Date;\n\n downvote_count: number;\n\n id: string;\n\n object_id: string;\n\n object_type: string;\n\n reaction_count: number;\n\n reply_count: number;\n\n score: number;\n\n status: string;\n\n updated_at: Date;\n\n upvote_count: number;\n\n mentioned_users: UserResponse[];\n\n own_reactions: FeedsReactionResponse[];\n\n user: UserResponse;\n\n controversy_score?: number;\n\n deleted_at?: Date;\n\n parent_id?: string;\n\n text?: string;\n\n attachments?: Attachment[];\n\n latest_reactions?: FeedsReactionResponse[];\n\n replies?: ThreadedCommentResponse[];\n\n custom?: Record<string, any>;\n\n meta?: RepliesMeta;\n\n moderation?: ModerationV2Response;\n\n reaction_groups?: Record<string, ReactionGroupResponse>;\n}\n\nexport interface Thresholds {\n explicit?: LabelThresholds;\n\n spam?: LabelThresholds;\n\n toxic?: LabelThresholds;\n}\n\nexport interface ThumbnailResponse {\n image_url: string;\n}\n\nexport interface ThumbnailsSettings {\n enabled: boolean;\n}\n\nexport interface ThumbnailsSettingsRequest {\n enabled?: boolean;\n}\n\nexport interface ThumbnailsSettingsResponse {\n enabled: boolean;\n}\n\nexport interface Time {}\n\nexport interface TrackStatsResponse {\n duration_seconds: number;\n\n track_type: string;\n}\n\nexport interface TranscriptionSettings {\n closed_caption_mode: 'available' | 'disabled' | 'auto-on';\n\n language:\n | 'auto'\n | 'en'\n | 'fr'\n | 'es'\n | 'de'\n | 'it'\n | 'nl'\n | 'pt'\n | 'pl'\n | 'ca'\n | 'cs'\n | 'da'\n | 'el'\n | 'fi'\n | 'id'\n | 'ja'\n | 'ru'\n | 'sv'\n | 'ta'\n | 'th'\n | 'tr'\n | 'hu'\n | 'ro'\n | 'zh'\n | 'ar'\n | 'tl'\n | 'he'\n | 'hi'\n | 'hr'\n | 'ko'\n | 'ms'\n | 'no'\n | 'uk'\n | 'bg'\n | 'et'\n | 'sl'\n | 'sk';\n\n mode: 'available' | 'disabled' | 'auto-on';\n\n speech_segment_config?: SpeechSegmentConfig;\n\n translation?: TranslationSettings;\n}\n\nexport interface TranscriptionSettingsRequest {\n closed_caption_mode?: 'available' | 'disabled' | 'auto-on';\n\n language?:\n | 'auto'\n | 'en'\n | 'fr'\n | 'es'\n | 'de'\n | 'it'\n | 'nl'\n | 'pt'\n | 'pl'\n | 'ca'\n | 'cs'\n | 'da'\n | 'el'\n | 'fi'\n | 'id'\n | 'ja'\n | 'ru'\n | 'sv'\n | 'ta'\n | 'th'\n | 'tr'\n | 'hu'\n | 'ro'\n | 'zh'\n | 'ar'\n | 'tl'\n | 'he'\n | 'hi'\n | 'hr'\n | 'ko'\n | 'ms'\n | 'no'\n | 'uk'\n | 'bg'\n | 'et'\n | 'sl'\n | 'sk';\n\n mode?: 'available' | 'disabled' | 'auto-on';\n\n speech_segment_config?: SpeechSegmentConfig;\n\n translation?: TranslationSettings;\n}\n\nexport interface TranscriptionSettingsResponse {\n closed_caption_mode: 'available' | 'disabled' | 'auto-on';\n\n language:\n | 'auto'\n | 'en'\n | 'fr'\n | 'es'\n | 'de'\n | 'it'\n | 'nl'\n | 'pt'\n | 'pl'\n | 'ca'\n | 'cs'\n | 'da'\n | 'el'\n | 'fi'\n | 'id'\n | 'ja'\n | 'ru'\n | 'sv'\n | 'ta'\n | 'th'\n | 'tr'\n | 'hu'\n | 'ro'\n | 'zh'\n | 'ar'\n | 'tl'\n | 'he'\n | 'hi'\n | 'hr'\n | 'ko'\n | 'ms'\n | 'no'\n | 'uk'\n | 'bg'\n | 'et'\n | 'sl'\n | 'sk';\n\n mode: 'available' | 'disabled' | 'auto-on';\n\n speech_segment_config?: SpeechSegmentConfig;\n\n translation?: TranslationSettings;\n}\n\nexport interface TranslateMessageRequest {\n language:\n | 'af'\n | 'sq'\n | 'am'\n | 'ar'\n | 'az'\n | 'bn'\n | 'bs'\n | 'bg'\n | 'zh'\n | 'zh-TW'\n | 'hr'\n | 'cs'\n | 'da'\n | 'fa-AF'\n | 'nl'\n | 'en'\n | 'et'\n | 'fi'\n | 'fr'\n | 'fr-CA'\n | 'ka'\n | 'de'\n | 'el'\n | 'ha'\n | 'he'\n | 'hi'\n | 'hu'\n | 'id'\n | 'it'\n | 'ja'\n | 'ko'\n | 'lv'\n | 'ms'\n | 'no'\n | 'fa'\n | 'ps'\n | 'pl'\n | 'pt'\n | 'ro'\n | 'ru'\n | 'sr'\n | 'sk'\n | 'sl'\n | 'so'\n | 'es'\n | 'es-MX'\n | 'sw'\n | 'sv'\n | 'tl'\n | 'ta'\n | 'th'\n | 'tr'\n | 'uk'\n | 'ur'\n | 'vi'\n | 'lt'\n | 'ht';\n}\n\nexport interface TranslationSettings {\n enabled: boolean;\n\n languages: string[];\n}\n\nexport interface TruncateChannelRequest {\n hard_delete?: boolean;\n\n skip_push?: boolean;\n\n truncated_at?: Date;\n\n user_id?: string;\n\n member_ids?: string[];\n\n message?: MessageRequest;\n\n user?: UserRequest;\n}\n\nexport interface TruncateChannelResponse {\n duration: string;\n\n channel?: ChannelResponse;\n\n message?: MessageResponse;\n}\n\nexport interface TypingIndicators {\n enabled?: boolean;\n}\n\nexport interface TypingIndicatorsResponse {\n enabled?: boolean;\n}\n\nexport interface UnbanActionRequest {}\n\nexport interface UnbanRequest {\n unbanned_by_id?: string;\n\n unbanned_by?: UserRequest;\n}\n\nexport interface UnbanResponse {\n duration: string;\n}\n\nexport interface UnblockActionRequest {}\n\nexport interface UnblockUserRequest {\n user_id: string;\n}\n\nexport interface UnblockUserResponse {\n duration: string;\n}\n\nexport interface UnblockUsersRequest {\n blocked_user_id: string;\n\n user_id?: string;\n\n user?: UserRequest;\n}\n\nexport interface UnblockUsersResponse {\n duration: string;\n}\n\nexport interface UnblockedUserEvent {\n call_cid: string;\n\n created_at: Date;\n\n user: UserResponse;\n\n type: string;\n}\n\nexport interface UnfollowBatchRequest {\n follows: FollowPair[];\n}\n\nexport interface UnfollowBatchResponse {\n duration: string;\n\n follows: FollowResponse[];\n}\n\nexport interface UnfollowResponse {\n duration: string;\n\n follow: FollowResponse;\n}\n\nexport interface UnmuteChannelRequest {\n expiration?: number;\n\n user_id?: string;\n\n channel_cids?: string[];\n\n user?: UserRequest;\n}\n\nexport interface UnmuteRequest {\n target_ids: string[];\n\n user_id?: string;\n\n user?: UserRequest;\n}\n\nexport interface UnmuteResponse {\n duration: string;\n\n non_existing_users?: string[];\n}\n\nexport interface UnpinActivityResponse {\n duration: string;\n\n feed: string;\n\n user_id: string;\n\n activity: ActivityResponse;\n}\n\nexport interface UnpinRequest {\n session_id: string;\n\n user_id: string;\n}\n\nexport interface UnpinResponse {\n duration: string;\n}\n\nexport interface UnreadCountsBatchRequest {\n user_ids: string[];\n}\n\nexport interface UnreadCountsBatchResponse {\n duration: string;\n\n counts_by_user: Record<string, UnreadCountsResponse>;\n}\n\nexport interface UnreadCountsChannel {\n channel_id: string;\n\n last_read: Date;\n\n unread_count: number;\n}\n\nexport interface UnreadCountsChannelType {\n channel_count: number;\n\n channel_type: string;\n\n unread_count: number;\n}\n\nexport interface UnreadCountsResponse {\n total_unread_count: number;\n\n total_unread_threads_count: number;\n\n channel_type: UnreadCountsChannelType[];\n\n channels: UnreadCountsChannel[];\n\n threads: UnreadCountsThread[];\n\n total_unread_count_by_team?: Record<string, number>;\n}\n\nexport interface UnreadCountsThread {\n last_read: Date;\n\n last_read_message_id: string;\n\n parent_message_id: string;\n\n unread_count: number;\n}\n\nexport interface UpdateActivityPartialRequest {\n user_id?: string;\n\n unset?: string[];\n\n set?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface UpdateActivityPartialResponse {\n duration: string;\n\n activity: ActivityResponse;\n}\n\nexport interface UpdateActivityRequest {\n expires_at?: Date;\n\n poll_id?: string;\n\n restrict_replies?: 'everyone' | 'people_i_follow' | 'nobody';\n\n text?: string;\n\n user_id?: string;\n\n visibility?: string;\n\n attachments?: Attachment[];\n\n collection_refs?: string[];\n\n feeds?: string[];\n\n filter_tags?: string[];\n\n interest_tags?: string[];\n\n custom?: Record<string, any>;\n\n location?: ActivityLocation;\n\n user?: UserRequest;\n}\n\nexport interface UpdateActivityResponse {\n duration: string;\n\n activity: ActivityResponse;\n}\n\nexport interface UpdateAppRequest {\n async_url_enrich_enabled?: boolean;\n\n auto_translation_enabled?: boolean;\n\n before_message_send_hook_url?: string;\n\n cdn_expiration_seconds?: number;\n\n channel_hide_members_only?: boolean;\n\n custom_action_handler_url?: string;\n\n disable_auth_checks?: boolean;\n\n disable_permissions_checks?: boolean;\n\n enforce_unique_usernames?: 'no' | 'app' | 'team';\n\n feeds_moderation_enabled?: boolean;\n\n feeds_v2_region?: string;\n\n guest_user_creation_disabled?: boolean;\n\n image_moderation_enabled?: boolean;\n\n max_aggregated_activities_length?: number;\n\n migrate_permissions_to_v2?: boolean;\n\n moderation_enabled?: boolean;\n\n moderation_webhook_url?: string;\n\n multi_tenant_enabled?: boolean;\n\n permission_version?: 'v1' | 'v2';\n\n reminders_interval?: number;\n\n reminders_max_members?: number;\n\n revoke_tokens_issued_before?: Date;\n\n sns_key?: string;\n\n sns_secret?: string;\n\n sns_topic_arn?: string;\n\n sqs_key?: string;\n\n sqs_secret?: string;\n\n sqs_url?: string;\n\n user_response_time_enabled?: boolean;\n\n webhook_url?: string;\n\n allowed_flag_reasons?: string[];\n\n event_hooks?: EventHook[];\n\n image_moderation_block_labels?: string[];\n\n image_moderation_labels?: string[];\n\n user_search_disallowed_roles?: string[];\n\n webhook_events?: string[];\n\n apn_config?: APNConfig;\n\n async_moderation_config?: AsyncModerationConfiguration;\n\n datadog_info?: DataDogInfo;\n\n file_upload_config?: FileUploadConfig;\n\n firebase_config?: FirebaseConfig;\n\n grants?: Record<string, string[]>;\n\n huawei_config?: HuaweiConfig;\n\n image_upload_config?: FileUploadConfig;\n\n moderation_dashboard_preferences?: ModerationDashboardPreferences;\n\n push_config?: PushConfig;\n\n xiaomi_config?: XiaomiConfig;\n}\n\nexport interface UpdateBlockListRequest {\n is_leet_check_enabled?: boolean;\n\n is_plural_check_enabled?: boolean;\n\n team?: string;\n\n words?: string[];\n}\n\nexport interface UpdateBlockListResponse {\n duration: string;\n\n blocklist?: BlockListResponse;\n}\n\nexport interface UpdateBookmarkFolderRequest {\n name?: string;\n\n user_id?: string;\n\n custom?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface UpdateBookmarkFolderResponse {\n duration: string;\n\n bookmark_folder: BookmarkFolderResponse;\n}\n\nexport interface UpdateBookmarkRequest {\n folder_id?: string;\n\n new_folder_id?: string;\n\n user_id?: string;\n\n custom?: Record<string, any>;\n\n new_folder?: AddFolderRequest;\n\n user?: UserRequest;\n}\n\nexport interface UpdateBookmarkResponse {\n duration: string;\n\n bookmark: BookmarkResponse;\n}\n\nexport interface UpdateCallMembersRequest {\n remove_members?: string[];\n\n update_members?: MemberRequest[];\n}\n\nexport interface UpdateCallMembersResponse {\n duration: string;\n\n members: MemberResponse[];\n}\n\nexport interface UpdateCallRequest {\n starts_at?: Date;\n\n custom?: Record<string, any>;\n\n settings_override?: CallSettingsRequest;\n}\n\nexport interface UpdateCallResponse {\n duration: string;\n\n members: MemberResponse[];\n\n own_capabilities: OwnCapability[];\n\n call: CallResponse;\n}\n\nexport interface UpdateCallTypeRequest {\n external_storage?: string;\n\n grants?: Record<string, string[]>;\n\n notification_settings?: NotificationSettings;\n\n settings?: CallSettingsRequest;\n}\n\nexport interface UpdateCallTypeResponse {\n created_at: Date;\n\n duration: string;\n\n name: string;\n\n updated_at: Date;\n\n grants: Record<string, string[]>;\n\n notification_settings: NotificationSettings;\n\n settings: CallSettingsResponse;\n\n external_storage?: string;\n}\n\nexport interface UpdateChannelPartialRequest {\n user_id?: string;\n\n unset?: string[];\n\n set?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface UpdateChannelPartialResponse {\n duration: string;\n\n members: ChannelMemberResponse[];\n\n channel?: ChannelResponse;\n}\n\nexport interface UpdateChannelRequest {\n accept_invite?: boolean;\n\n cooldown?: number;\n\n hide_history?: boolean;\n\n hide_history_before?: Date;\n\n reject_invite?: boolean;\n\n skip_push?: boolean;\n\n user_id?: string;\n\n add_filter_tags?: string[];\n\n add_members?: ChannelMemberRequest[];\n\n add_moderators?: string[];\n\n assign_roles?: ChannelMemberRequest[];\n\n demote_moderators?: string[];\n\n invites?: ChannelMemberRequest[];\n\n remove_filter_tags?: string[];\n\n remove_members?: string[];\n\n data?: ChannelInputRequest;\n\n message?: MessageRequest;\n\n user?: UserRequest;\n}\n\nexport interface UpdateChannelResponse {\n duration: string;\n\n members: ChannelMemberResponse[];\n\n channel?: ChannelResponse;\n\n message?: MessageResponse;\n}\n\nexport interface UpdateChannelTypeRequest {\n automod: 'disabled' | 'simple' | 'AI';\n\n automod_behavior: 'flag' | 'block' | 'shadow_block';\n\n max_message_length: number;\n\n blocklist?: string;\n\n blocklist_behavior?: 'flag' | 'block' | 'shadow_block';\n\n connect_events?: boolean;\n\n count_messages?: boolean;\n\n custom_events?: boolean;\n\n delivery_events?: boolean;\n\n mark_messages_pending?: boolean;\n\n mutes?: boolean;\n\n partition_size?: number;\n\n partition_ttl?: string;\n\n polls?: boolean;\n\n push_notifications?: boolean;\n\n quotes?: boolean;\n\n reactions?: boolean;\n\n read_events?: boolean;\n\n reminders?: boolean;\n\n replies?: boolean;\n\n search?: boolean;\n\n shared_locations?: boolean;\n\n skip_last_msg_update_for_system_msgs?: boolean;\n\n typing_events?: boolean;\n\n uploads?: boolean;\n\n url_enrichment?: boolean;\n\n user_message_reminders?: boolean;\n\n allowed_flag_reasons?: string[];\n\n blocklists?: BlockListOptions[];\n\n commands?: string[];\n\n permissions?: PolicyRequest[];\n\n automod_thresholds?: Thresholds;\n\n grants?: Record<string, string[]>;\n}\n\nexport interface UpdateChannelTypeResponse {\n automod: 'disabled' | 'simple' | 'AI';\n\n automod_behavior: 'flag' | 'block' | 'shadow_block';\n\n connect_events: boolean;\n\n count_messages: boolean;\n\n created_at: Date;\n\n custom_events: boolean;\n\n delivery_events: boolean;\n\n duration: string;\n\n mark_messages_pending: boolean;\n\n max_message_length: number;\n\n mutes: boolean;\n\n name: string;\n\n polls: boolean;\n\n push_notifications: boolean;\n\n quotes: boolean;\n\n reactions: boolean;\n\n read_events: boolean;\n\n reminders: boolean;\n\n replies: boolean;\n\n search: boolean;\n\n shared_locations: boolean;\n\n skip_last_msg_update_for_system_msgs: boolean;\n\n typing_events: boolean;\n\n updated_at: Date;\n\n uploads: boolean;\n\n url_enrichment: boolean;\n\n user_message_reminders: boolean;\n\n commands: string[];\n\n permissions: PolicyRequest[];\n\n grants: Record<string, string[]>;\n\n blocklist?: string;\n\n blocklist_behavior?: 'flag' | 'block' | 'shadow_block';\n\n partition_size?: number;\n\n partition_ttl?: string;\n\n allowed_flag_reasons?: string[];\n\n blocklists?: BlockListOptions[];\n\n automod_thresholds?: Thresholds;\n}\n\nexport interface UpdateCollectionRequest {\n id: string;\n\n name: string;\n\n custom: Record<string, any>;\n}\n\nexport interface UpdateCollectionsRequest {\n collections: UpdateCollectionRequest[];\n\n user_id?: string;\n\n user?: UserRequest;\n}\n\nexport interface UpdateCollectionsResponse {\n duration: string;\n\n collections: CollectionResponse[];\n}\n\nexport interface UpdateCommandRequest {\n description: string;\n\n args?: string;\n\n set?: string;\n}\n\nexport interface UpdateCommandResponse {\n duration: string;\n\n command?: Command;\n}\n\nexport interface UpdateCommentRequest {\n comment?: string;\n\n skip_push?: boolean;\n\n user_id?: string;\n\n custom?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface UpdateCommentResponse {\n duration: string;\n\n comment: CommentResponse;\n}\n\nexport interface UpdateExternalStorageRequest {\n bucket: string;\n\n storage_type: 's3' | 'gcs' | 'abs';\n\n gcs_credentials?: string;\n\n path?: string;\n\n aws_s3?: S3Request;\n\n azure_blob?: AzureRequest;\n}\n\nexport interface UpdateExternalStorageResponse {\n bucket: string;\n\n duration: string;\n\n name: string;\n\n path: string;\n\n type: 's3' | 'gcs' | 'abs';\n}\n\nexport interface UpdateFeedGroupRequest {\n default_visibility?:\n | 'public'\n | 'visible'\n | 'followers'\n | 'members'\n | 'private';\n\n activity_processors?: ActivityProcessorConfig[];\n\n activity_selectors?: ActivitySelectorConfig[];\n\n aggregation?: AggregationConfig;\n\n custom?: Record<string, any>;\n\n notification?: NotificationConfig;\n\n push_notification?: PushNotificationConfig;\n\n ranking?: RankingConfig;\n\n stories?: StoriesConfig;\n}\n\nexport interface UpdateFeedGroupResponse {\n duration: string;\n\n feed_group: FeedGroupResponse;\n}\n\nexport interface UpdateFeedMembersRequest {\n operation: 'upsert' | 'remove' | 'set';\n\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n members?: FeedMemberRequest[];\n}\n\nexport interface UpdateFeedMembersResponse {\n duration: string;\n\n added: FeedMemberResponse[];\n\n removed_ids: string[];\n\n updated: FeedMemberResponse[];\n}\n\nexport interface UpdateFeedRequest {\n created_by_id?: string;\n\n custom?: Record<string, any>;\n}\n\nexport interface UpdateFeedResponse {\n duration: string;\n\n feed: FeedResponse;\n}\n\nexport interface UpdateFeedViewRequest {\n activity_selectors?: ActivitySelectorConfig[];\n\n aggregation?: AggregationConfig;\n\n ranking?: RankingConfig;\n}\n\nexport interface UpdateFeedViewResponse {\n duration: string;\n\n feed_view: FeedViewResponse;\n}\n\nexport interface UpdateFeedVisibilityRequest {\n grants?: Record<string, string[]>;\n}\n\nexport interface UpdateFeedVisibilityResponse {\n duration: string;\n\n feed_visibility: FeedVisibilityResponse;\n}\n\nexport interface UpdateFollowRequest {\n source: string;\n\n target: string;\n\n create_notification_activity?: boolean;\n\n follower_role?: string;\n\n push_preference?: 'all' | 'none';\n\n skip_push?: boolean;\n\n custom?: Record<string, any>;\n}\n\nexport interface UpdateFollowResponse {\n duration: string;\n\n follow: FollowResponse;\n}\n\nexport interface UpdateLiveLocationRequest {\n message_id: string;\n\n end_at?: Date;\n\n latitude?: number;\n\n longitude?: number;\n}\n\nexport interface UpdateMemberPartialRequest {\n unset?: string[];\n\n set?: Record<string, any>;\n}\n\nexport interface UpdateMemberPartialResponse {\n duration: string;\n\n channel_member?: ChannelMemberResponse;\n}\n\nexport interface UpdateMembershipLevelRequest {\n description?: string;\n\n name?: string;\n\n priority?: number;\n\n tags?: string[];\n\n custom?: Record<string, any>;\n}\n\nexport interface UpdateMembershipLevelResponse {\n duration: string;\n\n membership_level: MembershipLevelResponse;\n}\n\nexport interface UpdateMessagePartialRequest {\n skip_enrich_url?: boolean;\n\n user_id?: string;\n\n unset?: string[];\n\n set?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface UpdateMessagePartialResponse {\n duration: string;\n\n message?: MessageResponse;\n\n pending_message_metadata?: Record<string, string>;\n}\n\nexport interface UpdateMessageRequest {\n message: MessageRequest;\n\n skip_enrich_url?: boolean;\n\n skip_push?: boolean;\n}\n\nexport interface UpdateMessageResponse {\n duration: string;\n\n message: MessageResponse;\n\n pending_message_metadata?: Record<string, string>;\n}\n\nexport interface UpdatePollOptionRequest {\n id: string;\n\n text: string;\n\n user_id?: string;\n\n custom?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface UpdatePollPartialRequest {\n user_id?: string;\n\n unset?: string[];\n\n set?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface UpdatePollRequest {\n id: string;\n\n name: string;\n\n allow_answers?: boolean;\n\n allow_user_suggested_options?: boolean;\n\n description?: string;\n\n enforce_unique_vote?: boolean;\n\n is_closed?: boolean;\n\n max_votes_allowed?: number;\n\n user_id?: string;\n\n voting_visibility?: 'anonymous' | 'public';\n\n options?: PollOptionRequest[];\n\n custom?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface UpdateReminderRequest {\n remind_at?: Date;\n\n user_id?: string;\n\n user?: UserRequest;\n}\n\nexport interface UpdateReminderResponse {\n duration: string;\n\n reminder: ReminderResponseData;\n}\n\nexport interface UpdateSIPInboundRoutingRuleRequest {\n name: string;\n\n called_numbers: string[];\n\n trunk_ids: string[];\n\n caller_configs: SIPCallerConfigsRequest;\n\n caller_numbers?: string[];\n\n call_configs?: SIPCallConfigsRequest;\n\n direct_routing_configs?: SIPDirectRoutingRuleCallConfigsRequest;\n\n pin_protection_configs?: SIPPinProtectionConfigsRequest;\n\n pin_routing_configs?: SIPInboundRoutingRulePinConfigsRequest;\n}\n\nexport interface UpdateSIPInboundRoutingRuleResponse {\n duration: string;\n\n sip_inbound_routing_rule?: SIPInboundRoutingRuleResponse;\n}\n\nexport interface UpdateSIPTrunkRequest {\n name: string;\n\n numbers: string[];\n}\n\nexport interface UpdateSIPTrunkResponse {\n duration: string;\n\n sip_trunk?: SIPTrunkResponse;\n}\n\nexport interface UpdateThreadPartialRequest {\n user_id?: string;\n\n unset?: string[];\n\n set?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface UpdateThreadPartialResponse {\n duration: string;\n\n thread: ThreadResponse;\n}\n\nexport interface UpdateUserPartialRequest {\n id: string;\n\n unset?: string[];\n\n set?: Record<string, any>;\n}\n\nexport interface UpdateUserPermissionsRequest {\n user_id: string;\n\n grant_permissions?: string[];\n\n revoke_permissions?: string[];\n}\n\nexport interface UpdateUserPermissionsResponse {\n duration: string;\n}\n\nexport interface UpdateUsersPartialRequest {\n users: UpdateUserPartialRequest[];\n}\n\nexport interface UpdateUsersRequest {\n users: Record<string, UserRequest>;\n}\n\nexport interface UpdateUsersResponse {\n duration: string;\n\n membership_deletion_task_id: string;\n\n users: Record<string, FullUserResponse>;\n}\n\nexport interface UpdatedCallPermissionsEvent {\n call_cid: string;\n\n created_at: Date;\n\n own_capabilities: OwnCapability[];\n\n user: UserResponse;\n\n type: string;\n}\n\nexport interface UploadChannelFileRequest {\n file?: string;\n\n user?: OnlyUserID;\n}\n\nexport interface UploadChannelFileResponse {\n duration: string;\n\n file?: string;\n\n moderation_action?: string;\n\n thumb_url?: string;\n}\n\nexport interface UploadChannelRequest {\n file?: string;\n\n upload_sizes?: ImageSize[];\n\n user?: OnlyUserID;\n}\n\nexport interface UploadChannelResponse {\n duration: string;\n\n file?: string;\n\n moderation_action?: string;\n\n thumb_url?: string;\n\n upload_sizes?: ImageSize[];\n}\n\nexport interface UpsertActivitiesRequest {\n activities: ActivityRequest[];\n}\n\nexport interface UpsertActivitiesResponse {\n duration: string;\n\n activities: ActivityResponse[];\n}\n\nexport interface UpsertCollectionsRequest {\n collections: CollectionRequest[];\n}\n\nexport interface UpsertCollectionsResponse {\n duration: string;\n\n collections: CollectionResponse[];\n}\n\nexport interface UpsertConfigRequest {\n key: string;\n\n async?: boolean;\n\n team?: string;\n\n user_id?: string;\n\n ai_image_config?: AIImageConfig;\n\n ai_text_config?: AITextConfig;\n\n ai_video_config?: AIVideoConfig;\n\n automod_platform_circumvention_config?: AutomodPlatformCircumventionConfig;\n\n automod_semantic_filters_config?: AutomodSemanticFiltersConfig;\n\n automod_toxicity_config?: AutomodToxicityConfig;\n\n aws_rekognition_config?: AIImageConfig;\n\n block_list_config?: BlockListConfig;\n\n bodyguard_config?: AITextConfig;\n\n google_vision_config?: GoogleVisionConfig;\n\n llm_config?: LLMConfig;\n\n rule_builder_config?: RuleBuilderConfig;\n\n user?: UserRequest;\n\n velocity_filter_config?: VelocityFilterConfig;\n\n video_call_rule_config?: VideoCallRuleConfig;\n}\n\nexport interface UpsertConfigResponse {\n duration: string;\n\n config?: ConfigResponse;\n}\n\nexport interface UpsertModerationRuleRequest {\n name: string;\n\n rule_type: string;\n\n action: RuleBuilderAction;\n\n cooldown_period?: string;\n\n description?: string;\n\n enabled?: boolean;\n\n logic?: string;\n\n team?: string;\n\n conditions?: RuleBuilderCondition[];\n\n config_keys?: string[];\n\n groups?: RuleBuilderConditionGroup[];\n}\n\nexport interface UpsertModerationRuleResponse {\n duration: string;\n\n rule?: ModerationRuleV2Response;\n}\n\nexport interface UpsertModerationTemplateRequest {\n name: string;\n\n config: FeedsModerationTemplateConfig;\n}\n\nexport interface UpsertModerationTemplateResponse {\n created_at: Date;\n\n duration: string;\n\n name: string;\n\n updated_at: Date;\n\n config?: FeedsModerationTemplateConfig;\n}\n\nexport interface UpsertPushPreferencesRequest {\n preferences: PushPreferenceInput[];\n}\n\nexport interface UpsertPushPreferencesResponse {\n duration: string;\n\n user_channel_preferences: Record<\n string,\n Record<string, ChannelPushPreferences | null>\n >;\n\n user_preferences: Record<string, PushPreferences>;\n}\n\nexport interface UpsertPushProviderRequest {\n push_provider?: PushProvider;\n}\n\nexport interface UpsertPushProviderResponse {\n duration: string;\n\n push_provider: PushProviderResponse;\n}\n\nexport interface UpsertPushTemplateRequest {\n event_type:\n | 'message.new'\n | 'message.updated'\n | 'reaction.new'\n | 'notification.reminder_due'\n | 'feeds.activity.added'\n | 'feeds.comment.added'\n | 'feeds.activity.reaction.added'\n | 'feeds.comment.reaction.added'\n | 'feeds.follow.created'\n | 'feeds.notification_feed.updated';\n\n push_provider_type: 'firebase' | 'apn' | 'huawei' | 'xiaomi';\n\n enable_push?: boolean;\n\n push_provider_name?: string;\n\n template?: string;\n}\n\nexport interface UpsertPushTemplateResponse {\n duration: string;\n\n template?: PushTemplate;\n}\n\nexport interface User {\n id: string;\n\n ban_expires?: Date;\n\n banned?: boolean;\n\n invisible?: boolean;\n\n language?: string;\n\n revoke_tokens_issued_before?: Date;\n\n role?: string;\n\n teams?: string[];\n\n custom?: Record<string, any>;\n\n privacy_settings?: PrivacySettings;\n\n teams_role?: Record<string, string>;\n}\n\nexport interface UserBannedEvent {\n channel_id: string;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n shadow: boolean;\n\n created_by: User;\n\n type: string;\n\n expiration?: Date;\n\n reason?: string;\n\n team?: string;\n\n user?: User;\n}\n\nexport interface UserCreatedWithinParameters {\n max_age?: string;\n}\n\nexport interface UserCustomEventRequest {\n type: string;\n\n custom?: Record<string, any>;\n}\n\nexport interface UserCustomPropertyParameters {\n operator?: string;\n\n property_key?: string;\n}\n\nexport interface UserDeactivatedEvent {\n created_at: Date;\n\n created_by: User;\n\n type: string;\n\n user?: User;\n}\n\nexport interface UserDeletedEvent {\n created_at: Date;\n\n delete_conversation_channels: boolean;\n\n hard_delete: boolean;\n\n mark_messages_deleted: boolean;\n\n type: string;\n\n user?: User;\n}\n\nexport interface UserFeedbackReport {\n unreported_count: number;\n\n count_by_rating: Record<string, number>;\n}\n\nexport interface UserFeedbackReportResponse {\n daily: DailyAggregateUserFeedbackReportResponse[];\n}\n\nexport interface UserFeedbackResponse {\n cid: string;\n\n rating: number;\n\n reason: string;\n\n sdk: string;\n\n sdk_version: string;\n\n session_id: string;\n\n user_id: string;\n\n platform: PlatformDataResponse;\n\n custom?: Record<string, any>;\n}\n\nexport interface UserFlaggedEvent {\n created_at: Date;\n\n type: string;\n\n target_user?: string;\n\n target_users?: string[];\n\n user?: User;\n}\n\nexport interface UserMessagesDeletedEvent {\n created_at: Date;\n\n custom: Record<string, any>;\n\n user: UserResponseCommonFields;\n\n type: string;\n\n channel_id?: string;\n\n channel_member_count?: number;\n\n channel_message_count?: number;\n\n channel_type?: string;\n\n cid?: string;\n\n hard_delete?: boolean;\n\n received_at?: Date;\n\n team?: string;\n\n channel_custom?: Record<string, any>;\n}\n\nexport interface UserMute {\n created_at: Date;\n\n updated_at: Date;\n\n expires?: Date;\n\n target?: User;\n\n user?: User;\n}\n\nexport interface UserMuteResponse {\n created_at: Date;\n\n updated_at: Date;\n\n expires?: Date;\n\n target?: UserResponse;\n\n user?: UserResponse;\n}\n\nexport interface UserMutedEvent {\n created_at: Date;\n\n type: string;\n\n target_user?: string;\n\n target_users?: string[];\n\n user?: User;\n}\n\nexport interface UserRatingReportResponse {\n average: number;\n\n count: number;\n}\n\nexport interface UserReactivatedEvent {\n created_at: Date;\n\n type: string;\n\n user?: User;\n}\n\nexport interface UserRequest {\n id: string;\n\n image?: string;\n\n invisible?: boolean;\n\n language?: string;\n\n name?: string;\n\n role?: string;\n\n teams?: string[];\n\n custom?: Record<string, any>;\n\n privacy_settings?: PrivacySettingsResponse;\n\n teams_role?: Record<string, string>;\n}\n\nexport interface UserResponse {\n banned: boolean;\n\n created_at: Date;\n\n id: string;\n\n invisible: boolean;\n\n language: string;\n\n online: boolean;\n\n role: string;\n\n shadow_banned: boolean;\n\n updated_at: Date;\n\n blocked_user_ids: string[];\n\n teams: string[];\n\n custom: Record<string, any>;\n\n avg_response_time?: number;\n\n ban_expires?: Date;\n\n deactivated_at?: Date;\n\n deleted_at?: Date;\n\n image?: string;\n\n last_active?: Date;\n\n name?: string;\n\n revoke_tokens_issued_before?: Date;\n\n devices?: DeviceResponse[];\n\n privacy_settings?: PrivacySettingsResponse;\n\n push_notifications?: PushNotificationSettingsResponse;\n\n teams_role?: Record<string, string>;\n}\n\nexport interface UserResponseCommonFields {\n banned: boolean;\n\n created_at: Date;\n\n id: string;\n\n language: string;\n\n online: boolean;\n\n role: string;\n\n updated_at: Date;\n\n blocked_user_ids: string[];\n\n teams: string[];\n\n custom: Record<string, any>;\n\n avg_response_time?: number;\n\n deactivated_at?: Date;\n\n deleted_at?: Date;\n\n image?: string;\n\n last_active?: Date;\n\n name?: string;\n\n revoke_tokens_issued_before?: Date;\n\n teams_role?: Record<string, string>;\n}\n\nexport interface UserResponsePrivacyFields {\n banned: boolean;\n\n created_at: Date;\n\n id: string;\n\n language: string;\n\n online: boolean;\n\n role: string;\n\n updated_at: Date;\n\n blocked_user_ids: string[];\n\n teams: string[];\n\n custom: Record<string, any>;\n\n avg_response_time?: number;\n\n deactivated_at?: Date;\n\n deleted_at?: Date;\n\n image?: string;\n\n invisible?: boolean;\n\n last_active?: Date;\n\n name?: string;\n\n revoke_tokens_issued_before?: Date;\n\n privacy_settings?: PrivacySettingsResponse;\n\n teams_role?: Record<string, string>;\n}\n\nexport interface UserRuleParameters {\n max_age?: string;\n}\n\nexport interface UserUnbannedEvent {\n channel_id: string;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n shadow: boolean;\n\n type: string;\n\n team?: string;\n\n user?: User;\n}\n\nexport interface UserUnmutedEvent {\n created_at: Date;\n\n type: string;\n\n target_user?: string;\n\n target_users?: string[];\n\n user?: User;\n}\n\nexport interface UserUnreadReminderEvent {\n created_at: Date;\n\n channels: Record<string, ChannelMessages>;\n\n type: string;\n\n user?: User;\n}\n\nexport interface UserUpdatedEvent {\n created_at: Date;\n\n custom: Record<string, any>;\n\n user: UserResponsePrivacyFields;\n\n type: string;\n\n received_at?: Date;\n}\n\nexport interface VelocityFilterConfig {\n advanced_filters?: boolean;\n\n async?: boolean;\n\n cascading_actions?: boolean;\n\n cids_per_user?: number;\n\n enabled?: boolean;\n\n first_message_only?: boolean;\n\n rules?: VelocityFilterConfigRule[];\n}\n\nexport interface VelocityFilterConfigRule {\n action: 'flag' | 'shadow' | 'remove' | 'ban';\n\n ban_duration?: number;\n\n cascading_action?: 'flag' | 'shadow' | 'remove' | 'ban';\n\n cascading_threshold?: number;\n\n check_message_context?: boolean;\n\n fast_spam_threshold?: number;\n\n fast_spam_ttl?: number;\n\n ip_ban?: boolean;\n\n probation_period?: number;\n\n shadow_ban?: boolean;\n\n slow_spam_ban_duration?: number;\n\n slow_spam_threshold?: number;\n\n slow_spam_ttl?: number;\n\n url_only?: boolean;\n}\n\nexport interface VideoCallRuleConfig {\n flag_all_labels?: boolean;\n\n flagged_labels?: string[];\n\n rules?: HarmConfig[];\n}\n\nexport interface VideoContentParameters {\n harm_labels?: string[];\n}\n\nexport interface VideoEndCallRequest {}\n\nexport interface VideoKickUserRequest {}\n\nexport interface VideoReactionOverTimeResponse {\n by_minute?: CountByMinuteResponse[];\n}\n\nexport interface VideoReactionsResponse {\n reaction: string;\n\n count_over_time?: VideoReactionOverTimeResponse;\n}\n\nexport interface VideoRuleParameters {\n threshold?: number;\n\n time_window?: string;\n\n harm_labels?: string[];\n}\n\nexport interface VideoSettings {\n access_request_enabled: boolean;\n\n camera_default_on: boolean;\n\n camera_facing: 'front' | 'back' | 'external';\n\n enabled: boolean;\n\n target_resolution: TargetResolution;\n}\n\nexport interface VideoSettingsRequest {\n access_request_enabled?: boolean;\n\n camera_default_on?: boolean;\n\n camera_facing?: 'front' | 'back' | 'external';\n\n enabled?: boolean;\n\n target_resolution?: TargetResolution;\n}\n\nexport interface VideoSettingsResponse {\n access_request_enabled: boolean;\n\n camera_default_on: boolean;\n\n camera_facing: 'front' | 'back' | 'external';\n\n enabled: boolean;\n\n target_resolution: TargetResolution;\n}\n\nexport interface VoteData {\n answer_text?: string;\n\n option_id?: string;\n}\n\nexport interface WHIPIngress {\n address: string;\n}\n\nexport interface WSEvent {\n created_at: Date;\n\n type: string;\n\n custom: Record<string, any>;\n\n automoderation?: boolean;\n\n channel_id?: string;\n\n channel_last_message_at?: Date;\n\n channel_type?: string;\n\n cid?: string;\n\n connection_id?: string;\n\n parent_id?: string;\n\n reason?: string;\n\n team?: string;\n\n thread_id?: string;\n\n user_id?: string;\n\n watcher_count?: number;\n\n automoderation_scores?: ModerationResponse;\n\n channel?: ChannelResponse;\n\n created_by?: UserResponse;\n\n me?: OwnUserResponse;\n\n member?: ChannelMemberResponse;\n\n message?: MessageResponse;\n\n message_update?: MessageUpdate;\n\n poll?: PollResponseData;\n\n poll_vote?: PollVoteResponseData;\n\n reaction?: ReactionResponse;\n\n thread?: ThreadResponse;\n\n user?: UserResponse;\n}\n\nexport type WebhookEvent =\n | ({ type: '*' } & AnyEvent)\n | ({ type: 'activity.marked' } & ActivityMarkedEvent)\n | ({ type: 'call.accepted' } & CallAcceptedEvent)\n | ({ type: 'call.blocked_user' } & BlockedUserEvent)\n | ({ type: 'call.closed_caption' } & ClosedCaptionEvent)\n | ({ type: 'call.closed_captions_failed' } & CallClosedCaptionsFailedEvent)\n | ({ type: 'call.closed_captions_started' } & CallClosedCaptionsStartedEvent)\n | ({ type: 'call.closed_captions_stopped' } & CallClosedCaptionsStoppedEvent)\n | ({ type: 'call.created' } & CallCreatedEvent)\n | ({ type: 'call.deleted' } & CallDeletedEvent)\n | ({ type: 'call.ended' } & CallEndedEvent)\n | ({ type: 'call.frame_recording_failed' } & CallFrameRecordingFailedEvent)\n | ({ type: 'call.frame_recording_ready' } & CallFrameRecordingFrameReadyEvent)\n | ({ type: 'call.frame_recording_started' } & CallFrameRecordingStartedEvent)\n | ({ type: 'call.frame_recording_stopped' } & CallFrameRecordingStoppedEvent)\n | ({ type: 'call.hls_broadcasting_failed' } & CallHLSBroadcastingFailedEvent)\n | ({\n type: 'call.hls_broadcasting_started';\n } & CallHLSBroadcastingStartedEvent)\n | ({\n type: 'call.hls_broadcasting_stopped';\n } & CallHLSBroadcastingStoppedEvent)\n | ({ type: 'call.kicked_user' } & KickedUserEvent)\n | ({ type: 'call.live_started' } & CallLiveStartedEvent)\n | ({ type: 'call.member_added' } & CallMemberAddedEvent)\n | ({ type: 'call.member_removed' } & CallMemberRemovedEvent)\n | ({ type: 'call.member_updated' } & CallMemberUpdatedEvent)\n | ({\n type: 'call.member_updated_permission';\n } & CallMemberUpdatedPermissionEvent)\n | ({ type: 'call.missed' } & CallMissedEvent)\n | ({ type: 'call.moderation_blur' } & CallModerationBlurEvent)\n | ({ type: 'call.moderation_warning' } & CallModerationWarningEvent)\n | ({ type: 'call.notification' } & CallNotificationEvent)\n | ({ type: 'call.permission_request' } & PermissionRequestEvent)\n | ({ type: 'call.permissions_updated' } & UpdatedCallPermissionsEvent)\n | ({ type: 'call.reaction_new' } & CallReactionEvent)\n | ({ type: 'call.recording_failed' } & CallRecordingFailedEvent)\n | ({ type: 'call.recording_ready' } & CallRecordingReadyEvent)\n | ({ type: 'call.recording_started' } & CallRecordingStartedEvent)\n | ({ type: 'call.recording_stopped' } & CallRecordingStoppedEvent)\n | ({ type: 'call.rejected' } & CallRejectedEvent)\n | ({ type: 'call.ring' } & CallRingEvent)\n | ({ type: 'call.rtmp_broadcast_failed' } & CallRtmpBroadcastFailedEvent)\n | ({ type: 'call.rtmp_broadcast_started' } & CallRtmpBroadcastStartedEvent)\n | ({ type: 'call.rtmp_broadcast_stopped' } & CallRtmpBroadcastStoppedEvent)\n | ({ type: 'call.session_ended' } & CallSessionEndedEvent)\n | ({\n type: 'call.session_participant_count_updated';\n } & CallSessionParticipantCountsUpdatedEvent)\n | ({\n type: 'call.session_participant_joined';\n } & CallSessionParticipantJoinedEvent)\n | ({\n type: 'call.session_participant_left';\n } & CallSessionParticipantLeftEvent)\n | ({ type: 'call.session_started' } & CallSessionStartedEvent)\n | ({ type: 'call.stats_report_ready' } & CallStatsReportReadyEvent)\n | ({ type: 'call.transcription_failed' } & CallTranscriptionFailedEvent)\n | ({ type: 'call.transcription_ready' } & CallTranscriptionReadyEvent)\n | ({ type: 'call.transcription_started' } & CallTranscriptionStartedEvent)\n | ({ type: 'call.transcription_stopped' } & CallTranscriptionStoppedEvent)\n | ({ type: 'call.unblocked_user' } & UnblockedUserEvent)\n | ({ type: 'call.updated' } & CallUpdatedEvent)\n | ({ type: 'call.user_feedback_submitted' } & CallUserFeedbackSubmittedEvent)\n | ({ type: 'call.user_muted' } & CallUserMutedEvent)\n | ({ type: 'campaign.completed' } & CampaignCompletedEvent)\n | ({ type: 'campaign.started' } & CampaignStartedEvent)\n | ({ type: 'channel.created' } & ChannelCreatedEvent)\n | ({ type: 'channel.deleted' } & ChannelDeletedEvent)\n | ({ type: 'channel.frozen' } & ChannelFrozenEvent)\n | ({ type: 'channel.hidden' } & ChannelHiddenEvent)\n | ({ type: 'channel.muted' } & ChannelMutedEvent)\n | ({ type: 'channel.truncated' } & ChannelTruncatedEvent)\n | ({ type: 'channel.unfrozen' } & ChannelUnFrozenEvent)\n | ({ type: 'channel.unmuted' } & ChannelUnmutedEvent)\n | ({ type: 'channel.updated' } & ChannelUpdatedEvent)\n | ({ type: 'channel.visible' } & ChannelVisibleEvent)\n | ({ type: 'custom' } & CustomVideoEvent)\n | ({ type: 'export.bulk_image_moderation.error' } & AsyncExportErrorEvent)\n | ({\n type: 'export.bulk_image_moderation.success';\n } & AsyncBulkImageModerationEvent)\n | ({ type: 'export.channels.error' } & AsyncExportErrorEvent)\n | ({ type: 'export.channels.success' } & AsyncExportChannelsEvent)\n | ({ type: 'export.moderation_logs.error' } & AsyncExportErrorEvent)\n | ({\n type: 'export.moderation_logs.success';\n } & AsyncExportModerationLogsEvent)\n | ({ type: 'export.users.error' } & AsyncExportErrorEvent)\n | ({ type: 'export.users.success' } & AsyncExportUsersEvent)\n | ({ type: 'feeds.activity.added' } & ActivityAddedEvent)\n | ({ type: 'feeds.activity.deleted' } & ActivityDeletedEvent)\n | ({ type: 'feeds.activity.feedback' } & ActivityFeedbackEvent)\n | ({ type: 'feeds.activity.marked' } & ActivityMarkEvent)\n | ({ type: 'feeds.activity.pinned' } & ActivityPinnedEvent)\n | ({ type: 'feeds.activity.reaction.added' } & ActivityReactionAddedEvent)\n | ({ type: 'feeds.activity.reaction.deleted' } & ActivityReactionDeletedEvent)\n | ({ type: 'feeds.activity.reaction.updated' } & ActivityReactionUpdatedEvent)\n | ({\n type: 'feeds.activity.removed_from_feed';\n } & ActivityRemovedFromFeedEvent)\n | ({ type: 'feeds.activity.unpinned' } & ActivityUnpinnedEvent)\n | ({ type: 'feeds.activity.updated' } & ActivityUpdatedEvent)\n | ({ type: 'feeds.bookmark.added' } & BookmarkAddedEvent)\n | ({ type: 'feeds.bookmark.deleted' } & BookmarkDeletedEvent)\n | ({ type: 'feeds.bookmark.updated' } & BookmarkUpdatedEvent)\n | ({ type: 'feeds.bookmark_folder.deleted' } & BookmarkFolderDeletedEvent)\n | ({ type: 'feeds.bookmark_folder.updated' } & BookmarkFolderUpdatedEvent)\n | ({ type: 'feeds.comment.added' } & CommentAddedEvent)\n | ({ type: 'feeds.comment.deleted' } & CommentDeletedEvent)\n | ({ type: 'feeds.comment.reaction.added' } & CommentReactionAddedEvent)\n | ({ type: 'feeds.comment.reaction.deleted' } & CommentReactionDeletedEvent)\n | ({ type: 'feeds.comment.reaction.updated' } & CommentReactionUpdatedEvent)\n | ({ type: 'feeds.comment.updated' } & CommentUpdatedEvent)\n | ({ type: 'feeds.feed.created' } & FeedCreatedEvent)\n | ({ type: 'feeds.feed.deleted' } & FeedDeletedEvent)\n | ({ type: 'feeds.feed.updated' } & FeedUpdatedEvent)\n | ({ type: 'feeds.feed_group.changed' } & FeedGroupChangedEvent)\n | ({ type: 'feeds.feed_group.deleted' } & FeedGroupDeletedEvent)\n | ({ type: 'feeds.feed_member.added' } & FeedMemberAddedEvent)\n | ({ type: 'feeds.feed_member.removed' } & FeedMemberRemovedEvent)\n | ({ type: 'feeds.feed_member.updated' } & FeedMemberUpdatedEvent)\n | ({ type: 'feeds.follow.created' } & FollowCreatedEvent)\n | ({ type: 'feeds.follow.deleted' } & FollowDeletedEvent)\n | ({ type: 'feeds.follow.updated' } & FollowUpdatedEvent)\n | ({ type: 'feeds.notification_feed.updated' } & NotificationFeedUpdatedEvent)\n | ({ type: 'feeds.stories_feed.updated' } & StoriesFeedUpdatedEvent)\n | ({ type: 'flag.updated' } & FlagUpdatedEvent)\n | ({ type: 'member.added' } & MemberAddedEvent)\n | ({ type: 'member.removed' } & MemberRemovedEvent)\n | ({ type: 'member.updated' } & MemberUpdatedEvent)\n | ({ type: 'message.deleted' } & MessageDeletedEvent)\n | ({ type: 'message.flagged' } & MessageFlaggedEvent)\n | ({ type: 'message.new' } & MessageNewEvent)\n | ({ type: 'message.pending' } & PendingMessageEvent)\n | ({ type: 'message.read' } & MessageReadEvent)\n | ({ type: 'message.unblocked' } & MessageUnblockedEvent)\n | ({ type: 'message.undeleted' } & MessageUndeletedEvent)\n | ({ type: 'message.updated' } & MessageUpdatedEvent)\n | ({ type: 'moderation.custom_action' } & ModerationCustomActionEvent)\n | ({ type: 'moderation.flagged' } & ModerationFlaggedEvent)\n | ({ type: 'moderation.mark_reviewed' } & ModerationMarkReviewedEvent)\n | ({ type: 'moderation_check.completed' } & ModerationCheckCompletedEvent)\n | ({ type: 'notification.mark_unread' } & NotificationMarkUnreadEvent)\n | ({ type: 'notification.reminder_due' } & ReminderNotificationEvent)\n | ({ type: 'notification.thread_message_new' } & MessageNewEvent)\n | ({ type: 'reaction.deleted' } & ReactionDeletedEvent)\n | ({ type: 'reaction.new' } & ReactionNewEvent)\n | ({ type: 'reaction.updated' } & ReactionUpdatedEvent)\n | ({ type: 'reminder.created' } & ReminderCreatedEvent)\n | ({ type: 'reminder.deleted' } & ReminderDeletedEvent)\n | ({ type: 'reminder.updated' } & ReminderUpdatedEvent)\n | ({ type: 'review_queue_item.new' } & ReviewQueueItemNewEvent)\n | ({ type: 'review_queue_item.updated' } & ReviewQueueItemUpdatedEvent)\n | ({ type: 'thread.updated' } & ThreadUpdatedEvent)\n | ({ type: 'user.banned' } & UserBannedEvent)\n | ({ type: 'user.deactivated' } & UserDeactivatedEvent)\n | ({ type: 'user.deleted' } & UserDeletedEvent)\n | ({ type: 'user.flagged' } & UserFlaggedEvent)\n | ({ type: 'user.messages.deleted' } & UserMessagesDeletedEvent)\n | ({ type: 'user.muted' } & UserMutedEvent)\n | ({ type: 'user.reactivated' } & UserReactivatedEvent)\n | ({ type: 'user.unbanned' } & UserUnbannedEvent)\n | ({ type: 'user.unmuted' } & UserUnmutedEvent)\n | ({ type: 'user.unread_message_reminder' } & UserUnreadReminderEvent)\n | ({ type: 'user.updated' } & UserUpdatedEvent);\n\nexport interface WrappedUnreadCountsResponse {\n duration: string;\n\n total_unread_count: number;\n\n total_unread_threads_count: number;\n\n channel_type: UnreadCountsChannelType[];\n\n channels: UnreadCountsChannel[];\n\n threads: UnreadCountsThread[];\n\n total_unread_count_by_team?: Record<string, number>;\n}\n\nexport interface XiaomiConfig {\n disabled?: boolean;\n\n package_name?: string;\n\n secret?: string;\n}\n\nexport interface XiaomiConfigFields {\n enabled: boolean;\n\n package_name?: string;\n\n secret?: string;\n}\n"],"names":["uuidv4"],"mappings":"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"}