export type ChannelMember = { user_id: string nickname: string profile_url: string } export type Channel = { name: string channel_url: string members: ChannelMember[] unread_mention_count: number } export type GetChannelsReturnType = { channels: Channel[] next: string } export type GeneralGetChannelsInputType = { token?: string limit?: number distinct_mode?: 'all' | 'distinct' | 'nondistinct' public_mode?: 'all' | 'private' | 'public' super_mode?: string created_after?: number created_before?: number show_empty?: boolean show_member?: boolean show_delivery_receipt?: boolean show_read_receipt?: boolean show_frozen?: boolean order?: | 'chronological' | 'latest_last_message' | 'channel_name_alphabetical' | 'metadata_value_alphabetical' user_id?: string metadata_order_key?: string custom_types?: string custom_type_startswith?: string channel_urls?: string name?: string name_contains?: string name_startswith?: string members_exactly_in?: string members_include_in?: string query_type?: string members_nickname?: string members_nickname_contains?: string metadata_key?: string metadata_values?: string metadata_value_startswith?: string metacounter_key?: string metacounter_values?: string metacounter_value_gt?: string metacounter_value_gte?: string metacounter_value_lt?: string metacounter_value_lte?: string include_sorted_metaarray_in_last_message?: boolean } export type GetChannelsForUserIdInputType = GeneralGetChannelsInputType & { userId: string all?: boolean unread_filter?: string unread_mention_count?: string } export type GetChannelInputType = GeneralGetChannelsInputType & { all?: boolean } export type SendMessageUserMetadataReturnType = { location: string marriage: string } export type SendMessageUserReturnType = { user_id: string nickname: string profile_url: string metadata: SendMessageUserMetadataReturnType } export type SendMessageMetaArrayReturnType = { key: string value: string[] } export type SendMessageMesgReturnType = { message_id: number type: string custom_type: string channel_url: string user: SendMessageUserReturnType mention_type: string mentioned_users: SendMessageUserReturnType[] is_removed: boolean message: string translations: any data: string sorted_metaarray: SendMessageMetaArrayReturnType[] created_at: number updated_at: number file: any } export type SendMessageFileFileReturnType = { url: string name: string type: string data: string size: number } export type SendMessageFileReturnType = { message_id: string type: string custom_type: string channel_url: string user: SendMessageUserReturnType mention_type: string mentioned_users: SendMessageUserReturnType[] is_removed: boolean require_auth: boolean file: SendMessageFileFileReturnType thumbnails: string[] created_at: number updated_at: number } export type ReadReceiptResource = { key: string value: number } export type UserResource = { user_id: string nickname: string profile_url: string access_token: string session_tokens: string[] has_ever_logged_in: boolean is_active: boolean is_online: boolean discovery_keys: string[] preferred_languages: string[] created_at: number last_seen_at: number metadata: string[] } export type ChannelResource = { name: string channel_url: string cover_url: string custom_type: string data: string is_distinct: boolean is_public: boolean is_super: boolean is_ephemeral: boolean is_access_code_required: boolean member_count: number joined_member_count: number members: UserResource[] operators: UserResource[] read_receipt: ReadReceiptResource[] max_length_message: number unread_message_count: number unread_mention_count: number last_message: SendMessageFileReturnType created_by: { user_id: string nickname: string profile_url: string require_auth_for_profile_image: boolean } created_at: number freeze: boolean } export type ChannelUpdateRequest = { channelUrl?: string name: string cover_url?: string cover_file?: SendMessageFileFileReturnType custom_type?: string data?: Record is_distinct?: boolean is_public?: boolean access_code?: string operator_ids?: string[] } export type GetChannelByUrlOptionalParameters = { channelUrl: string show_delivery_receipt: boolean show_read_receipt: boolean order: string show_member: boolean } export type GetMessagesForChannelReturnType = { messages: ListMessageReturnType[] } export type ListMessageReturnType = SendMessageFileReturnType & { 'og:url': string 'og:title': string 'og:description': string 'og:image': { url: string secure_url: string width: number height: number } } export type GetUsersParameters = { token: string limit: number active_mode?: string show_bot?: boolean user_ids?: string nickname?: string nickname_startswith?: string metadatakey?: string metadatavalues_in?: string }