@class NSDate, NSString, MFMessageStore, NSArray, NSUUID, MFMimePart, ECSubject, NSData, NSURL, ECAngleBracketIDHash; @interface MFMessage : NSObject <EFPubliclyDescribable, NSCopying> { MFMessageStore *_store; unsigned int _preferredEncoding; NSString *_senderAddressComment; unsigned int _dateSentInterval; unsigned int _dateReceivedInterval; _Atomic unsigned long long _generationNumber; NSArray *_to; NSArray *_cc; NSArray *_bcc; NSArray *_sender; NSString *_contentType; long long _messageIDHeaderHash; long long _conversationID; ECAngleBracketIDHash *_listIDHash; NSString *_summary; NSString *_externalID; NSURL *_messageURL; NSString *_cachedMessageIDHeader; unsigned char _calculatedAttachmentInfo : 1; unsigned short _numberOfAttachments; } @property (weak, nonatomic) MFMimePart *parentPart; @property (retain, nonatomic) MFMimePart *strongParentPartReference; @property (retain, nonatomic) MFMessageStore *messageStore; @property (readonly, copy, nonatomic) NSString *remoteID; @property (readonly, nonatomic) unsigned int uid; @property (retain, nonatomic) ECAngleBracketIDHash *listIDHash; @property (readonly, nonatomic) unsigned long long messageSize; @property (readonly, nonatomic) NSDate *dateReceived; @property (nonatomic) double dateReceivedAsTimeIntervalSince1970; @property (readonly, nonatomic) NSDate *dateSent; @property (nonatomic) double dateSentAsTimeIntervalSince1970; @property (copy, nonatomic) ECSubject *subject; @property (readonly, copy, nonatomic) ECSubject *subjectIfAvailable; @property (copy, nonatomic) NSArray *to; @property (readonly, copy, nonatomic) NSArray *toIfCached; @property (copy, nonatomic) NSArray *cc; @property (readonly, copy, nonatomic) NSArray *ccIfCached; @property (copy, nonatomic) NSArray *bcc; @property (readonly, copy, nonatomic) NSArray *bccIfCached; @property (retain, nonatomic) NSString *externalID; @property (retain, nonatomic) NSUUID *documentID; @property (nonatomic) BOOL strongParentPart; @property (readonly, nonatomic) NSString *summary; @property (readonly, nonatomic) NSData *headerData; @property (readonly, nonatomic) NSData *headerDataIfAvailable; @property (readonly, copy, nonatomic) NSString *ef_publicDescription; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; + (Class)dataMessageStoreToUse; + (id)messageWithRFC822Data:(id)a0; + (id)messageWithRFC822Data:(id)a0 withParentPart:(id)a1; + (id)messageWithRFC822Data:(id)a0 withParentPart:(id)a1 generateMessageIDHash:(BOOL)a2; + (id)messageWithRFC822Data:(id)a0 forMailboxUID:(id)a1; + (void)setMessageClassForStore:(id)a0; - (unsigned int)preferredEncoding; - (void)setSender:(id)a0; - (void)setContentType:(id)a0; - (id)init; - (id)messageURL; - (void)setPreferredEncoding:(unsigned int)a0; - (id)contentType; - (long long)conversationID; - (id)path; - (void)setMessageURL:(id)a0; - (void).cxx_destruct; - (id)headers; - (unsigned long long)fileSize; - (id)messageID; - (id)bodyData; - (id)messageBody; - (id)copyWithZone:(struct _NSZone { } *)a0; - (id)messageData; - (void)setConversationID:(long long)a0; - (id)senders; - (unsigned long long)numberOfAttachments; - (void)setNumberOfAttachments:(unsigned long long)a0; - (id)persistentID; - (unsigned long long)generationNumber; - (void)setGenerationNumber:(unsigned long long)a0; - (id)messageIDHeader; - (id)sendersIfCached; - (id)_privacySafeDescription; - (id)bestAlternativeInPart:(id)a0; - (void)calculateAttachmentInfoFromBody:(id)a0; - (id)dataConsumerForMimePart:(id)a0; - (id)dataForMimePart:(id)a0; - (id)dataForMimePart:(id)a0 inRange:(struct _NSRange { unsigned long long x0; unsigned long long x1; })a1 isComplete:(BOOL *)a2 downloadIfNecessary:(BOOL)a3 didDownload:(BOOL *)a4; - (id)dataPathForMimePart:(id)a0; - (id)defaultAlternativeInPart:(id)a0; - (id)firstSender; - (id)headersIfAvailable; - (BOOL)isLibraryMessage; - (BOOL)isMessageContentsLocallyAvailable; - (void)loadCachedHeaderValuesFromHeaders:(id)a0; - (id)messageBodyIfAvailable; - (id)messageBodyIfAvailableUpdatingFlags:(BOOL)a0; - (id)messageBodyUpdatingFlags:(BOOL)a0; - (BOOL)messageData:(id *)a0 messageSize:(unsigned long long *)a1 isComplete:(BOOL *)a2 downloadIfNecessary:(BOOL)a3; - (id)messageDataHolder; - (BOOL)messageDataHolder:(id *)a0 messageSize:(unsigned long long *)a1 isComplete:(BOOL *)a2 downloadIfNecessary:(BOOL)a3; - (id)messageDataHolderIsComplete:(BOOL *)a0 downloadIfNecessary:(BOOL)a1; - (id)messageDataIsComplete:(BOOL *)a0 downloadIfNecessary:(BOOL)a1; - (id)messageDataIsPartial:(BOOL *)a0; - (long long)messageIDHash; - (id)messageIDHeaderHash; - (id)messageIDHeaderInFortyBytesOrLess; - (id)preferredEmailAddressToReplyWith; - (id)senderAddressComment; - (void)setMessageData:(id)a0 isPartial:(BOOL)a1; - (void)setMessageIDHash:(long long)a0; - (void)setMessageIDHeader:(id)a0; - (void)setMessagePropertiesFromMessage:(id)a0; - (void)setNumberOfAttachments:(unsigned long long)a0 isSigned:(BOOL)a1 isEncrypted:(BOOL)a2; - (void)setSubject:(id)a0 to:(id)a1 cc:(id)a2 bcc:(id)a3 sender:(id)a4 dateReceived:(double)a5 dateSent:(double)a6 summary:(id)a7; - (void)setSubject:(id)a0 to:(id)a1 cc:(id)a2 bcc:(id)a3 sender:(id)a4 dateReceived:(double)a5 dateSent:(double)a6 summary:(id)a7 withOptions:(unsigned int)a8; - (BOOL)updateSubjectFromEncryptedContent; - (void)setDateSentTimeIntervalSince1970:(double)a0; - (id)_copyDateFromReceivedHeadersInHeaders:(id)a0; - (id)_copyDateFromDateHeaderInHeaders:(id)a0; - (BOOL)_doesDateAppearToBeSane:(id)a0; - (long long)_messageIDHeaderHashIvar; - (void)_setDateReceivedFromHeaders:(id)a0; - (void)_setDateSentFromHeaders:(id)a0; - (id)additionalHeadersForForward; - (id)additionalHeadersForReply; - (id)bodyDataIsComplete:(BOOL *)a0; - (id)bodyDataIsComplete:(BOOL *)a0 isPartial:(BOOL *)a1; - (id)bodyDataIsComplete:(BOOL *)a0 isPartial:(BOOL *)a1 downloadIfNecessary:(BOOL)a2; - (BOOL)calculatedNumberOfAttachments; - (BOOL)canBeTriaged; - (id)dataForMimePart:(id)a0 inRange:(struct _NSRange { unsigned long long x0; unsigned long long x1; })a1 isComplete:(BOOL *)a2; - (BOOL)fetchDataForMimePart:(id)a0 inRange:(struct _NSRange { unsigned long long x0; unsigned long long x1; })a1 withConsumer:(id)a2 isComplete:(BOOL *)a3 downloadIfNecessary:(BOOL)a4; - (long long)generationCompare:(id)a0; - (id)headerDataDownloadIfNecessary:(BOOL)a0; - (BOOL)needsDateReceived; - (void)setDateReceivedTimeIntervalSince1970:(double)a0; - (void)setMessageInfo:(id)a0 to:(id)a1 cc:(id)a2 bcc:(id)a3 sender:(id)a4 dateReceivedTimeIntervalSince1970:(double)a5 dateSentTimeIntervalSince1970:(double)a6 messageIDHash:(long long)a7 conversationID:(long long)a8 summary:(id)a9; - (id)uniqueArray:(id)a0 withStore:(id)a1; @end