import type { FilesCompleteUploadExternalResponse, FilesGetUploadURLExternalResponse, FilesInfoResponse } from '@slack/web-api'; export type SlackFileInfo = NonNullable; export interface SlackFileClient { files: { completeUploadExternal(input: { channel_id?: string; files: Array<{ id: string; title?: string; }>; initial_comment?: string; thread_ts?: string; }): Promise; getUploadURLExternal(input: { filename: string; length: number; }): Promise; info(input: { file: string; }): Promise; }; } export interface UploadedSlackFile { fileId: string; filename: string; localPath: string; mimetype: string; sizeBytes: number; } export declare function uploadSlackFile(input: { client: SlackFileClient; fetchImpl?: typeof fetch; localPath: string; }): Promise; export interface CompletedSlackUploadFile { fileId: string; title?: string; } export declare function completeSlackFileUpload(input: { caption?: string; channelId: string; client: SlackFileClient; files: Array<{ fileId: string; title?: string; }>; threadTs?: string; }): Promise; //# sourceMappingURL=slack-file-upload.d.ts.map