@class NNMKSyncPersistenceHandler, NNMKFetchesSyncServiceServer, NSObject, NNMKResendScheduler, NNMKAccountsSyncServiceServer, NNMKMessagesSyncServiceServer, NNMKInitialSyncProgressTracker, NNMKBatchRequestHandler, NNMKPairedDeviceInfo, NNMKDeviceSyncRegistry, NNMKProtectedSyncServiceServer, NNMKSyncController, NNMKProtectedContentSyncServiceServer, NSString, NNMKSyncSessionController, NNMKMessageContentSyncServiceServer, NNMKMailboxSelection; @protocol NNMKDirectoryProvider, NNMKSyncStateManager, NNMKSyncProviderDelegate, OS_dispatch_queue; @interface NNMKSyncProvider : NNMKSyncEndpoint { BOOL _pairedDeviceSupportsMultipleMailboxes; } @property (retain, nonatomic) NSObject *providerQueue; @property (retain, nonatomic) id syncStateManager; @property (retain, nonatomic) NNMKDeviceSyncRegistry *pairedDeviceRegistry; @property (nonatomic) BOOL fullSyncRecoveredInThisSession; @property (retain, nonatomic) NNMKSyncPersistenceHandler *persistenceHandler; @property (retain, nonatomic) NNMKMessagesSyncServiceServer *messagesSyncService; @property (retain, nonatomic) NNMKMessageContentSyncServiceServer *contentSyncService; @property (retain, nonatomic) NNMKAccountsSyncServiceServer *accountsSyncService; @property (retain, nonatomic) NNMKFetchesSyncServiceServer *fetchesSyncService; @property (retain, nonatomic) NNMKProtectedSyncServiceServer *protectedSyncService; @property (retain, nonatomic) NNMKProtectedContentSyncServiceServer *protectedContentSyncService; @property (retain, nonatomic) NNMKSyncController *syncController; @property (retain, nonatomic) NNMKSyncSessionController *sessionController; @property (retain, nonatomic) id directoryProvider; @property (retain, nonatomic) NNMKResendScheduler *resendScheduler; @property (retain, nonatomic) NNMKInitialSyncProgressTracker *initialSyncProgressTracker; @property (retain, nonatomic) NNMKBatchRequestHandler *batchRequestHandler; @property (nonatomic) BOOL triggeredInitialSyncToRecoverFromSyncVersionMismatch; @property (weak, nonatomic) id delegate; @property (readonly, nonatomic) BOOL isPaired; @property (nonatomic) BOOL organizeByThread; @property (readonly, nonatomic) NNMKMailboxSelection *mailboxSelection; @property (readonly, nonatomic) NNMKPairedDeviceInfo *pairedDeviceInfo; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; + (BOOL)prepareForSystemAppDeletion:(id *)a0; - (void)fetchesSyncServiceServer:(id)a0 didRequestFetch:(id)a1; - (void)syncStandaloneAccountIdentity:(id)a0; - (void)messagesSyncServiceServer:(id)a0 didMoveMessages:(id)a1; - (void)messagesSyncServiceServerConnectivityChanged:(id)a0; - (BOOL)pairedDeviceSupportsMultipleMailboxes; - (void)markConversationIdForNotNotify:(id)a0; - (id)_watchAccounts; - (void)messagesSyncServiceServer:(id)a0 didRequestSendMessage:(id)a1; - (void)fetchesSyncServiceServer:(id)a0 didRequestMoreMessagesInBatch:(id)a1; - (void)messagesSyncServiceServer:(id)a0 didDeleteMessages:(id)a1; - (void)dealloc; - (void)_handleDidPairWithNewDevice; - (void)_handleDidUnpair; - (void)markConversationIdForNotify:(id)a0 messages:(id)a1 includesProtectedMessages:(BOOL)a2; - (void)_reportMessageContentDownloadFailureForMessageId:(id)a0 mailbox:(id)a1; - (void)syncStateManagerDidInvalidateSyncSession:(id)a0 syncSessionIdentifier:(id)a1; - (void)messagesSyncServiceServer:(id)a0 didUpdateMessagesStatus:(id)a1; - (BOOL)setupPairedDeviceRegistry; - (void)_stopTaks; - (void)messagesSyncServiceServer:(id)a0 didFailSendingProtobufWithIDSIdentifier:(id)a1 errorCode:(long long)a2; - (void)_requestDelegateToStopDownloadingMessageElementsForMessageWithId:(id)a0; - (void)_requestDelegateForResendingMessagesWithIds:(id)a0; - (void)resendScheduler:(id)a0 didRequestRetrySendingComposeMessageProgress:(long long)a1 messageId:(id)a2 resendInterval:(unsigned long long)a3; - (void)syncStateManagerDidUnpair:(id)a0; - (void)updateMailboxSelection:(id)a0; - (void)fetchesSyncServiceServer:(id)a0 didRequestHaltSync:(id)a1; - (BOOL)_verifyDatabaseOkForFullSyncVersion:(unsigned long long)a0; - (void)resendScheduler:(id)a0 didRequestEnqueueIDSIdentifierForResend:(id)a1 date:(id)a2 silent:(BOOL)a3; - (void)resendScheduler:(id)a0 didRequestDequeueIDSIdentifierForResend:(id)a1; - (void)_handleDidFailSendingProtobufWithIDSIdentifier:(id)a0 errorCode:(long long)a1; - (void)tearDown; - (void)_shouldHandleForwardForNotification:(id)a0 withCompletion:(id /* block */)a1; - (void)_updateMessagesStatus:(id)a0 mailbox:(id)a1; - (void)replyWithAccounts:(id)a0; - (void)_checkConnectivityBasedSuspensionTimer:(BOOL)a0; - (void)_addMessageContent:(id)a0 forMessage:(id)a1 loadedProtected:(BOOL)a2 mailbox:(id)a3; - (void)_requestDelegateForContentForMessageWithId:(id)a0 highPriority:(BOOL)a1; - (void)trackerDidFinishSendingInitialSyncContentToPairedDevice:(id)a0; - (void)fetchesSyncServiceServer:(id)a0 didFailSendingProtobufWithIDSIdentifier:(id)a1 errorCode:(long long)a2; - (BOOL)_isUsingCompaionSync; - (void)replyWithAccountToResend:(id)a0; - (void)fetchesSyncServiceServer:(id)a0 didRequestMoreMessages:(id)a1; - (void)_triggerInitialSyncTrackingProgress:(BOOL)a0; - (void)updateConversationId:(id)a0 mute:(BOOL)a1; - (void)_requestDelegateToSendComposedMessage:(id)a0; - (void)messagesSyncServiceServer:(id)a0 didRecieveAttachmentsAtURL:(id)a1 composedMessageId:(id)a2; - (void)_requestDelegateForMessagesToSendAsFetchResponseForMessageIds:(id)a0; - (void)accountsSyncServiceServer:(id)a0 didSendProtobufSuccessfullyWithIDSIdentifier:(id)a1; - (void)_sendWatchAccountStatusRequest; - (void)fetchesSyncServiceServer:(id)a0 didRequestFullSync:(id)a1; - (void)fetchesSyncServiceServer:(id)a0 didNotifyInitialSyncFinished:(id)a1; - (void)resendScheduler:(id)a0 didRequestRetrySendingMailboxSelectionWithResendInterval:(unsigned long long)a1; - (void)messagesSyncServiceServer:(id)a0 didWarnMessagesFilteredOut:(id)a1; - (void)_requestDelegateForAccounts; - (void)_requestDelegateForMoreMessagesWithMailbox:(id)a0 beforeDate:(id)a1 messagesForspecialMailboxFilterType:(unsigned long long)a2; - (void)notifyFetchCompleted; - (void)_requestDelegateToStopDownloadingAllMessageElements; - (unsigned long long)resendScheduler:(id)a0 didRequestNewResendIntervalForPreviousResendInterval:(unsigned long long)a1 errorCode:(long long)a2; - (void)reportMessageContentDownloadFailureForMessageId:(id)a0; - (void)_deleteMessagesWithIds:(id)a0 mailbox:(id)a1; - (void)_sendUpdatedMailboxSelection:(unsigned long long)a0 resendInterval:(unsigned long long)a1; - (BOOL)containsSyncedMailbox:(id)a0; - (id)_createDefaultSyncStateManager; - (void)batchRequestHandlerDidTimeoutFetchRequest:(id)a0; - (void)_fastForwardToFullSyncVersion:(unsigned long long)a0; - (void)resendScheduler:(id)a0 didRequestRetrySendingMessageDeletions:(id)a1 deletionsMessageIds:(id)a2 resendInterval:(unsigned long long)a3; - (void)_sendUpdatedMailboxSelection:(unsigned long long)a0; - (void)_requestDelegateForVIPList:(id)a0; - (void)_requestDelegateForContentForMessageIds:(id)a0 highPriority:(BOOL)a1; - (void)replyWithFirstMessages:(id)a0 includesProtectedMessages:(BOOL)a1 mailboxes:(id)a2 organizedByThread:(BOOL)a3; - (void)accountsSyncServiceServer:(id)a0 didReceivedAccountAuthenticationStatus:(id)a1 requestTime:(double)a2; - (void)resendScheduler:(id)a0 didRequestRetrySendingAccountIdentifier:(id)a1 resendInterval:(unsigned long long)a2; - (void)updateVIPSenderList:(id)a0; - (void)_requestDelegateForFirstMessagesForMailboxes:(id)a0; - (id)currentDeviceRegistry; - (void)_requestDelegateForMoreMessagesBeforeDateReceived:(id)a0 forConversationWithId:(id)a1 mailbox:(id)a2; - (id)initWithDelegate:(id)a0 syncStateManager:(id)a1 directoryProvider:(id)a2; - (id)_bbSubsectionIdsForMessage:(id)a0; - (void)_checkBatchFetchedMessages; - (void)_triggerInitialSync; - (id)syncServiceEndpoints; - (void)replyWithMessagesToResend:(id)a0 includesProtectedMessages:(BOOL)a1; - (void)messagesSyncServiceServerSpaceBecameAvailable:(id)a0; - (void)fetchesSyncServiceServer:(id)a0 didSendProtobufSuccessfullyWithIDSIdentifier:(id)a1; - (void)addAttachmentData:(id)a0 forMessageId:(id)a1 contentId:(id)a2 loadedProtected:(BOOL)a3; - (void)deleteMessagesWithIds:(id)a0; - (void)_markConversationWithId:(id)a0 forState:(unsigned long long)a1 include:(BOOL)a2 mailbox:(id)a3; - (void)_replyWithMoreMessages:(id)a0 forConversationWithId:(id)a1 includesProtectedMessages:(BOOL)a2 mailbox:(id)a3; - (void)syncStateManagerDidBeginSyncSession:(id)a0 syncSessionType:(id)a1 syncSessionIdentifier:(id)a2; - (void)fetchesSyncServiceServer:(id)a0 didRequestMoreMessagesForConversation:(id)a1; - (BOOL)_isPaired; - (id)watchAccounts; - (id)bulletinFlagsForMessageStatus:(unsigned long long)a0 dateReceived:(id)a1 messageWillBeAddedToSyncProvider:(BOOL)a2 mailboxId:(id)a3; - (void)_handleHaltSyncForMailbox:(id)a0; - (void)_triggerFullSyncForMailboxes:(id)a0; - (void)replyWithMessagesToSendAsFetchResponse:(id)a0 includesProtectedMessages:(BOOL)a1; - (BOOL)isMessageOkForSyncedMailboxes:(id)a0; - (void)_triggerFullSyncForMailbox:(id)a0; - (void)resendScheduler:(id)a0 didRequestRetrySendingMessageWithIds:(id)a1; - (BOOL)pairedDeviceSupportsStandaloneMode; - (void).cxx_destruct; - (void)resendObjectsForIDSIdentifier:(id)a0; - (void)addMessageContent:(id)a0 forMessage:(id)a1 loadedProtected:(BOOL)a2; - (id)syncedMailboxes; - (void)_requestDelegateForFetchForMailboxes:(id)a0; - (void)_updateMailboxSelection:(id)a0 notifyClient:(BOOL)a1; - (void)fetchesSyncServiceServer:(id)a0 didRequestFetchInBatch:(id)a1; - (void)accountsSyncServiceServer:(id)a0 didFailSendingProtobufWithIDSIdentifier:(id)a1 errorCode:(long long)a2; - (void)reportWillDownloadFirstMessages; - (void)resendScheduler:(id)a0 didRequestRetrySendingVIPListWithResendInterval:(unsigned long long)a1; - (id)initWithDelegate:(id)a0; - (void)_setPairedDeviceSupportsMultipleMailboxes:(BOOL)a0; - (void)replyWithMoreMessages:(id)a0 context:(id)a1; - (void)_markConversationIdForNotify:(id)a0 messages:(id)a1 includesProtectedMessages:(BOOL)a2 mailbox:(id)a3; - (void)addUpdateOrDeleteAccounts:(id)a0; - (void)messagesSyncServiceServer:(id)a0 didRequestCompactMessages:(id)a1; - (void)resendScheduler:(id)a0 didRequestEnqueueIDSIdentifiersForResend:(id)a1; - (void)updateConversationId:(id)a0 notify:(BOOL)a1 messages:(id)a2; - (void)_replyWithMessagesToResend:(id)a0 includesProtectedMessages:(BOOL)a1 mailbox:(id)a2; - (id)requestWatchAccounts; - (void)_addMessages:(id)a0 mailbox:(id)a1; - (void)_handleFetchRequestFromWatch:(id)a0; - (void)fetchesSyncServiceServer:(id)a0 didRequestContent:(id)a1; - (void)addMessages:(id)a0; - (BOOL)syncStateManagerShouldAddFavoriteSubsectionForMailboxId:(id)a0; - (void)resendScheduler:(id)a0 didRequestRetrySendingAccountWithId:(id)a1; - (void)resendScheduler:(id)a0 didRequestRetrySendingDeletionForAccountWithId:(id)a1 resendInterval:(unsigned long long)a2; - (BOOL)_pairedDeviceSupportsMultipleMailboxes; - (void)messagesSyncServiceServer:(id)a0 didUpdateMailboxSelection:(id)a1; - (id)_sendFirstMessages:(id)a0 mailboxes:(id)a1 shouldUseProtectedChannel:(BOOL)a2; - (id)_messageProtobufForMessage:(id)a0; - (void)_notifyDelegateThatMessagesStatusWereUpdated:(id)a0; - (void)accountsSyncServiceServer:(id)a0 didChangeAccountSourceType:(id)a1; - (void)_requestDelegateForResendingAccountWithId:(id)a0; - (void)addImageAttachment:(id)a0 forMessageId:(id)a1 contentId:(id)a2 loadedProtected:(BOOL)a3; - (id)_legacy_sendFirstMessages:(id)a0 syncedMailbox:(id)a1 shouldUseProtectedChannel:(BOOL)a2; - (void)updateMessagesStatus:(id)a0; - (id)_initialSyncForMailbox:(id)a0 messages:(id)a1 shouldUseProtectedChannel:(BOOL)a2; - (BOOL)_verifyDatabaseOkForFullSyncVersion:(unsigned long long)a0 mailbox:(id)a1; - (void)replyWithMessageSendingProgress:(long long)a0 forComposedMessageId:(id)a1; - (void)resendScheduler:(id)a0 didRequestRetryFullSyncForMailboxes:(id)a1; - (void)notifyFetchCompletedForMailboxId:(id)a0 error:(id)a1; - (void)_sendStandaloneAccountIdentity:(id)a0 resendInterval:(unsigned long long)a1; - (void)_addAttachmentData:(id)a0 forMessageId:(id)a1 contentId:(id)a2 loadedProtected:(BOOL)a3 mailbox:(id)a4; - (void)syncStateManager:(id)a0 handleForwardForNotification:(id)a1 completion:(id /* block */)a2; - (void)_triggerInitialSyncToRecoverFromSyncVersionMismatch; - (void)updateVIPSenderList:(id)a0 requestContext:(id)a1; - (void)_verifyPairingForcingSync:(BOOL)a0; - (void)_replyWithMoreMessages:(id)a0 forDateReceivedBefore:(id)a1 includesProtectedMessages:(BOOL)a2 mailbox:(id)a3 messagesForSpecialMailbox:(unsigned long long)a4; - (void)fetchesSyncServiceServer:(id)a0 didNotifyAboutWebKitStatus:(id)a1; - (BOOL)_isConnectedToWatch; - (void)syncStateManagerDidChangePairedDevice:(id)a0; - (void)_handleMailboxesDesync; - (id)_handleFetchRequest:(id)a0 shouldResumeSync:(BOOL *)a1; - (void)messagesSyncServiceServer:(id)a0 didSendProtobufSuccessfullyWithIDSIdentifier:(id)a1; - (void)_addMessages:(id)a0 messagesAreNew:(BOOL)a1 mailbox:(id)a2; - (void)messageContentSyncServiceServer:(id)a0 didSendProtobufSuccessfullyWithIDSIdentifier:(id)a1; - (void)messageContentSyncServiceServer:(id)a0 didFailSendingProtobufWithIDSIdentifier:(id)a1 errorCode:(long long)a2; - (void)_storeScreenRelatedValues; - (void)resendScheduler:(id)a0 didRequestRetrySendingContentForMessageId:(id)a1 highPriority:(BOOL)a2; @end