@class NSLock, NSString, VFCancelationToken, MFIMAPCommandPipeline, NSArray, MFIMAPConnection, MFIMAPDownloadCache; @interface MFLibraryIMAPStore : MFLibraryStore <MFIMAPConnectionDelegate, MFIMAPSequenceIdentifierProvider> { unsigned char _supportsCustomPermanentFlags : 1; unsigned char _supportsJunkFlag : 1; unsigned char _supportsDollarJunkFlag : 1; unsigned char _supportsNotJunkFlag : 1; unsigned char _supportsDollarNotJunkFlag : 1; unsigned char _supportsForwardedFlag : 1; unsigned char _supportsDollarForwardedFlag : 1; unsigned char _updatingCache : 1; unsigned char _updateMetadata : 1; unsigned char _readyToDealloc : 1; unsigned char _didSynchronizeOldMessages : 1; unsigned char _recentsExist : 1; unsigned char _settingServerCount : 1; unsigned short _reserved : 16; NSString *_mailboxName; MFIMAPDownloadCache *_downloadCache; MFIMAPCommandPipeline *_fetchPipeline; unsigned long long _serverDeletedCount; unsigned long long _serverUidNext; unsigned long long _lastHighestModSequence; unsigned long long _highestModSequence; NSString *_selectedUID; unsigned int _currentFetchUid; NSString *_relativePath; NSArray *_additionalSynchronizationSearchArguments; NSArray *_additionalFetchHeaders; id _downloadDelegate; MFIMAPConnection *_cachedConnection; NSLock *_cachedConnectionLock; } @property BOOL shouldUseIDLE; @property (retain, nonatomic) VFCancelationToken *cancelationToken; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; + (id)copyRemoteIDForTemporaryUid:(unsigned int)a0; + (void)setHandlerForTemporaryUidToRemoteIDMapping:(id /* block */)a0; - (void)close; - (id)relativePath; - (id)_searchFlagsForUIDs:(id)a0 usingConnection:(id)a1; - (void)setServerMessageCount:(unsigned long long)a0; - (id)sequenceIdentifierForUIDs:(id)a0; - (void)dealloc; - (void)updateServerUnreadCountClosingConnection:(BOOL)a0; - (BOOL)connection:(id)a0 shouldHandleUntaggedResponse:(id)a1 forCommand:(struct { int x0; id x1; id x2; unsigned long long x3; id x4; } *)a2; - (id)storeSearchResultMatchingCriterion:(id)a0 limit:(unsigned int)a1 offset:(id)a2 error:(id *)a3; - (unsigned long long)serverMessageCount; - (void)willRemoveDelegation:(id)a0; - (id)offlineCacheIfOffline; - (void)_scheduleIdleTransition:(BOOL)a0; - (void)updateDeletedCountWithNotDeletedCount:(unsigned long long)a0; - (id)_idleConditionsObservable; - (id)_observeChangesInIdleConditions; - (unsigned long long)growFetchWindow; - (void)_fetchServerUnreadCountWithConnection:(id)a0; - (void)connection:(id)a0 didReceiveResponse:(id)a1 forCommand:(struct { int x0; id x1; id x2; unsigned long long x3; id x4; } *)a2; - (BOOL)_selectMailbox:(id)a0 withConnection:(id)a1; - (id)offlineCache; - (id)deletedMessages; - (void)deleteMessagesOlderThanNumberOfDays:(int)a0 compact:(BOOL)a1; - (BOOL)canFetchMessageIDs; - (id)mailboxName; - (void)_updateServerUnreadCount:(unsigned long long)a0; - (void)reselectMailbox; - (void).cxx_destruct; - (void)setHighestModSequence:(unsigned long long)a0; - (long long)fetchMessagesWithMessageIDs:(id)a0 andSetFlags:(unsigned long long)a1; - (void)setSequenceIdentifier:(id)a0 forUIDs:(id)a1; - (id)messageIdRollCall:(id)a0; - (void)_fetchMessagesMatchingCriterion:(id)a0 limit:(unsigned int)a1 withOptions:(unsigned int)a2 handler:(id /* block */)a3; - (id)_newSearchResponseQueueForConnection:(id)a0 limit:(unsigned int)a1; - (void)updateDeletedCount; - (BOOL)shouldStartIdleForConnection:(id)a0; - (BOOL)_shouldContinueToPreservedUID:(unsigned long long)a0; - (unsigned long long)_fetchMessagesWithArguments:(id)a0 idRange:(id)a1 onConnection:(id)a2 synchronize:(BOOL)a3 limit:(unsigned long long)a4 topUIDToCompact:(unsigned long long)a5 topKnownUID:(unsigned long long)a6 success:(BOOL *)a7 examinedRange:(struct _NSRange { unsigned long long x0; unsigned long long x1; } *)a8 fetchableUIDsFound:(unsigned long long *)a9 preserveUID:(unsigned long long *)a10 numFetchedUIDs:(unsigned long long *)a11; - (long long)fetchNumMessages:(unsigned long long)a0 preservingUID:(id)a1 options:(unsigned long long)a2; - (id)downloadCache; - (id)_dataForMessage:(id)a0 readHeadersOnly:(BOOL)a1; - (id)_fetchBodyDataForMessage:(id)a0 andHeaderDataIfReadilyAvailable:(id *)a1 downloadIfNecessary:(BOOL)a2 partial:(BOOL *)a3; - (BOOL)_fetchDataForMimePart:(id)a0 range:(struct _NSRange { unsigned long long x0; unsigned long long x1; })a1 isComplete:(BOOL *)a2 consumer:(id)a3; - (id)_fetchFullBodyDataForMessage:(id)a0 andHeaderDataIfReadilyAvailable:(id *)a1 downloadIfNecessary:(BOOL)a2 didDownload:(BOOL *)a3; - (id)_fetchHeaderDataForMessage:(id)a0 downloadIfNecessary:(BOOL)a1; - (void)_handleFlagsChangedForMessages:(id)a0 flags:(id)a1 oldFlagsByMessage:(id)a2; - (BOOL)allowsAppend; - (BOOL)bodyFetchRequiresNetworkActivity; - (BOOL)canCompact; - (BOOL)canFetchSearchResults; - (void)connectionDidDisconnect:(id)a0; - (void)doCompact; - (id)fetchPipeline; - (BOOL)hasValidCacheFileForMessage:(id)a0; - (id)messageForRemoteID:(id)a0; - (id)messageForRemoteID:(id)a0 inMailbox:(id)a1; - (id)setFlagsFromDictionary:(id)a0 forMessages:(id)a1; - (void)_setFlagsForMessages:(id)a0; - (unsigned long long)appendMessages:(id)a0 unsuccessfulOnes:(id)a1 newMessageIDs:(id)a2 newMessages:(id)a3 flagsToSet:(id)a4; - (long long)fetchMessagesMatchingCriterion:(id)a0 limit:(unsigned int)a1; - (long long)fetchMessagesWithRemoteIDs:(id)a0 andSetFlags:(unsigned long long)a1; - (id)initWithMailboxUid:(id)a0 readOnly:(BOOL)a1; - (id)remoteIDsFromUniqueRemoteIDs:(id)a0; - (void)setFlagsCancelled:(id)a0 forMessages:(id)a1; - (void)setFlagsForAllMessagesFromDictionary:(id)a0; - (BOOL)setPreferredEncoding:(unsigned int)a0 forMessage:(id)a1; - (id)uniqueRemoteIDsForMessages:(id)a0; - (id)willSetFlagsFromDictionary:(id)a0 forMessages:(id)a1; - (void)setDownloadDelegate:(id)a0; - (void)_addOfflineTransferMessages:(id)a0; - (BOOL)_changedFlagsForMessage:(id)a0 fetchResponse:(id)a1 newFlags:(unsigned long long *)a2; - (BOOL)_doUidCopy:(struct { id x0; id x1; id x2; id x3; BOOL x4; id x5; id x6; id x7; id x8; unsigned int x9; unsigned int x10; } *)a0 toStore:(id)a1 newMessages:(id)a2; - (unsigned long long)_doAppend:(struct { id x0; id x1; id x2; id x3; BOOL x4; id x5; id x6; id x7; id x8; unsigned int x9; unsigned int x10; } *)a0; - (id)_downloadForMessageBodyData:(id)a0; - (void)_performActionsOnConnection:(id)a0 uidsToFetch:(id *)a1 uidsToSync:(id *)a2 messagesToCompact:(id *)a3 libraryDetails:(id)a4 flagSearchResults:(id)a5 shouldForce:(BOOL)a6 newUIDsToFetch:(unsigned int *)a7; - (id)_performBodyDataDownload:(id)a0 usingConnection:(id)a1 isPartial:(BOOL *)a2; - (id)_searchArgumentsForSynchronize; - (void)_setFlagsFromDictionary:(id)a0 forMessages:(id)a1; - (void)_synchronouslySetFlags:(id)a0 clearFlags:(id)a1 forMessages:(id)a2 originalChanges:(id)a3; - (id)_uidsForMessages:(id)a0; - (id)_updateLibraryForTransferedMessages:(id)a0 toDestinationMailbox:(id)a1 newMessageInfo:(id)a2 flagsToSet:(id)a3; - (void)_updateSelectedUID:(unsigned long long *)a0; - (void)addFlagChanges:(id)a0 forMessages:(id)a1; - (id)addMessages:(id)a0 newMessagesByOldMessage:(id)a1; - (unsigned long long)appendMessages:(id)a0 unsuccessfulOnes:(id)a1 newMessageIDs:(id)a2 newMessages:(id)a3 flagsToSet:(id)a4 customIMAPFlagsToSet:(id)a5; - (BOOL)canPerformOfflineAppend; - (void)connection:(id)a0 didBeginBodyLoad:(id)a1 section:(id)a2; - (void)connection:(id)a0 didFinishLoadingBodyData:(id)a1 section:(id)a2; - (void)connection:(id)a0 didLoadMoreBodyData:(id)a1 section:(id)a2; - (unsigned long long)fetchMessagesWithUIDs:(id)a0 connection:(id)a1 newCount:(unsigned long long)a2 flagsToSet:(unsigned long long)a3 queueClass:(Class)a4; - (void)focusedMessageDidChange:(id)a0; - (id)moveMessages:(id)a0 toMailbox:(id)a1 markAsRead:(BOOL)a2; - (id)newDictionaryForLocalFlags:(unsigned long long)a0 serverFlags:(unsigned long long)a1 existingDictionary:(id)a2; - (BOOL)performBatchOperationWithUIDs:(id)a0 requiringConnection:(BOOL)a1 withOptions:(unsigned int)a2 operation:(id /* block */)a3; - (BOOL)performOperationRequiringConnection:(BOOL)a0 withOptions:(unsigned int)a1 operation:(id /* block */)a2; - (void)removeAllLocalMessages; - (void)setAdditionalFetchHeaders:(id)a0; - (void)setAdditionalSynchronizationSearchArguments:(id)a0; - (void)setMailboxUidValidity:(unsigned int)a0; - (void)setUid:(unsigned int)a0 forMessageWithTemporaryUid:(unsigned int)a1; - (BOOL)shouldRetryEmptyBodyDownloadForMessage:(id)a0; - (unsigned long long)syncMessagesWithUIDs:(id)a0 connection:(id)a1 libraryDetails:(id)a2 flagSearchResults:(id)a3; @end