@class NSLock, NSString, NSRecursiveLock, NSArray, NSSet, NSMutableDictionary, MFIMAPOperationCache, NSMutableArray, NSNumber; @interface IMAPAccount : MailAccount <MFIMAPConnectionDelegate, MFIMAPMailboxListFilter> { NSString *_separatorChar; NSString *_serverNamespace; struct __CFArray { } *_cachedConnections; struct __CFArray { } *_mailboxesToSynchronize; MFIMAPOperationCache *_offlineCache; unsigned long long _greatestInboxUid; double _timeLastFetchedMailboxList; NSRecursiveLock *_flagChangesLock; NSMutableArray *_recentFlagChanges; NSRecursiveLock *_connectionLock; int _nextConnectionTag; void *_packetContextAssertion; NSArray *_lockOrderingArray; unsigned int _readBufferSize; id /* block */ _offlineCacheFlushHandler; unsigned char _fetchedMailboxList : 1; unsigned char _isOffline : 1; NSArray *_lastKnownCapabilities; NSLock *_eSearchSupportedLock; NSNumber *_eSearchSupported; double _lastPushRegistration; NSString *_apsTopic; NSSet *_pushedMailboxUids; NSMutableDictionary *_pushRegisteredMailboxes; int _supportedPushServiceLevel; unsigned char _observingPushedFoldersPrefsChanged : 1; unsigned char _mustRegisterForPushOnNextConnection : 1; unsigned char _didRequestPushRegistration : 1; unsigned char _listeningForDeviceTokenChanges : 1; unsigned char _didUpdateSeparatorAndNamespace : 1; } @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; + (id)accountTypeIdentifier; + (unsigned int)defaultPortNumber; + (unsigned int)defaultSecurePortNumber; + (id)accountTypeString; + (id)saslProfileName; + (void)_deleteQueuedMailboxes:(id)a0; + (id)csAccountTypeString; + (void *)legacyKeychainProtocol; - (void)saveState; - (id)copyDiagnosticInformation; - (void)dealloc; - (BOOL)connection:(id)a0 shouldHandleUntaggedResponse:(id)a1 forCommand:(struct { int x0; id x1; id x2; unsigned long long x3; id x4; } *)a2; - (void)setCompactWhenClosingMailboxes:(BOOL)a0; - (id)hostname; - (id)offlineCacheIfOffline; - (void)setIsOffline:(BOOL)a0; - (id)serviceName; - (void)checkInConnection:(id)a0; - (BOOL)compactWhenClosingMailboxes; - (BOOL)isOffline; - (void)_setCapabilities:(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)requiresAuthentication; - (id)clientToken; - (id)offlineCache; - (void)setDisplayName:(id)a0; - (void)setLibrary:(id)a0; - (void)messagesAdded:(id)a0; - (void)_writeCustomInfoToMailboxCache:(id)a0; - (Class)connectionClass; - (id)mailboxNamesForPushRegistration; - (void)setHandlerForOfflineCacheFlush:(id /* block */)a0; - (id)specialUseAttributesForMailbox:(id)a0; - (id)_URLScheme; - (void)_apsDeviceTokenChanged:(id)a0; - (id)_copyMailboxListForNames:(id)a0; - (id)_copyMailboxListPreferenceForKey:(id)a0; - (id)_copyMailboxUidWithParent:(id)a0 name:(id)a1 attributes:(unsigned int)a2 existingMailboxUid:(id)a3 dictionary:(id)a4; - (id)_copyPushedMailboxesForPrefix:(id)a0; - (id)_copyUserPushedMailboxes; - (id)_dataForTemporaryUid:(unsigned int)a0; - (id)_externalMailboxUids; - (id)_fileSystemServerPathPrefix; - (void)_flushOfflineCache; - (id)_infoForMatchingURL:(id)a0; - (void)_invokeBlock:(id /* block */)a0; - (id)_listingForMailboxUid:(id)a0 listAllChildren:(BOOL)a1; - (id)_listingForMailboxUid:(id)a0 listAllChildren:(BOOL)a1 onlySubscribed:(BOOL)a2; - (id)_listingForMailboxUid:(id)a0 listAllChildren:(BOOL)a1 onlySubscribed:(BOOL)a2 statusDataItems:(id)a3 withConnection:(id)a4 statusEntriesByMailbox:(id *)a5; - (void)_mailboxListingChanged; - (id)_mailboxPathPrefix; - (void)_mailboxesWereRemovedFromTree:(id)a0 withFileSystemPaths:(id)a1; - (id)_nameForMailboxUid:(id)a0; - (id)_newMailboxWithParent:(id)a0 name:(id)a1 attributes:(unsigned int)a2 dictionary:(id)a3 withCreationOption:(int)a4; - (id)_notesPrefix; - (id)_notificationNameForMailbox:(id)a0 withPrefix:(id)a1; - (id)_pathComponentForUidName:(id)a0; - (void)_readCustomInfoFromMailboxCache:(id)a0; - (void)_registerForDeviceTokenChanges; - (BOOL)_registerPushNotificationPrefix:(id)a0 forMailboxNames:(id)a1; - (void)_releaseAllConnectionsAndCallSuper:(BOOL)a0; - (void)_renameLocalSpecialMailboxesToName:(id)a0; - (void)_schedulePushRegistrationConnection; - (BOOL)_setChildren:(id)a0 forMailboxUid:(id)a1; - (void)_setSpecialMailbox:(id)a0 forType:(int)a1; - (id)_specialMailboxUidWithType:(int)a0 create:(BOOL)a1; - (void)_synchronouslyLoadListingForParent:(id)a0; - (id)_uidNameForPathComponent:(id)a0; - (void)_unregisterForDeviceTokenChanges; - (void)_updatePushedMailboxesAndNotify:(BOOL)a0; - (void)_updateSeparatorAndNamespaceWithConnection:(id)a0; - (void)_waitForMailboxListingLoadToComplete; - (void)acquireNetworkAssertion; - (id)allMailMailboxUid; - (BOOL)allowsPartialDownloads; - (id)apsTopic; - (BOOL)canAttemptPushRegistration; - (BOOL)canFetch; - (BOOL)canGoOffline; - (BOOL)canMailboxBeDeleted:(id)a0; - (BOOL)canReceiveNewMailNotifications; - (id)certUIService; - (void)changePushedMailboxUidsAdded:(id)a0 deleted:(id)a1; - (void)checkInConnection:(id)a0 destroy:(BOOL)a1; - (void)checkInConnectionsForStore:(id)a0; - (BOOL)connectAndAuthenticate:(id)a0; - (void)connectionDidDisconnect:(id)a0; - (BOOL)deleteInPlaceForAllMailboxes; - (BOOL)deleteInPlaceForMailbox:(id)a0; - (void)deleteMessagesFromMailboxUid:(id)a0 olderThanNumberOfDays:(unsigned int)a1; - (id)errorForResponse:(id)a0; - (id)fetchLimits; - (void)fetchMailboxList; - (void)filterMailboxList:(id)a0 forMailbox:(id)a1 options:(int)a2; - (void)flushOfflineCache; - (BOOL)getMailboxListWithConnection:(id)a0 statusDataItems:(id)a1 statusEntriesByMailbox:(id *)a2; - (void)handleAlertResponse:(id)a0; - (void)handleOverQuotaResponse:(id)a0; - (void)handlePushNotificationOnMailboxes:(id)a0 missedNotifications:(BOOL)a1; - (BOOL)hasPendingOfflineOperations; - (id)initWithLibrary:(id)a0 persistentAccount:(id)a1; - (BOOL)isMailboxLocalForType:(int)a0; - (BOOL)isSpecialMailbox:(id)a0; - (id)lastKnownCapabilities; - (double)lastPushRegistration; - (id)mailboxPathExtension; - (id)mailboxUidForRelativePath:(id)a0 create:(BOOL)a1; - (id)mailboxesRegisteredForPushByHash; - (unsigned long long)minID; - (BOOL)mustRegisterForPushOnNextConnection; - (id)nameForMailboxUid:(id)a0; - (void)networkChanged; - (BOOL)newMailboxNameIsAcceptable:(id)a0 reasonForFailure:(id *)a1; - (id)notificationNamesForPrefix:(id)a0 mailboxUids:(id)a1; - (id)offlineCacheDirectoryPath; - (id)offlineCacheIfExists; - (id)pushedMailboxUids; - (unsigned int)readBufferSize; - (void)releaseAllConnections; - (void)releaseAllForcedConnections; - (void)releaseNetworkAssertion; - (BOOL)renameMailbox:(id)a0 newName:(id)a1 parent:(id)a2; - (void)resetMailboxTimer; - (id)secureServiceName; - (id)separatorChar; - (id)serverPathPrefix; - (id)serverPathPrefixAccountValue; - (void)serverRegisteredMailboxes:(id)a0 withTopic:(id)a1 version:(int)a2; - (void)setAPSTopic:(id)a0; - (void)setAllowsPartialDownloads:(BOOL)a0; - (void)setLastPushRegistration:(double)a0; - (void)setMustRegisterForPushOnNextConnection:(BOOL)a0; - (void)setReadBufferSize:(unsigned int)a0; - (void)setServerPathPrefix:(id)a0; - (void)setStoreMailboxType:(int)a0 onServer:(BOOL)a1; - (void)setSupportedPushServiceLevel:(int)a0; - (BOOL)shouldRegisterForPush; - (BOOL)shouldRestoreMessagesAfterFailedDelete; - (id)specialUseAttributeForType:(int)a0; - (void)startListeningForNotifications; - (id)statisticsKind; - (void)stopListeningForNotifications; - (Class)storeClass; - (BOOL)storeMailboxTypeOnServer:(int)a0; - (int)supportedPushServiceLevel; - (BOOL)supportsAppend; - (BOOL)supportsMailboxEditing; - (BOOL)supportsRemoteAppend; - (BOOL)supportsUserPushedMailboxes; - (void)throttledGetMailboxListWithConnection:(id)a0; - (void)transferNotificationSessionToAccount:(id)a0; - (void)unselectMailbox:(id)a0; - (void)updatePushRegisteredMailboxes:(id)a0; - (BOOL)verifyESearchSupportWithBlock:(id /* block */)a0; - (BOOL)xListSupportedOnConnection:(id)a0; - (id)flagChangesLock; - (BOOL)_deleteMailbox:(id)a0; - (id)connectionForStore:(id)a0 delegate:(id)a1 options:(int)a2; - (id)flagChangesForMailboxPath:(id)a0 UID:(unsigned int)a1 connectTime:(double)a2; - (id)moveMessages:(id)a0 fromMailbox:(id)a1 toMailbox:(id)a2 markAsRead:(BOOL)a3; - (void)nowWouldBeAGoodTimeToStartBackgroundSynchronization; - (BOOL)shouldExpungeMessagesOnDelete; - (void)setServerPathPrefix:(id)a0 shouldSync:(BOOL)a1; - (void)setCommitTime:(double)a0 forConnectionTag:(unsigned int)a1; - (void)_didSynchronizeMailboxCachesAndFoundChanges:(BOOL)a0; - (id)_mailboxUidForName:(id)a0; - (void)_purgeStaleFlagChanges; - (void)_releaseAllConnectionsAndCallSuper:(BOOL)a0 edgeForcedOnly:(BOOL)a1 ifIdleForTimeInterval:(double)a2 saveOfflineCache:(BOOL)a3; - (void)_synchronizeAccountWithServer; - (void)addFlagChanges:(id)a0 forMailboxPath:(id)a1 UID:(unsigned int)a2; - (BOOL)getMailboxListWithConnection:(id)a0; - (unsigned long long)greatestInboxUid; - (id)mfl_lockOrdering; - (unsigned long long)minUID; - (unsigned int)minimumPartialDownloadSize; - (BOOL)needToSynchronizeMailboxCaches; - (id)registerPushNotificationPrefix:(id)a0 forMailboxUids:(id)a1; - (void)releaseAllConnectionsIdleForTimeInterval:(double)a0; - (void)removeFlagChanges:(id)a0 forMessages:(id)a1; - (void)removeFlagChangesCommittedBefore:(double)a0; - (BOOL)requiresDataForOfflineTransfersFromStore:(id)a0; - (void)setConnectionTag:(unsigned int)a0 forFlagChanges:(id)a1 forMessages:(id)a2; - (void)setValueInAccountInfo:(id)a0 forKey:(id)a1; @end