luxlabs header browser preview


@class NSDecimalNumber, NSDateFormatter, NSMutableDictionary, PQLConnection, FHBatchProcessor, NSMutableArray;
@protocol FHFetchAllTransactionsDelegate;

@interface FHDatabaseManager : NSObject {
    PQLConnection *_db;
    NSDateFormatter *_dateFormatter;
    NSDecimalNumber *_secondsInDay;
    NSDecimalNumber *_decimalRmseThreshold;
    NSMutableDictionary *_amountAggregatesCache;
    NSMutableDictionary *_merchantAggregatesCache;
    NSMutableDictionary *_dateTimeAggregatesCache;
    FHBatchProcessor *_batchProcessor;
    struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } _lockDatabaseBookKeeping;
    struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } _lockDatabaseExecute;
    struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } _lockDatabaseFetch;
    struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } _lockProcessingDate;
    struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } _lockSQLStreaming;
    BOOL _databaseDeleted;
    BOOL _enableRecurChange;
    unsigned long long _transactionFeaturesOffset;
    NSMutableArray *_transactionFeaturesCache;
}

@property (weak, nonatomic) id<FHFetchAllTransactionsDelegate> delegate;
@property (readonly, nonatomic) long long mostRecentTransactionDate;

- (id)init:(BOOL)a0;
- (void).cxx_destruct;
- (BOOL)_execute:(id)a0;
- (id)_fetch:(id)a0;
- (void)_invertFeaturesForTransactions:(id)a0;
- (id)_lockFreeFetch:(id)a0;
- (BOOL)deleteDatabase:(id *)a0;
- (void)updateProcessingTimeForFeature:(id)a0;
- (void)closeAndUnlock:(id)a0;
- (BOOL)deleteAllRecordsInTransactions:(id)a0;
- (void)_checkUniqueConstraints:(id)a0 uniqueConstraintSet:(id)a1;
- (void)_computeAllAggregateFeaturesWithTransactionId:(id)a0;
- (id)_computeDisputeFeaturesForTransaction:(id)a0;
- (id)_computePaymentFeaturesForTransaction:(id)a0;
- (BOOL)_computeSingleAmountAggregateFeature:(id)a0;
- (BOOL)_computeSingleDatetimeAggregateFeature:(id)a0;
- (BOOL)_computeSingleMerchantAggregateFeature:(id)a0;
- (void)_createDataDirectory;
- (id)_createFeatureResponseFromFeatures:(id)a0 compoundFeatures:(id)a1 locale:(id)a2 forTxnID:(id)a3;
- (id)_createFeatureResponseFromFeatures:(id)a0 compoundFeatures:(id)a1 locale:(id)a2 forTxnID:(id)a3 forApplication:(id)a4;
- (BOOL)_executeRaw:(id)a0;
- (id)_fetchv:(id)a0 args:(char *)a1;
- (id)_filterAggregateFeatureByCurrentWindow:(id)a0;
- (id)_filterPeriodicCategories:(id)a0;
- (id)_getAllTransactions:(unsigned long long)a0 limit:(unsigned long long)a1;
- (id)_getDataDirectory;
- (id)_getDisputeFeaturesForTransaction:(id)a0;
- (id)_getRecurringTransactionIdentifiersByClass:(unsigned long long)a0;
- (id)_getTransactionByIdentifier:(id)a0;
- (id)_getTransactionsMarkedForRecurrChange;
- (BOOL)_hasDeterministicRealtime:(id)a0;
- (BOOL)_insertOrUpdateTransactionFeatures:(id)a0 compoundFeatures:(id)a1 transactionID:(id)a2;
- (void)_instrumentationTableMigration;
- (BOOL)_isDatabaseCorrupt;
- (BOOL)_isEligibleForSchemaMigration;
- (void)_logSchema:(id)a0;
- (long long)_mostRecentTransactionDate;
- (void)_rebuildTablesAndIndexes:(BOOL)a0;
- (id)_reconstructAggregateFeaturesWithProcessingWindow:(id)a0;
- (BOOL)_signalMatchesSendSuggestionCriteria:(long long)a0 periodicCategory:(unsigned long long)a1;
- (long long)_startingDateSmartFeatureComputation;
- (BOOL)_truncateDatabase;
- (void)_updateAggregateTablesSchema;
- (void)_updateProcessingTimeForFeature:(id)a0 processingDate:(unsigned long long)a1;
- (BOOL)_updateTransaction:(id)a0 withNewInternalState:(unsigned long long)a1;
- (void)computeAllAggregateFeatures;
- (BOOL)computeAmountAggregateFeatures;
- (void)computeAndPersistDisputeFeaturesForPendingTransactions;
- (void)computeAndPersistRecurringPeerPayments;
- (BOOL)computeDatetimeAggregateFeatures;
- (BOOL)computeMerchantAggregateFeatures;
- (void)computePaymentFeatures;
- (void)computeRecurringClassesWithMerchantCounts:(id)a0 peerPaymentCounts:(id)a1;
- (BOOL)deleteAllFeatureRecordsForTransaction:(id)a0;
- (BOOL)deleteAllMarkedTransactionFeatures;
- (BOOL)deleteAllRecordsFromTransactionFeatures;
- (BOOL)deleteAllRecordsInAccountInfoForTransactionSource:(id)a0;
- (BOOL)deleteAllRecordsInPeerPaymentFeatures:(id)a0;
- (BOOL)deleteAllRecordsInTransactionFeatures:(id)a0;
- (BOOL)deleteTaggedButDeletedEvent:(id)a0;
- (BOOL)deleteTaggedEventsInTimeRange:(id)a0 startDate:(id)a1 comparatorOfEndDate:(id)a2 endDate:(id)a3;
- (id)featuresForTransaction:(id)a0;
- (id)getAllPeerPaymentSignalsFilterDismissed:(BOOL)a0;
- (id)getCurrentCashBalance;
- (id)getDateFormatter;
- (id)getExpectedWeeklySpend;
- (id)getFHSmartFeatureByAmountType:(id)a0;
- (id)getFHSmartFeatureByDateTimeType:(id)a0;
- (id)getFHSmartFeatureByMerchantType:(id)a0;
- (id)getFeaturePredicate:(id)a0 FHSmartFeatureAggregateType:(id)a1;
- (id)getFilteredPeerPaymentForecastingSignals;
- (id)getRecurringTransactionIdentifiers;
- (id)getTaggedPastCalendarEvents;
- (id)getTransactionByIdentifier:(id)a0;
- (id)getTransactionIdsInTimeRangeFrom:(id)a0 to:(id)a1;
- (unsigned long long)getTransactionInternalState:(id)a0;
- (id)getTransactionSmartFeaturesForApplication:(id)a0;
- (id)getTransactionsByDetailedCategory:(id)a0;
- (id)getTransactionsByInternalState:(unsigned long long)a0 internalState:(unsigned long long)a1;
- (id)getTransactionsByInternalState:(unsigned long long)a0 internalState:(unsigned long long)a1 offSet:(unsigned long long)a2;
- (id)getTransactionsByInternalState:(unsigned long long)a0 internalState:(unsigned long long)a1 offSet:(unsigned long long)a2 addCompoundFeatures:(BOOL)a3;
- (id)init:(BOOL)a0 multiThreadingEnabled:(BOOL)a1;
- (BOOL)insertFeatures:(id)a0 realtimeFeatures:(id)a1;
- (BOOL)insertFeaturesCompoundRealtime:(id)a0 realtimeFeatures:(id)a1;
- (BOOL)insertFeaturesCompoundRealtimeWithoutEvents:(id)a0 realtimeFeatures:(id)a1;
- (BOOL)insertFeaturesDeterminiticRealtime:(id)a0 realtimeFeatures:(id)a1;
- (BOOL)insertFeaturesEvents:(id)a0;
- (BOOL)insertFeaturesPredictedRealtime:(id)a0 realtimeFeatures:(id)a1;
- (BOOL)insertInstrumentationRecord:(id)a0;
- (BOOL)insertTransactionInInternalStateDirty:(id)a0;
- (void)populateRecurringClassHistogramsForMerchants:(id)a0 histogram:(id)a1;
- (void)populateRecurringClassHistogramsWithPeerPaymentsCounts:(id)a0 histogram:(id)a1;
- (unsigned long long)processingTimeForFeature:(id)a0;
- (void)publishEventsToBiome;
- (id)reconstructCompoundFeaturesForTransaction:(id)a0;
- (id)reconstructTransaction:(id)a0;
- (BOOL)recordPeerPaymentForecastingStatus:(unsigned long long)a0 counterpartHandle:(id)a1 amount:(id)a2;
- (void)retrieveAll;
- (BOOL)shouldCallGetAllTransactions;
- (unsigned long long)streamGenericSQLFetch:(id /* block */)a0 predicate:(id)a1 sqlFetchQuery:(id)a2;
- (unsigned long long)streamQueryResults:(id)a0 usingFetchHandler:(id /* block */)a1;
- (int)streamTransactionsByInternalState:(unsigned long long)a0 internalState:(unsigned long long)a1 offSet:(unsigned long long)a2 onTransaction:(id /* block */)a3;
- (int)streamTransactionsByInternalState:(unsigned long long)a0 internalState:(unsigned long long)a1 onTransaction:(id /* block */)a2;
- (void)unsafeRemoveAllEntriesFromTable:(id)a0;
- (BOOL)updateDeleteFlagInTransactionFeatures:(unsigned long long)a0 forID:(id)a1;
- (BOOL)updateGetAllStatus:(unsigned long long)a0;
- (BOOL)updatePeerPaymentAccountBalance:(id)a0 amount:(id)a1 currencyCode:(id)a2;
- (BOOL)updateTransactionInternalStateByIdentifier:(id)a0 newInternalState:(unsigned long long)a1;
- (BOOL)updateTransactionInternalStateByTransaction:(id)a0 newInternalState:(unsigned long long)a1;
- (BOOL)updateTransactionWholeRaw:(id)a0;
- (BOOL)updateTransactionsInternalStateToState:(id)a0 oldInternalState:(unsigned long long)a1 newInternalState:(unsigned long long)a2;

@end