luxlabs header browser preview


@class MessageServiceSession, NSMutableSet, NSMutableDictionary;

@interface MessageAttachmentController : NSObject

@property (retain, nonatomic) NSMutableSet *pendingRemoteFileRequests;
@property (retain, nonatomic) NSMutableDictionary *localPayloadDataRequestGUIDToCompletionBlockMap;
@property (retain, nonatomic) NSMutableDictionary *eagerUploadStatuses;
@property (readonly, weak, nonatomic) MessageServiceSession *session;
@property (readonly, nonatomic) BOOL shouldSendLowResolutionOnly;

+ (id)_capabilitiesForTransfers:(id)a0 supportsASTC:(BOOL)a1;
+ (id)_combinedTransferUserInfoForAttachmentSendContexts:(id)a0;

- (id)initWithSession:(id)a0;
- (id)deliveryController;
- (id)stickerRefreshDeliveryController;
- (void).cxx_destruct;
- (void)eagerUploadCancel:(id)a0;
- (void)eagerUploadTransfer:(id)a0 recipients:(id)a1;
- (unsigned long long)maxTransferAudioFileSizeForWifi:(unsigned long long *)a0 cell:(unsigned long long *)a1;
- (void)maxTransferFileSizeForWifi:(unsigned long long *)a0 cell:(unsigned long long *)a1;
- (unsigned long long)maxTransferVideoFileSizeForWifi:(unsigned long long *)a0 cell:(unsigned long long *)a1;
- (void)remoteFileResponse:(id)a0;
- (void)retrieveLocalFileTransfer:(id)a0 attachmentIndex:(unsigned long long)a1 path:(id)a2 requestURLString:(id)a3 ownerID:(id)a4 signature:(id)a5 decryptionKey:(id)a6 requestedSize:(id)a7 fileSize:(unsigned long long)a8 progressBlock:(id /* block */)a9 completionBlock:(id /* block */)a10;
- (unsigned long long)_maxCompressedPayloadDataLength;
- (void)sendAttachmentsForMessage:(id)a0 canSendInline:(BOOL)a1 displayIDs:(id)a2 additionalContext:(id)a3 mode:(unsigned long long)a4 fromID:(id)a5 recipients:(id)a6 completionBlock:(id /* block */)a7 uploadFailureBlock:(id /* block */)a8;
- (id)_createPayloadRequestDictionaryForMessageGUID:(id)a0 requestKey:(id)a1;
- (id)_createPayloadResponseDictionaryWithDictionary:(id)a0 payloadData:(id)a1 attachments:(id)a2;
- (void)_deleteTransferInfoForKey:(id)a0;
- (id)_fetchSizeLimitsForTransfer:(id)a0 mode:(unsigned long long)a1;
- (void)_fetchStandardSizeLimit:(unsigned long long *)a0 highQualitySizeLimit:(unsigned long long *)a1 forTransfer:(id)a2;
- (id)_fileHash:(id)a0;
- (void)_fileTransferSizeForAAVideoFromServerBag:(unsigned long long *)a0 smallSize:(unsigned long long *)a1 serverBag:(id)a2;
- (void)_fileTransferSizeForAuxVideoFromServerBag:(unsigned long long *)a0 smallSize:(unsigned long long *)a1 serverBag:(id)a2;
- (unsigned long long)_largeFileSizeFor:(id)a0 allowedLargerRepresentation:(BOOL *)a1;
- (unsigned long long)_maxAllowedStereoVideoSize;
- (unsigned long long)_minSizeForLargeAuxVideo;
- (BOOL)_previewAttachmentEnabledForStickers;
- (void)_processDownloadedPayload:(id)a0 forMessageGUID:(id)a1 balloonBundleID:(id)a2 fromIdentifier:(id)a3 senderToken:(id)a4 withCompletionBlock:(id /* block */)a5;
- (void)_sendAttachmentToPeerDevice:(unsigned long long)a0 fileTransferGUID:(id)a1 messageGuid:(id)a2 fileURL:(id)a3 useLocalPeersFileAPI:(BOOL)a4 error:(long long)a5;
- (void)_sendURL:(id)a0 urlToRemove:(id)a1 topic:(id)a2 sessionInfo:(id)a3 messageGUID:(id)a4 fileTransferGUID:(id)a5 attachmentSendContexts:(id)a6 failIfError:(BOOL)a7 sendStatus:(id)a8 attachmentStatus:(id)a9 group:(id)a10;
- (void)_setTransferInfo:(id)a0 key:(id)a1;
- (BOOL)_shouldAutoAccept:(id)a0 transfer:(id)a1 isAltAccountDevice:(BOOL)a2 shouldDownloadFromPeer:(BOOL)a3;
- (BOOL)_shouldAutoDownloadUTIType:(id)a0 fileSize:(unsigned long long)a1;
- (BOOL)_shouldAutoDownloadUTIType:(id)a0 fileSize:(unsigned long long)a1 shouldForceAutoDownloadIfPossibble:(BOOL)a2;
- (BOOL)_shouldDisableFasterDownload:(id)a0 message:(id)a1;
- (BOOL)_shouldUploadPayloadDataOverMMCS:(id)a0;
- (unsigned long long)_smallerImageFileSize;
- (double)_stickerUploadTTL;
- (void)_transcodeURL:(id)a0 transfer:(id)a1 sizes:(id)a2 commonCapabilities:(id)a3 sendStatus:(id)a4 urlGroup:(id)a5 didTranscode:(id /* block */)a6 handleURL:(id /* block */)a7;
- (id)_transferInfoFileForKey:(id)a0;
- (id)_transferInfoForKey:(id)a0;
- (BOOL)acceptFileTransfer:(id)a0;
- (void)downloadPayloadDataForMessageGUID:(id)a0 payLoadDictionary:(id)a1 topic:(id)a2 completionBlock:(id /* block */)a3;
- (id)eagerUploadKeyForURL:(id)a0 transcodeDictionary:(id)a1 capabilities:(id)a2;
- (id)eagerUploadStatusForKey:(id)a0;
- (void)fetchPayloadDataFromCompanionForGUID:(id)a0 completionBlock:(id /* block */)a1;
- (void)findTranscoderCapabilitiesAcrossRecipients:(id)a0 forTransfers:(id)a1 completion:(id /* block */)a2;
- (void)handlePayloadDataRequest:(id)a0 attempts:(unsigned long long)a1;
- (void)handlePayloadDataResponse:(id)a0;
- (void)handleTranscodeCompletionBlockForMessage:(id)a0 displayIDs:(id)a1 additionalContext:(id)a2 attemptedTranscode:(BOOL)a3 transcodedTransferGUIDs:(id)a4 containsAutoLoopVideo:(BOOL)a5 outputURLs:(id)a6 text:(id)a7 success:(BOOL)a8 error:(id)a9 completionBlock:(id /* block */)a10;
- (void)processDownloadedPayloadData:(id)a0 forMessageGUID:(id)a1 balloonBundleID:(id)a2 fromIdentifier:(id)a3 senderToken:(id)a4 withCompletionBlock:(id /* block */)a5;
- (void)processMessageAttachmentDictionary:(id)a0 forMessageGUID:(id)a1 balloonBundleID:(id)a2 fromIdentifier:(id)a3 senderToken:(id)a4 withCompletionBlock:(id /* block */)a5;
- (void)remotefileRequest:(id)a0 attempts:(long long)a1 shouldRetry:(BOOL)a2;
- (void)retrieveAttachmentsForMessage:(id)a0 inlineAttachments:(id)a1 displayID:(id)a2 topic:(id)a3 comingFromStorage:(BOOL)a4 shouldForceAutoDownload:(BOOL)a5 senderContext:(id)a6 completionBlock:(id /* block */)a7;
- (void)sendAttachmentsForMessage:(id)a0 canSendInline:(BOOL)a1 displayIDs:(id)a2 additionalContext:(id)a3 commonCapabilities:(id)a4 mode:(unsigned long long)a5 sessionInfo:(id)a6 topic:(id)a7 completionBlock:(id /* block */)a8 uploadFailureBlock:(id /* block */)a9;
- (void)sendFallbackAttachmentsForMessage:(id)a0 displayIDs:(id)a1 additionalContext:(id)a2 completionBlock:(id /* block */)a3;
- (void)sendPayloadData:(id)a0 messageGUID:(id)a1 fromID:(id)a2 recipients:(id)a3 completionBlock:(id /* block */)a4;
- (void)sendPayloadData:(id)a0 messageGUID:(id)a1 sessionInfo:(id)a2 topic:(id)a3 completionBlock:(id /* block */)a4;
- (void)sessionInfoForBusinessReceipients:(id)a0 fromID:(id)a1 completion:(id /* block */)a2;
- (void)transcribeMessageIfNeeded:(id)a0 forTransfer:(id)a1;
- (void)updateGroupPhoto:(id)a0 forChat:(id)a1;
- (void)updateGroupPhoto:(id)a0 forChat:(id)a1 messageGuid:(id)a2;

@end