@class NSArray, CHPhoneBookIOSManager, NSPredicate, CHFeatureFlags, NSDate, NSString; @protocol SyncManagerProtocol; @interface CHManager : CHSynchronizedLoggable @property (readonly, nonatomic) CHPhoneBookIOSManager *phoneBookManager; @property (readonly, nonatomic) CHFeatureFlags *featureFlags; @property (nonatomic) BOOL finishedLoadingAllCalls; @property (retain, nonatomic) NSArray *recentCalls; @property long long numberOfUnseenMissedCalls; @property (retain, nonatomic) id<SyncManagerProtocol> syncManager; @property BOOL cacheIsDirty; @property BOOL shouldLoadOlderCalls; @property BOOL reCoalesce; @property (retain, nonatomic, getter=uncoalescedRecentCallsSync) NSArray *uncoalescedRecentCalls; @property (retain) NSArray *uncoalescedUnFilteredRecentCalls; @property (nonatomic) BOOL showsFaceTimeVideoCalls; @property (nonatomic) BOOL showsFaceTimeAudioCalls; @property (nonatomic) BOOL showsTelephonyCalls; @property (nonatomic) BOOL generateSyncTransactions; @property (nonatomic) unsigned int limitingCallTypes; @property (copy, nonatomic) NSDate *limitingStartDate; @property (copy, nonatomic) NSDate *limitingEndDate; @property (copy, nonatomic) NSArray *limitingCallKinds; @property (retain, nonatomic) NSPredicate *postFetchingPredicate; @property (copy, nonatomic) NSString *coalescingStrategy; + (unsigned int)CHCallStatusForCallWithDuration:(double)a0 isOriginated:(BOOL)a1 isAnswered:(BOOL)a2; + (id)limitingCallKindsForCallType:(unsigned int)a0; - (unsigned long long)countCallsWithPredicate:(id)a0; - (long long)setRead:(BOOL)a0 forCallsWithPredicate:(id)a1; - (id)initWithQueue:(id)a0; - (double)callTimersGetIncoming; - (id)init; - (void)deleteAllCalls; - (void)dealloc; - (id)loadOlderRecentCallsWithPredicate:(id)a0; - (void)setInitialLimitingCallKinds:(id)a0; - (void)flush; - (void)setOutgoingLocalParticipantUUID:(id)a0 forRecentCallsMatchingPredicate:(id)a1; - (void)currentLocaleChanged:(id)a0; - (id)loadOlderRecentCalls; - (unsigned long long)callCountWithPredicate:(id)a0; - (id)callsWithPredicate:(id)a0 limit:(unsigned long long)a1 offset:(unsigned long long)a2 batchSize:(unsigned long long)a3; - (id)getLimitsDictionary; - (id)initWithFetchingLimitsDictionary:(id)a0 andCoalescingStrategy:(id)a1 andPostFetchingPredicate:(id)a2 withQueue:(id)a3; - (void)clearDatabase; - (id)initWithContactStore:(id)a0; - (id)latestRecentCallMatchingPredicate:(id)a0; - (void)setLimitingCallKindsSync:(id)a0; - (void)addMultipleCallsToCallHistory:(id)a0; - (void)addToCallHistory:(id)a0; - (id)callsWithLimits:(id)a0 limit:(unsigned long long)a1 offset:(unsigned long long)a2 batchSize:(unsigned long long)a3; - (id)unCoalesceCall:(id)a0; - (void)markAllCallsAsReadWithPredicate:(id)a0; - (void)updateMessageStatusFor:(id)a0 with:(id)a1; - (void)deleteCallsWithPredicate:(id)a0 completion:(id /* block */)a1; - (void)updateBytesOfDataUsedFor:(id)a0 with:(id)a1; - (BOOL)canLoadOlderRecentCalls; - (unsigned long long)countCallsWithPredicateSync:(id)a0; - (void)callTimersReset; - (id)initWithContactStore:(id)a0 queue:(id)a1; - (id)applyPredicate:(id)a0 toCalls:(id)a1; - (id)coalescedCallsWithCalls:(id)a0 usingStrategy:(id)a1; - (long long)deleteCallsWithPredicate:(id)a0; - (void)addMultipleCallsToCallHistoryWithTransactions:(id)a0; - (void).cxx_destruct; - (void)deleteTheseCalls:(id)a0; - (id)fetchRecentCallsSyncWithCoalescing:(BOOL)a0; - (unsigned long long)coalescedCallCountWithPredicate:(id)a0; - (void)deleteAllCallsSync; - (id)callIdentifiersWithPredicate:(id)a0 limit:(unsigned long long)a1 offset:(unsigned long long)a2 batchSize:(unsigned long long)a3; - (id)loadOlderRecentCallsSyncWithCoalescing:(BOOL)a0; - (void)deleteCalls:(id)a0 withCompletion:(id /* block */)a1; - (void)registerForNotifications; - (void)setRead:(BOOL)a0 forCallsWithPredicate:(id)a1 completion:(id /* block */)a2; - (id)recentCallsWithPredicate:(id)a0; - (void)handleCallHistoryContactStoreChangedInternalNotification:(id)a0; - (void)setDefaultInitValues; - (void)deleteCall:(id)a0; - (id)coalescedCallsWithPredicate:(id)a0 limit:(unsigned long long)a1 offset:(unsigned long long)a2 batchSize:(unsigned long long)a3; - (double)callTimersGetLifetime; - (void)setLimitingCallTypesSync:(unsigned int)a0; - (double)callTimersGetOutgoing; - (void)handleCallHistoryDatabaseChangedInternalNotification:(id)a0; - (id)latestCallMatchingNormalizedRemoteParticipantHandleValues:(id)a0; - (void)deleteTheseCallsSync:(id)a0; - (void)deleteCallAtIndex:(unsigned long long)a0; @end