@class NSString, FLLoggingContext, FLSQLiteDatabaseConnection, NSDate, NSObject; @protocol OS_os_log; @interface FLSQLitePersistence : NSObject @property (readonly, copy, nonatomic) NSString *databasePath; @property (retain, nonatomic) NSObject<OS_os_log> *log; @property (retain, nonatomic) FLLoggingContext *context; @property (nonatomic) struct sqlite3_stmt { } *insertRecordsStatement; @property (nonatomic) struct sqlite3_stmt { } *iteratePayloadStatement; @property (readonly, copy, nonatomic) NSString *storeIdentifier; @property (nonatomic) _Atomic BOOL configured; @property (nonatomic) unsigned long long maxBatchPayloadInBytes; @property (nonatomic) unsigned long long maxAllowedDatabaseSizeInBytes; @property (copy, nonatomic) NSString *currentBatchIdentifier; @property (copy, nonatomic) NSDate *currentBatchCreationDate; @property (nonatomic) unsigned long long currentBatchPayloadSize; @property (nonatomic) double batchMaximumDuration; @property (nonatomic) struct sqlite3_stmt { } *maxRowIdStatement; @property (nonatomic) struct sqlite3 { } *db; @property (retain, nonatomic) FLSQLiteDatabaseConnection *dbConnection; + (id)batchStatusDescription:(int)a0; + (id)uploadStatusDescription:(int)a0; - (BOOL)vacuum; - (void)dealloc; - (BOOL)open; - (void)closeDatabase; - (BOOL)createDatabase; - (void).cxx_destruct; - (BOOL)deleteDatabase; - (int)getSchemaVersion; - (id)persist:(id)a0; - (BOOL)closeAllBatches; - (id)initWithStoreId:(id)a0 loggingContext:(id)a1; - (void)observeInsertionAtRow:(long long)a0 observer:(id /* block */)a1; - (BOOL)purgeAllBatches; - (BOOL)updateStatusForUpload:(id)a0 toStatus:(int)a1; - (BOOL)__deleteStatementHelper:(const char *)a0 forUploadId:(id)a1; - (BOOL)__purgeStatementHelper:(const char *)a0 forBatchId:(id)a1; - (id)_getBatchIdsHelper:(struct sqlite3_stmt { } *)a0; - (id)_getUploadIdsHelper:(struct sqlite3_stmt { } *)a0; - (BOOL)_updateMetadataHelperForBatch:(id)a0 query:(const char *)a1; - (BOOL)_updateMetadataHelperForUpload:(id)a0 query:(const char *)a1; - (BOOL)_updateStatusHelperForBatch:(id)a0 toStatus:(int)a1; - (BOOL)_updateStatusHelperForUpload:(id)a0 toStatus:(int)a1; - (long long)cleanupPurgableUploads; - (BOOL)closeOpenBatch; - (BOOL)closeOrphanedBatches; - (BOOL)deleteAllUploads; - (BOOL)deleteUploadWithIdentifier:(id)a0; - (long long)doBatchesHousekeeping; - (long long)doUploadHousekeeping; - (BOOL)executeInTransactionMultipleSQLStatements:(id)a0; - (BOOL)executeSQLStatement:(const char *)a0; - (BOOL)executeSQLStatement:(const char *)a0 usingTransaction:(BOOL)a1; - (void)finalizeObserver; - (BOOL)forceCloseOpenBatches; - (id)getBatchIdsWithAllStatuses; - (id)getBatchIdsWithStatus:(int)a0; - (unsigned long long)getCurrentDatabaseSize; - (int)getDataVersion; - (BOOL)getIntValueForPragma:(id)a0 into:(inout int *)a1; - (id)getPurgableBatchIds; - (id)getPurgableUploadIds; - (id)getRecordsRangeStart:(long long)a0 end:(long long)a1; - (id)getUploadIdsWithAllStatuses; - (id)getUploadIdsWithStatus:(int)a0; - (id)getUploadRecordWithId:(id)a0; - (id)getUploadsRangeStart:(long long)a0 end:(long long)a1; - (id)initWithStoreId:(id)a0 dbConnection:(id)a1 loggingContext:(id)a2; - (BOOL)initializeConnectionForUseBy:(int)a0; - (BOOL)initializeNewBatch; - (BOOL)isSchemaReady; - (BOOL)iteratePayloadForBatch:(id)a0 codeblock:(id /* block */)a1; - (BOOL)iterateUploadsWithCodeblock:(id /* block */)a0; - (BOOL)markBatchesforPurge; - (BOOL)markUploadsForPurge; - (long long)maxRowId; - (id)metadataForBatch:(id)a0; - (id)persistUploadPayload:(id)a0; - (BOOL)prepareSchema; - (BOOL)purgeBatch:(id)a0; - (BOOL)recoverOrphanedProcessingBatches; - (BOOL)recoverOrphanedProcessingUploads; - (id)registerInsertionObserver:(id /* block */)a0; - (BOOL)setDatabaseSizeLimit; - (BOOL)tryPrepare:(const char *)a0 preparedStatement:(inout struct sqlite3_stmt **)a1; - (BOOL)tryRolloverBatchIfNecessary:(unsigned long long)a0; - (BOOL)updateSchema; - (BOOL)updateStatusForBatch:(id)a0 toStatus:(int)a1; @end