import Foundation enum FileAction: Stateable { case downloadAttachmentFile(messageId: String, attachmentRemotePath: URL) case attachmentFileDownloaded(messageId: String, localName: String) case downloadingAttachmentFileFailed(messageId: String, reason: String) case createAttachmentThumbnail(messageId: String, localName: String) case attachmentThumbnailCreated(messageId: String, thumbnailName: String) case fetchItemsFromGallery case itemsFromGalleryFetched(items: [SharingGalleryItem]) case copyGalleryItemsForUploading(items: [SharingGalleryItem]) case copyCameraCapturedForUploading(media: Data, type: SharingCameraMediaType) case itemsCopiedForUploading(newMessageIds: [String], localNames: [String]) }