UNPKG

3.95 kBTypeScriptView Raw
1/// <reference types="node" />
2/// <reference types="node" />
3/// <reference types="node" />
4import type { Stream } from 'node:stream';
5import type { CursorPaginationEnabled, LocaleAware, OptionalTeamAssignable, TokenOverridable } from './common';
6interface Email {
7 /** @description An email address belonging to a user in the workspace */
8 email: string;
9}
10export interface UsersConversationsArguments extends TokenOverridable, CursorPaginationEnabled, OptionalTeamAssignable {
11 /** @description Set to `true` to exclude archived channels from the list. Default is `false`. */
12 exclude_archived?: boolean;
13 /**
14 * @description Mix and match channel types by providing a comma-separated list of any combination of
15 * `public_channel`, `private_channel`, `mpim` and `im`. Defaults to `public_channel`.
16 */
17 types?: string;
18 /**
19 * @description Browse conversations by a specific user ID's membership.
20 * Non-public channels are restricted to those where the calling user shares membership.
21 */
22 user?: string;
23}
24export interface UsersDeletePhotoArguments extends TokenOverridable {
25}
26export interface UsersDiscoverableContactsLookupArguments extends Email, TokenOverridable {
27}
28export interface UsersGetPresenceArguments extends TokenOverridable {
29 /** @description User to get presence info on. Defaults to the authed user. */
30 user?: string;
31}
32export interface UsersIdentityArguments extends TokenOverridable {
33}
34export interface UsersInfoArguments extends TokenOverridable, LocaleAware {
35 /** @description User to get info on. */
36 user: string;
37}
38export interface UsersListArguments extends TokenOverridable, CursorPaginationEnabled, LocaleAware, OptionalTeamAssignable {
39}
40export interface UsersLookupByEmailArguments extends Email, TokenOverridable {
41}
42export interface UsersSetPhotoArguments extends TokenOverridable {
43 /** @description Image file contents. */
44 image: Buffer | Stream;
45 /** @description Width/height of crop box (always square). */
46 crop_w?: number;
47 /** @description X coordinate of top-left corner of crop box. */
48 crop_x?: number;
49 /** @description Y coordinate of top-left corner of crop box. */
50 crop_y?: number;
51}
52export interface UsersSetPresenceArguments extends TokenOverridable {
53 /** @description Either `auto` or `away`. */
54 presence: 'auto' | 'away';
55}
56export interface UsersProfileGetArguments extends TokenOverridable {
57 /**
58 * @description Include labels for each ID in custom profile fields.
59 * Using this parameter will heavily rate-limit your requests and is not recommended. Defaults to `false`.
60 */
61 include_labels?: boolean;
62 /** @description User to retrieve profile info for. */
63 user?: string;
64}
65export interface UsersProfileSetArguments extends TokenOverridable {
66 /**
67 * @description Sets profile fields using a single argument.
68 * Collection of key:value pairs presented.
69 * At most 50 fields may be set. Each field name is limited to 255 characters.
70 * @see {@link https://api.slack.com/methods/users.profile.set#profile-fields `users.profile.set` Profile fields usage info}.
71 */
72 profile?: Record<string, unknown>;
73 /** @description ID of user to change. This argument may only be specified by admins on paid teams. */
74 user?: string;
75 /**
76 * @description Name of a single profile field to set. If both `name` and `profile` are set, `name` takes precedence.
77 * @see {@link https://api.slack.com/methods/users.profile.set#profile-fields `users.profile.set` Profile fields usage info}.
78 */
79 name?: string;
80 /**
81 * @description Value to set for the profile field specified by `name`. Usable only if profile is not passed.
82 * @see {@link https://api.slack.com/methods/users.profile.set#profile-fields `users.profile.set` Profile fields usage info}.
83 */
84 value?: string;
85}
86export {};
87//# sourceMappingURL=users.d.ts.map
\No newline at end of file