@class NSString, NSError; @protocol CKSQLiteDelegate; @interface CKSQLite : NSObject { struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } _operationLock; _Atomic unsigned long long _operationThread; id /* block */ _errorHandlerBlock; BOOL _cancelled; NSError *_error; long long _errorResponse; NSError *_invalidationError; BOOL _needsMarkCorrupt; BOOL _needsRemove; } @property (nonatomic) struct sqlite3 { } *db; @property (nonatomic) unsigned long long openCount; @property BOOL invalid; @property (readonly, nonatomic) NSString *path; @property (readonly, nonatomic) NSString *schema; @property (readonly, nonatomic) NSString *schemaVersion; @property (retain, nonatomic) NSString *objectClassPrefix; @property (nonatomic) int userVersion; @property (nonatomic) long long synchronousMode; @property (readonly, nonatomic) BOOL isOpen; @property (readonly, nonatomic) BOOL isCorrupt; @property (readonly, nonatomic) BOOL hasMigrated; @property (nonatomic) BOOL shouldVacuum; @property (nonatomic) BOOL traced; @property (copy, nonatomic) id /* block */ invalidationHandler; @property (retain, nonatomic) id delegate; + (id)equalityClauseAndBindingsForDict:(id)a0; - (void)vacuum; - (BOOL)remove; - (void)close; - (void)dealloc; - (int)changes; - (id)creationDate; - (void)setDateProperty:(id)a0 forKey:(id)a1; - (id)handleError:(id)a0; - (void)executeSQL:(id)a0; - (void)setProperty:(id)a0 forKey:(id)a1; - (long long)lastInsertRowID; - (id)datePropertyForKey:(id)a0; - (void).cxx_destruct; - (BOOL)openWithError:(id *)a0; - (void)removePropertyForKey:(id)a0; - (void)willCreateDatabase; - (id)propertyForKey:(id)a0; - (id)sqlErrorWithMessage:(id)a0; - (long long)selectCountFrom:(id)a0 where:(id)a1 bindings:(id)a2; - (id)_boxedPropertyDictionary:(id)a0 forObjCClass:(id)a1; - (id)_boxedValue:(id)a0 forObjcCProperty:(id)a1; - (void)_dropAllTables; - (void)_forceClosed_locked; - (void)_forceClosed_unlocked; - (id)_performDatabaseOperation_locked:(id /* block */)a0 withErrorHandler:(id /* block */)a1; - (id)_prepareDatabase; - (void)_recursiveOperationLock:(id /* block */)a0; - (id)_tableNameForClass:(Class)a0; - (id)allTableNames; - (void)assertInOperation:(SEL)a0; - (id)columnNamesForTable:(id)a0; - (int)dbUserVersion; - (int)deleteAllObjectsOfClass:(Class)a0 where:(id)a1 bindings:(id)a2; - (BOOL)deleteExactObject:(id)a0; - (void)deleteFrom:(id)a0 matchingValues:(id)a1; - (void)deleteFrom:(id)a0 where:(id)a1 bindings:(id)a2; - (void)executeSQL:(id)a0 arguments:(char *)a1; - (id)handleDatabaseError:(id)a0; - (id)handleDatabaseError:(id)a0 args:(char *)a1; - (id)initWithPath:(id)a0 schema:(id)a1; - (long long)insertOrReplaceInto:(id)a0 values:(id)a1; - (long long)insertOrReplaceObject:(id)a0; - (void)markCorrupt; - (id)performDatabaseOperation:(id /* block */)a0; - (id)performDatabaseOperation:(id /* block */)a0 withErrorHandler:(id /* block */)a1; - (id)select:(id)a0 from:(id)a1; - (id)select:(id)a0 from:(id)a1 where:(id)a2 bindings:(id)a3; - (id)select:(id)a0 from:(id)a1 where:(id)a2 bindings:(id)a3 orderBy:(id)a4; - (id)select:(id)a0 from:(id)a1 where:(id)a2 bindings:(id)a3 orderBy:(id)a4 limit:(id)a5; - (void)select:(id)a0 from:(id)a1 where:(id)a2 bindings:(id)a3 orderBy:(id)a4 limit:(id)a5 block:(id /* block */)a6; - (void)select:(id)a0 from:(id)a1 where:(id)a2 bindings:(id)a3 orderBy:(id)a4 limit:(id)a5 offset:(id)a6 block:(id /* block */)a7; - (id)selectAllFrom:(id)a0 where:(id)a1 bindings:(id)a2; - (id)selectAllObjectsOfClass:(Class)a0; - (id)selectAllObjectsOfClass:(Class)a0 where:(id)a1 bindings:(id)a2; - (id)selectAllObjectsOfClass:(Class)a0 where:(id)a1 bindings:(id)a2 limit:(id)a3; - (void)selectAllObjectsOfClass:(Class)a0 where:(id)a1 bindings:(id)a2 orderBy:(id)a3 limit:(id)a4 block:(id /* block */)a5; - (id)selectFrom:(id)a0 where:(id)a1 bindings:(id)a2 limit:(id)a3; - (void)selectFrom:(id)a0 where:(id)a1 bindings:(id)a2 orderBy:(id)a3 limit:(id)a4 block:(id /* block */)a5; - (id)selectObjectOfClass:(Class)a0 where:(id)a1 bindings:(id)a2; - (void)update:(id)a0 set:(id)a1 where:(id)a2 bindings:(id)a3 limit:(id)a4; - (void)updateAllObjectsOfClass:(Class)a0 set:(id)a1 where:(id)a2 bindings:(id)a3; - (long long)upsertInto:(id)a0 values:(id)a1 onConflict:(id)a2 doUpdate:(id)a3 where:(id)a4; - (void)usingStatementForSQL:(id)a0 performBlock:(id /* block */)a1; @end