import type { FileResourceRef } from "@opengeni/contracts"; import { completeFileUpload, prepareGeneratedWorkspaceFile, type Database } from "@opengeni/db"; import { type ObjectStorage } from "@opengeni/storage"; import type { DownloadedSlackReactionImage } from "./integrations/slack-bot.js"; export type SlackReactionImageImportSource = Readonly<{ accountId: string; workspaceId: string; connectionId: string; slackTeamId: string; slackChannelId: string; slackMessageTs: string; }>; export type ImportedSlackReactionImage = Readonly<{ resource: FileResourceRef; filename: string; contentType: "image/png" | "image/jpeg" | "image/webp"; sizeBytes: number; }>; export declare function importSlackReactionImage(dependencies: Readonly<{ db: Database; objectStorage: ObjectStorage; now?: () => Date; prepareFile?: typeof prepareGeneratedWorkspaceFile; completeFile?: typeof completeFileUpload; }>, source: SlackReactionImageImportSource, image: DownloadedSlackReactionImage, ordinal: number): Promise; export declare function slackReactionImageIdentity(source: SlackReactionImageImportSource, slackFileId: string): string; export declare function safeSlackImageFilename(value: string, contentType: "image/png" | "image/jpeg" | "image/webp"): string;