@class MailAccount, MFActivityMonitor, MFMailboxUid; @interface MFMailMessageStore : MFMessageStore { unsigned long long _state; struct { unsigned char isReadOnly : 1; unsigned char hasUnsavedChangesToMessageData : 1; unsigned char haveOpenLockFile : 1; unsigned char compacting : 1; unsigned char cancelInvalidation : 1; unsigned char forceInvalidation : 1; unsigned char isWritingChangesToDisk : 1; unsigned char isTryingToClose : 1; unsigned char compactOnClose : 1; unsigned int reserved : 23; } _flags; MFMailboxUid *_mailboxUid; MailAccount *_account; unsigned long long _deletedMessagesSize; unsigned long long _deletedMessageCount; unsigned long long _unreadMessageCount; unsigned long long _generationNumber; unsigned long long _lastFetchCount; MFActivityMonitor *_openMonitor; } + (Class)classForMimePart; + (Class)headersClass; + (id)copyMessages:(id)a0 toMailbox:(id)a1 markAsRead:(BOOL)a2 deleteOriginals:(BOOL)a3 isDeletion:(BOOL)a4; + (BOOL)createEmptyStoreForPath:(id)a0; + (BOOL)createEmptyStoreIfNeededForPath:(id)a0; + (BOOL)storeAtPathIsWritable:(id)a0; - (BOOL)isOpened; - (void)close; - (unsigned long long)unreadCount; - (BOOL)isReadOnly; - (void)dealloc; - (void)updateServerUnreadCountClosingConnection:(BOOL)a0; - (id)storeSearchResultMatchingCriterion:(id)a0 limit:(unsigned int)a1 offset:(id)a2 error:(id *)a3; - (BOOL)shouldArchive; - (id)account; - (unsigned long long)serverMessageCount; - (unsigned long long)totalCount; - (id)status; - (unsigned long long)growFetchWindow; - (void)didOpen; - (id)description; - (void)deleteMessagesOlderThanNumberOfDays:(int)a0 compact:(BOOL)a1; - (BOOL)canFetchMessageIDs; - (void)setLibrary:(id)a0; - (long long)fetchMessagesWithMessageIDs:(id)a0 andSetFlags:(unsigned long long)a1; - (id)messageIdRollCall:(id)a0; - (id)displayName; - (long long)fetchNumMessages:(unsigned long long)a0 preservingUID:(id)a1 options:(unsigned long long)a2; - (unsigned long long)fetchWindow; - (id)_fetchHeaderDataForMessage:(id)a0 downloadIfNecessary:(BOOL)a1; - (void)_flushAllMessageData; - (id)_setOrGetBody:(id)a0 forMessage:(id)a1 updateFlags:(BOOL)a2; - (void)allMessageFlagsDidChange:(id)a0; - (unsigned long long)allNonDeletedCountIncludingServerSearch:(BOOL)a0 andThreadSearch:(BOOL)a1; - (BOOL)allowsAppend; - (int)archiveDestination; - (BOOL)canCompact; - (BOOL)canFetchSearchResults; - (id)copyMessagesMatchingCriterion:(id)a0 options:(unsigned int)a1; - (id)copyMessagesWithRemoteIDs:(id)a0 options:(unsigned int)a1 inMailbox:(id)a2; - (id)copyOfAllMessages; - (id)copyOfAllMessagesWithOptions:(unsigned int)a0; - (void)deleteMessages:(id)a0 moveToTrash:(BOOL)a1; - (void)doCompact; - (long long)fetchMobileSynchronously:(unsigned long long)a0; - (long long)fetchMobileSynchronously:(unsigned long long)a0 preservingUID:(id)a1 options:(unsigned long long)a2; - (unsigned long long)fetchWindowCap; - (BOOL)hasMessageForAccount:(id)a0; - (BOOL)hasMoreFetchableMessages; - (id)headerDataForMessage:(id)a0 downloadIfNecessary:(BOOL)a1; - (void)invalidateFetchWindow; - (id)loadMeetingDataForMessage:(id)a0; - (id)loadMeetingExternalIDForMessage:(id)a0; - (id)loadMeetingMetadataForMessage:(id)a0; - (id)mailboxUid; - (void)messageFlagsDidChange:(id)a0 flags:(id)a1; - (id)messageForRemoteID:(id)a0; - (id)messageForRemoteID:(id)a0 inMailbox:(id)a1; - (void)messagesWereAdded:(id)a0; - (void)messagesWereAdded:(id)a0 earliestReceivedDate:(id)a1; - (void)messagesWereCompacted:(id)a0; - (void)messagesWereDeleted:(id)a0; - (void)messagesWillBeCompacted:(id)a0; - (void)openSynchronously; - (unsigned long long)serverUnreadOnlyOnServerCount; - (void)setFlag:(id)a0 state:(BOOL)a1 forMessages:(id)a2; - (id)setFlagsFromDictionary:(id)a0 forMessages:(id)a1; - (id)setFlagsLocallyFromDictionary:(id)a0 forMessages:(id)a1; - (void)setNumberOfAttachments:(unsigned int)a0 isSigned:(BOOL)a1 isEncrypted:(BOOL)a2 forMessage:(id)a3; - (BOOL)shouldDeleteInPlace; - (BOOL)shouldDownloadBodyDataForMessage:(id)a0; - (BOOL)shouldGrowFetchWindow; - (id)storeData:(id)a0 forMimePart:(id)a1 isComplete:(BOOL)a2; - (BOOL)supportsArchiving; - (unsigned long long)unreadCountMatchingCriterion:(id)a0; - (unsigned long long)indexOfMessage:(id)a0; - (id)_defaultRouterDestination; - (void)_rebuildTableOfContentsSynchronously; - (void)_setFlagsForMessages:(id)a0; - (BOOL)_shouldChangeComponentMessageFlags; - (BOOL)_shouldChangeComponentMessageFlagsForMessage:(id)a0; - (BOOL)_updateFlagForMessage:(id)a0 key:(id)a1 value:(BOOL)a2; - (unsigned long long)appendMessages:(id)a0 unsuccessfulOnes:(id)a1; - (unsigned long long)appendMessages:(id)a0 unsuccessfulOnes:(id)a1 newMessageIDs:(id)a2; - (unsigned long long)appendMessages:(id)a0 unsuccessfulOnes:(id)a1 newMessageIDs:(id)a2 newMessages:(id)a3; - (unsigned long long)appendMessages:(id)a0 unsuccessfulOnes:(id)a1 newMessageIDs:(id)a2 newMessages:(id)a3 flagsToSet:(id)a4; - (void)cancelOpen; - (id)copyMessagesMatchingText:(id)a0; - (id)copyMessagesMatchingText:(id)a0 options:(unsigned int)a1; - (id)copyMessagesWithRemoteIDs:(id)a0 options:(unsigned int)a1; - (id)copyOfAllMessagesForBodyLoadingFromRowID:(unsigned int)a0 limit:(unsigned int)a1; - (id)copyOfMessagesInRange:(struct _NSRange { unsigned long long x0; unsigned long long x1; })a0; - (void)deletedCount:(unsigned long long *)a0 andSize:(unsigned long long *)a1; - (long long)fetchMessagesMatchingCriterion:(id)a0 limit:(unsigned int)a1; - (long long)fetchMessagesWithRemoteIDs:(id)a0 andSetFlags:(unsigned long long)a1; - (id)finishRoutingMessages:(id)a0 routed:(id)a1; - (BOOL)hasCachedDataForMimePart:(id)a0; - (id)initWithMailboxUid:(id)a0 readOnly:(BOOL)a1; - (BOOL)isDrafts; - (id)lastViewedMessageDate; - (id)lastViewedMessageWithOptions:(unsigned int)a0; - (id)messageForMessageID:(id)a0 options:(unsigned int)a1; - (id)mutableCopyOfAllMessages; - (unsigned long long)nonDeletedCountIncludingServerSearch:(BOOL)a0 andThreadSearch:(BOOL)a1; - (void)openAsynchronously; - (void)purgeMessagesBeyondLimit:(unsigned long long)a0 keepingMessage:(id)a1; - (id)remoteIDsFromUniqueRemoteIDs:(id)a0; - (unsigned long long)serverNonDeletedCount; - (unsigned long long)serverUnreadCount; - (void)setFlagForAllMessages:(id)a0 state:(BOOL)a1; - (void)setFlagsCancelled:(id)a0 forMessages:(id)a1; - (void)setFlagsForAllMessagesFromDictionary:(id)a0; - (BOOL)setPreferredEncoding:(unsigned int)a0 forMessage:(id)a1; - (BOOL)shouldSetSummaryForMessage:(id)a0; - (id)storePathRelativeToAccount; - (id)storeSearchResultMatchingSearchText:(id)a0 criterion:(id)a1 limit:(unsigned int)a2 offset:(id)a3 error:(id *)a4; - (void)structureDidChange; - (void)undeleteMessages:(id)a0; - (id)uniqueRemoteIDsForMessages:(id)a0; - (void)updateMessages:(id)a0 updateNumberOfAttachments:(BOOL)a1; - (id)willSetFlagsFromDictionary:(id)a0 forMessages:(id)a1; - (void)writeUpdatedMessageDataToDisk; @end