@class NSArray, NSMutableDictionary, IMAccount; @interface IMAccountController : NSObject { BOOL _isReadOnly; BOOL _cachesEnabled; NSArray *_operationalAccountsCache; NSMutableDictionary *_serviceToActiveAccountsMap; NSMutableDictionary *_serviceToAccountsMap; NSMutableDictionary *_serviceToConnectedAccountsMap; NSMutableDictionary *_serviceToOperationalAccountsMap; } @property (copy) NSArray *accounts; @property (retain) NSMutableDictionary *accountMap; @property (readonly, nonatomic) id bestAccountForStatus; @property (readonly, nonatomic) int numberOfAccounts; @property (readonly, nonatomic) IMAccount *activeIMessageAccount; @property (readonly, nonatomic) IMAccount *activeSMSAccount; @property (readonly, nonatomic) NSArray *activeAccounts; @property (readonly, nonatomic) NSArray *connectedAccounts; @property (readonly, nonatomic) NSArray *operationalAccounts; @property (nonatomic) BOOL networkDataAvailable; + (id)sharedInstance; + (id)bestAccountFromAccounts:(id)a0; - (BOOL)addAccount:(id)a0; - (id)init; - (void)dealloc; - (BOOL)readOnly; - (void)setReadOnly:(BOOL)a0; - (BOOL)deactivateAccount:(id)a0; - (BOOL)deactivateAccounts:(id)a0; - (id)connectedAccountsForService:(id)a0; - (id)accountsForService:(id)a0; - (BOOL)deleteAccount:(id)a0; - (void).cxx_destruct; - (id)activeAccountsForService:(id)a0; - (long long)activeAccountsAreEligibleForHawking; - (BOOL)activateAccount:(id)a0; - (BOOL)activateAccounts:(id)a0; - (long long)activeAccountsAreEligibleForAppleSMSFilter; - (long long)activeAccountsAreEligibleForAppleSMSFilterSubClassification; - (long long)activeAccountsAreEligibleForDefaultAppleSMSFilter; - (long long)activeAccountsAreEligibleForUnknownSendersFiltering; - (id)bestAccountForService:(id)a0; - (id)bestActiveAccountForService:(id)a0; - (void)deferredSetup; - (id)iMessageAccountForLastAddressedHandle:(id)a0 simID:(id)a1; - (BOOL)metionedHandleMatchesMeCard:(id)a0; - (void)_requestNetworkDataAvailability; - (id)accountAtIndex:(int)a0; - (BOOL)activateAccounts:(id)a0 force:(BOOL)a1 locally:(BOOL)a2; - (BOOL)deactivateAccounts:(id)a0 withDisable:(BOOL)a1; - (id)bestConnectedAccountForService:(id)a0; - (id)__iCloudSystemAccountForService:(id)a0; - (void)_accountRegistrationStatusChanged:(id)a0; - (void)_activeAccountChanged:(id)a0; - (id)_bestAccountForAddresses:(id)a0; - (id)_bestOperationalAccountForSendingForService:(id)a0; - (BOOL)_deactivateAccount:(id)a0; - (BOOL)_deactivateAccounts:(id)a0; - (void)_disableCache; - (void)_enableCache; - (void)_rebuildOperationalAccountsCache:(BOOL)a0; - (BOOL)_shouldPerformDeferredSetup; - (BOOL)accountActive:(id)a0; - (BOOL)accountConnected:(id)a0; - (BOOL)accountConnecting:(id)a0; - (id)accountForUniqueID:(id)a0; - (void)accountLoginComplete:(id)a0; - (id)accountsWithCapability:(unsigned long long)a0; - (BOOL)activateAccount:(id)a0 force:(BOOL)a1; - (BOOL)activateAccount:(id)a0 force:(BOOL)a1 locally:(BOOL)a2; - (BOOL)activateAccount:(id)a0 locally:(BOOL)a1; - (BOOL)activateAndHandleReconnectAccount:(id)a0; - (BOOL)activateAndHandleReconnectAccounts:(id)a0; - (long long)activeAccountsAreEligibleForiMessageJunk; - (BOOL)addAccount:(id)a0 atIndex:(int)a1; - (BOOL)addAccount:(id)a0 atIndex:(int)a1 locally:(BOOL)a2; - (BOOL)addAccount:(id)a0 locally:(BOOL)a1; - (id)aimAccount; - (void)autoLogin; - (id)bestAccountForService:(id)a0 login:(id)a1 guid:(id)a2; - (id)bestAccountForService:(id)a0 withLogin:(id)a1; - (id)bestAccountWithCapability:(unsigned long long)a0; - (id)bestActiveAccountForService:(id)a0 withLogin:(id)a1; - (id)bestConnectedAccountForService:(id)a0 withLogin:(id)a1; - (id)bestOperationalAccountForService:(id)a0; - (id)bestOperationalAccountForService:(id)a0 withLogin:(id)a1; - (BOOL)canActivateAccount:(id)a0; - (BOOL)canActivateAccounts:(id)a0; - (BOOL)canDeleteAccount:(id)a0; - (id)connectedAccountsWithCapability:(unsigned long long)a0; - (BOOL)deactivateAccount:(id)a0 withDisable:(BOOL)a1; - (BOOL)deleteAccount:(id)a0 locally:(BOOL)a1; - (id)jabberAccount; - (id)mostLoggedInAccount; - (id)operationalAccountsForService:(id)a0; - (id)operationalAccountsWithCapability:(unsigned long long)a0; - (BOOL)receiverIsMyMention:(id)a0; @end