1 |
|
2 |
|
3 | import type { Stream } from 'node:stream';
|
4 | import type { CursorPaginationEnabled, OptionalTeamAssignable, TokenOverridable, TraditionalPagingEnabled } from './common';
|
5 | import type { FilesGetUploadURLExternalResponse } from '../response/index';
|
6 | import type { ExcludeFromUnion } from '../helpers';
|
7 | interface FileArgument {
|
8 |
|
9 | file: string;
|
10 | }
|
11 | interface ExternalIDArgument {
|
12 |
|
13 | external_id: string;
|
14 | }
|
15 | interface ChannelsArgument {
|
16 | |
17 |
|
18 |
|
19 |
|
20 | channels?: string;
|
21 | }
|
22 | interface FileType {
|
23 | |
24 |
|
25 |
|
26 |
|
27 | filetype?: string;
|
28 | }
|
29 | interface FileUploadComplete {
|
30 |
|
31 | id: string;
|
32 |
|
33 | title?: string;
|
34 | }
|
35 | interface FileChannelDestinationArgument {
|
36 |
|
37 | channel_id?: string;
|
38 | thread_ts?: never;
|
39 | }
|
40 | interface FileThreadDestinationArgument {
|
41 |
|
42 | channel_id: string;
|
43 |
|
44 | thread_ts: string;
|
45 | }
|
46 | type FileDestinationArgument = FileChannelDestinationArgument | FileThreadDestinationArgument;
|
47 | interface FileChannelDestinationArgumentChannels extends ChannelsArgument {
|
48 | thread_ts?: never;
|
49 | }
|
50 | interface FileThreadDestinationArgumentChannels extends Required<ChannelsArgument> {
|
51 |
|
52 | thread_ts: string;
|
53 | }
|
54 | type FileDestinationArgumentChannels = FileChannelDestinationArgumentChannels | FileThreadDestinationArgumentChannels;
|
55 | export type FilesCompleteUploadExternalArguments = FileDestinationArgument & TokenOverridable & {
|
56 |
|
57 | files: [FileUploadComplete, ...FileUploadComplete[]];
|
58 |
|
59 | initial_comment?: string;
|
60 | };
|
61 | export interface FilesDeleteArguments extends FileArgument, TokenOverridable {
|
62 | }
|
63 | export interface FilesGetUploadURLExternalArguments extends TokenOverridable {
|
64 |
|
65 | filename: string;
|
66 |
|
67 | length: number;
|
68 |
|
69 | alt_text?: string;
|
70 |
|
71 | snippet_type?: string;
|
72 | }
|
73 | export interface FilesInfoArguments extends FileArgument, TokenOverridable, CursorPaginationEnabled, TraditionalPagingEnabled {
|
74 | }
|
75 | export interface FilesListArguments extends TokenOverridable, TraditionalPagingEnabled, OptionalTeamAssignable {
|
76 |
|
77 | channel?: string;
|
78 | |
79 |
|
80 |
|
81 |
|
82 | show_files_hidden_by_limit?: boolean;
|
83 |
|
84 | ts_from?: string;
|
85 |
|
86 | ts_to?: string;
|
87 | |
88 |
|
89 |
|
90 |
|
91 |
|
92 | types?: string;
|
93 |
|
94 | user?: string;
|
95 | }
|
96 | export interface FilesRevokePublicURLArguments extends FileArgument, TokenOverridable {
|
97 | }
|
98 | export interface FilesSharedPublicURLArguments extends FileArgument, TokenOverridable {
|
99 | }
|
100 | export interface FileUploadStringContents {
|
101 |
|
102 | content: string;
|
103 | }
|
104 | export interface FileUploadBinaryContents {
|
105 | |
106 |
|
107 |
|
108 |
|
109 |
|
110 | file: Buffer | Stream | string;
|
111 | }
|
112 | type FileUploadContents = FileUploadStringContents | FileUploadBinaryContents;
|
113 | type FileUpload = FileUploadContents & FileDestinationArgumentChannels & FileType & {
|
114 |
|
115 | filename?: string;
|
116 |
|
117 | initial_comment?: string;
|
118 |
|
119 | title?: string;
|
120 | };
|
121 | export type FilesUploadArguments = FileUpload & TokenOverridable;
|
122 | export type FileUploadV2 = FileUpload & {
|
123 |
|
124 | alt_text?: string;
|
125 |
|
126 | channel_id?: string;
|
127 |
|
128 | snippet_type?: string;
|
129 | };
|
130 | interface FilesUploadV2ArgumentsMultipleFiles {
|
131 | file_uploads: ExcludeFromUnion<FileUploadV2, 'channel_id' | 'channels' | 'initial_comment' | 'thread_ts'>[];
|
132 | }
|
133 | export type FilesUploadV2Arguments = TokenOverridable & (FileUploadV2 | (Omit<FileUploadV2, 'file' | 'content'> & FilesUploadV2ArgumentsMultipleFiles));
|
134 | export type FileUploadV2Job = FileUploadV2 & TokenOverridable & Pick<FilesGetUploadURLExternalResponse, 'file_id' | 'upload_url' | 'error'> & {
|
135 | length?: number;
|
136 | data?: Buffer;
|
137 | };
|
138 | export interface FilesCommentsDeleteArguments extends FileArgument, TokenOverridable {
|
139 |
|
140 | id: string;
|
141 | }
|
142 | interface SharedFile {
|
143 |
|
144 | title: string;
|
145 |
|
146 | external_url: string;
|
147 |
|
148 | preview_image?: Buffer | Stream;
|
149 | |
150 |
|
151 |
|
152 |
|
153 | indexable_file_contents?: Buffer | Stream;
|
154 | }
|
155 | export interface FilesRemoteAddArguments extends SharedFile, FileType, ExternalIDArgument, TokenOverridable {
|
156 | }
|
157 | type FileOrExternalID = (FileArgument & {
|
158 | external_id?: never;
|
159 | }) | (ExternalIDArgument & {
|
160 | file?: never;
|
161 | });
|
162 | export type FilesRemoteInfoArguments = FileOrExternalID & TokenOverridable;
|
163 | export interface FilesRemoteListArguments extends TokenOverridable, CursorPaginationEnabled {
|
164 |
|
165 | channel?: string;
|
166 |
|
167 | ts_from?: string;
|
168 |
|
169 | ts_to?: string;
|
170 | }
|
171 | export type FilesRemoteRemoveArguments = FileOrExternalID & TokenOverridable;
|
172 | export type FilesRemoteShareArguments = Required<ChannelsArgument> & FileOrExternalID & TokenOverridable;
|
173 | export type FilesRemoteUpdateArguments = Partial<SharedFile> & FileOrExternalID & FileType & TokenOverridable;
|
174 | export {};
|
175 |
|
\ | No newline at end of file |