UNPKG

5.97 kBTypeScriptView Raw
1import type { CursorPaginationEnabled, LocaleAware, OptionalTeamAssignable, TimelinePaginationEnabled, TokenOverridable } from './common';
2interface Channel {
3 /** @description ID of conversation. */
4 channel: string;
5}
6interface ChannelID {
7 /** @description ID of the channel that you'd like to accept. Must provide either `invite_id` or `channel_id`. */
8 channel_id: string;
9}
10interface Emails {
11 /** @description List of emails to receive this invite. Either `emails` or `user_ids` must be provided. */
12 emails: string[];
13 user_ids?: never;
14}
15interface IncludeAllMetadata {
16 /** @description Return all metadata associated with messages. Defaults to `false`. */
17 include_all_metadata?: boolean;
18}
19interface InviteID {
20 /** @description ID of the invite. */
21 invite_id: string;
22}
23interface IsPrivate {
24 /** @description Whether the channel should be private. */
25 is_private?: boolean;
26}
27interface Message extends Channel {
28 /** @description Unique identifier of message. */
29 ts: string;
30}
31interface TargetTeam {
32 /** @description The team or enterprise id of the other party involved in the invitation. */
33 target_team?: string;
34}
35interface UserIDs {
36 /** List of user IDs to receive this invite. Either `emails` or `user_ids` must be provided. */
37 user_ids: string[];
38 emails?: never;
39}
40interface Users {
41 /** @description A comma separated list of user IDs. Up to 1000 users may be listed. */
42 users: string;
43}
44export type ConversationsAcceptSharedInviteArguments = TokenOverridable & OptionalTeamAssignable & (ChannelID | InviteID) & IsPrivate & {
45 /**
46 * @description Name of the channel. If the channel does not exist already in your workspace,
47 * this name is the one that the channel will take.
48 */
49 channel_name: string;
50 /** @description Whether you'd like to use your workspace's free trial to begin using Slack Connect. */
51 free_trial_accepted?: boolean;
52};
53export interface ConversationsApproveSharedInviteArguments extends InviteID, TargetTeam, TokenOverridable {
54}
55export interface ConversationsArchiveArguments extends Channel, TokenOverridable {
56}
57export interface ConversationsCloseArguments extends Channel, TokenOverridable {
58}
59export interface ConversationsCreateArguments extends IsPrivate, TokenOverridable, OptionalTeamAssignable {
60 /** @description Name of the public or private channel to create. */
61 name: string;
62}
63export interface ConversationsDeclineSharedInviteArguments extends InviteID, TargetTeam, TokenOverridable {
64}
65export interface ConversationsHistoryArguments extends Channel, IncludeAllMetadata, TokenOverridable, CursorPaginationEnabled, TimelinePaginationEnabled {
66}
67export interface ConversationsInfoArguments extends Channel, TokenOverridable, LocaleAware {
68 /** @description Set to `true` to include the member count for the specified conversation. Defaults to `false`. */
69 include_num_members?: boolean;
70}
71export interface ConversationsInviteArguments extends Channel, Users, TokenOverridable {
72 /**
73 * @description When set to `true` and multiple user IDs are provided, continue inviting the valid ones while
74 * disregarding invalid IDs. Defaults to `false`.
75 */
76 force?: boolean;
77}
78export type ConversationsInviteSharedArguments = Channel & TokenOverridable & (Emails | UserIDs) & {
79 /** @description Whether invite is to an external limited member. Defaults to `true`. */
80 external_limited?: boolean;
81};
82export interface ConversationsJoinArguments extends Channel, TokenOverridable {
83}
84export interface ConversationsKickArguments extends Channel, TokenOverridable {
85 user: string;
86}
87export interface ConversationsLeaveArguments extends Channel, TokenOverridable {
88}
89export interface ConversationsListArguments extends TokenOverridable, CursorPaginationEnabled, OptionalTeamAssignable {
90 /** @description Set to `true` to exclude archived channels from the list. Defaults to `false`. */
91 exclude_archived?: boolean;
92 /**
93 * @description Mix and match channel types by providing a comma-separated list of any combination of:
94 * `public_channel`, `private_channel`, `mpim` or `im`. Defaults to `public_channel`.
95 */
96 types?: string;
97}
98export interface ConversationsListConnectInvitesArguments extends TokenOverridable, OptionalTeamAssignable {
99 /** @description Maximum number of invites to return. Defaults to `100`. */
100 count?: number;
101 /** @description Set to `next_cursor` returned by previous call to list items in subsequent page. */
102 cursor?: string;
103}
104export interface ConversationsMarkArguments extends Message, TokenOverridable {
105}
106export interface ConversationsMembersArguments extends Channel, TokenOverridable, CursorPaginationEnabled {
107}
108export type ConversationsOpenArguments = (Channel | Users) & TokenOverridable & {
109 /**
110 * @description Do not create a direct message or multi-person direct message.
111 * This is used to see if there is an existing dm or mpdm.
112 */
113 prevent_creation?: boolean;
114 /** @description Indicates you want the full IM channel definition in the response. */
115 return_im?: boolean;
116};
117export interface ConversationsRenameArguments extends Channel, TokenOverridable {
118 /** @description New name for conversation. */
119 name: string;
120}
121export interface ConversationsRepliesArguments extends Message, IncludeAllMetadata, TokenOverridable, CursorPaginationEnabled, TimelinePaginationEnabled {
122}
123export interface ConversationsSetPurposeArguments extends Channel, TokenOverridable {
124 /** @description A new, specialer purpose. */
125 purpose: string;
126}
127export interface ConversationsSetTopicArguments extends Channel, TokenOverridable {
128 /** @description The new topic string. Does not support formatting or linkification. */
129 topic: string;
130}
131export interface ConversationsUnarchiveArguments extends Channel, TokenOverridable {
132}
133export {};
134//# sourceMappingURL=conversations.d.ts.map
\No newline at end of file