@class NSMapTable, NSString, NSDictionary, NSURL, NSError, NSObject, NSMutableArray; @protocol OS_dispatch_queue, OS_os_log, OS_dispatch_group; @interface GEOSQLiteDB : NSObject { NSObject<OS_dispatch_queue> *_externalFilesQueue; NSObject<OS_dispatch_group> *_externalFilesGroup; NSMutableArray *_externalFilesActiveChannels; BOOL _didEncounterExternalResourceErrorInTransaction; NSDictionary *_pragmas; id /* block */ _setupBlock; id /* block */ _tearDownBlock; NSMapTable *_preparedStatements; BOOL _isInTransaction; BOOL _isTemporaryInMemoryDatabase; NSMutableArray *_filesAddedDuringTransaction; NSMutableArray *_filesDeletedDuringTransaction; NSMutableArray *_currentTransactionPostCommitActions; NSMapTable *_virtualTables; struct atomic_flag { _Atomic BOOL _Value; } _didTearDown; } @property (class, readonly, nonatomic) NSDictionary *defaultPragmas; @property (class, readonly, nonatomic) NSDictionary *defaultReadOnlyPragmas; @property (readonly, nonatomic) struct sqlite3 { } *sqliteDB; @property (readonly, nonatomic) int sqliteFlags; @property (readonly, nonatomic) NSObject<OS_dispatch_queue> *isolationQueue; @property (readonly, nonatomic) NSString *dbFilePath; @property (readonly, nonatomic) NSURL *databaseFileURL; @property (readonly, nonatomic) NSError *lastError; @property (readonly, nonatomic) BOOL isDBReady; @property (readonly, nonatomic) NSObject<OS_os_log> *log; @property (readonly, nonatomic) NSDictionary *pragmas; @property (nonatomic) long long user_version; + (BOOL)deleteAllDBFilesFor:(id)a0; + (BOOL)renameAllDBFilesFrom:(id)a0 to:(id)a1; + (id)_findAllDBFilesForURL:(id)a0 error:(id *)a1; + (BOOL)deleteAllDBFilesForURL:(id)a0; + (BOOL)migrateAllDBFilesFrom:(id)a0 to:(id)a1; - (BOOL)vacuum; - (void)executeSync:(id /* block */)a0; - (id)getAllTables; - (id)init; - (BOOL)executeStatement:(struct sqlite3_stmt { } *)a0 error:(id *)a1; - (void)_debug_unlockDB:(id)a0; - (BOOL)registerVirtualTable:(id)a0; - (BOOL)deleteExternalResourceAtURL:(id)a0 error:(id *)a1; - (void)dealloc; - (BOOL)statementForKey:(id)a0 statementBlock:(id /* block */)a1; - (id)initWithQueueName:(const char *)a0 log:(id)a1 databaseFileURL:(id)a2 sqliteFlags:(int)a3 pragmas:(id)a4 setupBlock:(id /* block */)a5; - (void)executeFromIsolationQueue:(id /* block */)a0; - (BOOL)ensureInTransaction:(id /* block */)a0; - (BOOL)reportSQLiteErrorCode:(int)a0 method:(id)a1 error:(id *)a2; - (double)doubleForColumn:(int)a0 inStatment:(struct sqlite3_stmt { } *)a1; - (void)_doneWritingToChannel:(id)a0; - (BOOL)writeBlobData:(id)a0 toTable:(const char *)a1 column:(const char *)a2 rowID:(long long)a3 error:(id *)a4; - (BOOL)_openAndConfigureWithRetryIfCorrupt; - (void)tearDown; - (void)clearStatement:(id)a0; - (id)UUIDForColumn:(int)a0 inStatment:(struct sqlite3_stmt { } *)a1; - (BOOL)dropAllTables; - (int)_openDatabaseFile; - (id)initWithQueueName:(const char *)a0 logFacility:(const char *)a1 dbFilePath:(id)a2 sqliteFlags:(int)a3 pragmas:(id)a4 setupBlock:(id /* block */)a5; - (int)_openAndConfigure; - (void)_closeDB; - (BOOL)prepareStatement:(const char *)a0 forKey:(id)a1; - (BOOL)bindBlobParameter:(const char *)a0 toValue:(id)a1 inStatement:(struct sqlite3_stmt { } *)a2 error:(id *)a3; - (int)intForColumn:(int)a0 inStatment:(struct sqlite3_stmt { } *)a1; - (void)executeAsync:(id /* block */)a0 errorHandler:(id /* block */)a1; - (struct sqlite3_stmt { } *)statementForKey:(id)a0; - (id)stringForColumn:(int)a0 inStatment:(struct sqlite3_stmt { } *)a1; - (void)_createParentDirectory; - (int)_setPragmas; - (id)getTablesLike:(id)a0; - (id)description; - (void)addTransactionPostCommitAction:(id /* block */)a0; - (BOOL)dropTablesLike:(id)a0; - (id)noCopyBlobForColumn:(int)a0 inStatment:(struct sqlite3_stmt { } *)a1; - (void)_channelEncounteredError:(int)a0; - (BOOL)bindBlobNoCopyParameter:(const char *)a0 toValue:(id)a1 inStatement:(struct sqlite3_stmt { } *)a2 error:(id *)a3; - (BOOL)executeStatement:(id)a0 statementBlock:(id /* block */)a1; - (BOOL)moveExternalResourceAtURL:(id)a0 toURL:(id)a1 error:(id *)a2; - (long long)lastInsertRowID; - (BOOL)bindRealParameter:(const char *)a0 toValue:(double)a1 inStatement:(struct sqlite3_stmt { } *)a2 error:(id *)a3; - (BOOL)createIndex:(const char *)a0; - (BOOL)writeExternalResourceWithData:(id)a0 toURL:(id)a1 error:(id *)a2; - (void).cxx_destruct; - (BOOL)bindTextParameter:(const char *)a0 toValue:(id)a1 inStatement:(struct sqlite3_stmt { } *)a2 error:(id *)a3; - (BOOL)executeInTransaction:(id /* block */)a0; - (void)_deleteAndReopenDatabaseIfCorrupt:(int)a0; - (BOOL)_waitForAllTransactionExternalResources; - (void)executeSync:(id /* block */)a0 errorHandler:(id /* block */)a1; - (BOOL)unregisterVirtualTable:(id)a0; - (BOOL)createTable:(const char *)a0 withDrop:(const char *)a1; - (BOOL)bindIntParameter:(const char *)a0 toValue:(int)a1 inStatement:(struct sqlite3_stmt { } *)a2 error:(id *)a3; - (void)executeAsync:(id /* block */)a0; - (BOOL)_deleteAllDatabaseFilesIfCorrupt:(int)a0; - (BOOL)bindNullParameter:(const char *)a0 inStatement:(struct sqlite3_stmt { } *)a1 error:(id *)a2; - (id)blobForColumn:(int)a0 inStatment:(struct sqlite3_stmt { } *)a1; - (void)executeFromIsolationQueue:(id /* block */)a0 errorHandler:(id /* block */)a1; - (BOOL)bindUUIDParameter:(const char *)a0 toValue:(id)a1 inStatement:(struct sqlite3_stmt { } *)a2 error:(id *)a3; - (void)_execute:(id /* block */)a0 errorHandler:(id /* block */)a1; - (BOOL)_bindParameter:(const char *)a0 inStatement:(struct sqlite3_stmt { } *)a1 error:(id *)a2 withBinder:(id /* block */)a3; - (void)_channelCleanupFailedWithError:(int)a0; - (BOOL)_deleteAllDBFiles; - (void)_writeTransactionExternalResourceWithData:(id)a0 toURL:(id)a1; - (BOOL)bindZeroBlobParameter:(const char *)a0 length:(unsigned long long)a1 inStatement:(struct sqlite3_stmt { } *)a2 error:(id *)a3; - (id)initWithQueueName:(const char *)a0 log:(id)a1 databaseFileURL:(id)a2 sqliteFlags:(int)a3 pragmas:(id)a4 setupBlock:(id /* block */)a5 tearDownBlock:(id /* block */)a6; - (BOOL)setup; - (id)initWithQueueName:(const char *)a0 logFacility:(const char *)a1 dbFilePath:(id)a2 sqliteFlags:(int)a3 pragmas:(id)a4 setupBlock:(id /* block */)a5 tearDownBlock:(id /* block */)a6; - (BOOL)deleteAllDBFiles; - (id)_blobForColumn:(int)a0 inStatment:(struct sqlite3_stmt { } *)a1 noCopy:(BOOL)a2; - (void)_debug_lockDB:(id)a0; - (BOOL)bindInt64Parameter:(const char *)a0 toValue:(long long)a1 inStatement:(struct sqlite3_stmt { } *)a2 error:(id *)a3; - (long long)int64ForColumn:(int)a0 inStatment:(struct sqlite3_stmt { } *)a1; @end