"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.TursoType = exports.TursoStatus = exports.SyncOperationResultType = void 0;
/**
 * Turso React Native SDK-KIT Types
 *
 * Clean TypeScript types matching the SDK-KIT C API patterns.
 * All logic lives in TypeScript or Rust - the C++ layer is just a thin bridge.
 */
// ============================================================================
// Core SDK-KIT Types (Local Database)
// ============================================================================
/**
 * Native database interface (local-only)
 * Thin wrapper around TursoDatabaseHostObject
 */
/**
 * Native connection interface
 * Thin wrapper around TursoConnectionHostObject
 */
/**
 * Native statement interface
 * Thin wrapper around TursoStatementHostObject
 */
// ============================================================================
// Sync SDK-KIT Types (Embedded Replica)
// ============================================================================
/**
 * Native sync database interface (embedded replica)
 * Thin wrapper around TursoSyncDatabaseHostObject
 */
/**
 * Native sync operation interface
 * Thin wrapper around TursoSyncOperationHostObject
 * Represents an async operation that must be driven by calling resume()
 */
/**
 * Native sync IO item interface
 * Thin wrapper around TursoSyncIoItemHostObject
 * Represents an IO request that JavaScript must process using fetch() or fs
 */
/**
 * Native sync changes interface
 * Thin wrapper around TursoSyncChangesHostObject
 * Represents changes fetched from remote (opaque, passed to applyChanges)
 */
// ============================================================================
// Turso Status Codes
// ============================================================================
let TursoStatus = exports.TursoStatus = /*#__PURE__*/function (TursoStatus) {
  TursoStatus[TursoStatus["OK"] = 0] = "OK";
  TursoStatus[TursoStatus["DONE"] = 1] = "DONE";
  TursoStatus[TursoStatus["ROW"] = 2] = "ROW";
  TursoStatus[TursoStatus["IO"] = 3] = "IO";
  TursoStatus[TursoStatus["BUSY"] = 4] = "BUSY";
  TursoStatus[TursoStatus["INTERRUPT"] = 5] = "INTERRUPT";
  TursoStatus[TursoStatus["BUSY_SNAPSHOT"] = 6] = "BUSY_SNAPSHOT";
  TursoStatus[TursoStatus["ERROR"] = 127] = "ERROR";
  TursoStatus[TursoStatus["MISUSE"] = 128] = "MISUSE";
  TursoStatus[TursoStatus["CONSTRAINT"] = 129] = "CONSTRAINT";
  TursoStatus[TursoStatus["READONLY"] = 130] = "READONLY";
  TursoStatus[TursoStatus["DATABASE_FULL"] = 131] = "DATABASE_FULL";
  TursoStatus[TursoStatus["NOTADB"] = 132] = "NOTADB";
  TursoStatus[TursoStatus["CORRUPT"] = 133] = "CORRUPT";
  TursoStatus[TursoStatus["IOERR"] = 134] = "IOERR";
  return TursoStatus;
}({}); // ============================================================================
// Turso Value Types
// ============================================================================
let TursoType = exports.TursoType = /*#__PURE__*/function (TursoType) {
  TursoType[TursoType["UNKNOWN"] = 0] = "UNKNOWN";
  TursoType[TursoType["INTEGER"] = 1] = "INTEGER";
  TursoType[TursoType["REAL"] = 2] = "REAL";
  TursoType[TursoType["TEXT"] = 3] = "TEXT";
  TursoType[TursoType["BLOB"] = 4] = "BLOB";
  TursoType[TursoType["NULL"] = 5] = "NULL";
  return TursoType;
}({}); // ============================================================================
// Tracing / Logging Types
// ============================================================================
/**
 * Log level for Turso tracing
 */
/**
 * A single log entry emitted by the Turso engine
 */
/**
 * Logger callback function
 */
// ============================================================================
// Sync Operation Result Types
// ============================================================================
let SyncOperationResultType = exports.SyncOperationResultType = /*#__PURE__*/function (SyncOperationResultType) {
  SyncOperationResultType[SyncOperationResultType["NONE"] = 0] = "NONE";
  SyncOperationResultType[SyncOperationResultType["CONNECTION"] = 1] = "CONNECTION";
  SyncOperationResultType[SyncOperationResultType["CHANGES"] = 2] = "CHANGES";
  SyncOperationResultType[SyncOperationResultType["STATS"] = 3] = "STATS";
  return SyncOperationResultType;
}({}); // ============================================================================
// Public API Types (High-level TypeScript)
// ============================================================================
/**
 * Supported SQLite value types for the public API
 */
/**
 * Parameters that can be bound to SQL statements
 */
/**
 * Result of a run() or exec() operation
 */
/**
 * A row returned from a query
 */
/**
 * Encryption options (matches JavaScript bindings)
 */
/**
 * Database options (matches JavaScript bindings)
 * Single unified config for both local and sync databases
 */
/**
 * Sync stats returned by stats() operation
 */
/**
 * HTTP request from sync engine
 */
/**
 * Full write request from sync engine
 */
// ============================================================================
// Global Turso Proxy Interface
// ============================================================================
/**
 * Native proxy interface exposed via JSI
 */
/**
 * Native module interface (React Native bridge)
 */
/**
 * Global __TursoProxy object injected by native code
 */
//# sourceMappingURL=types.js.map