import type { NormalizedDeleteRangeOptions } from './delete-range'; import { type ScanOptions } from './interface'; export declare const SQLITE_CREATE_KEY_VALUE_TABLE = "CREATE TABLE IF NOT EXISTS kv (\n key TEXT PRIMARY KEY,\n value BLOB NOT NULL\n) WITHOUT ROWID"; export declare const SQLITE_SELECT_VALUE_BY_KEY = "SELECT value FROM kv WHERE key = ?"; export declare const SQLITE_UPSERT_VALUE_BY_KEY = "INSERT INTO kv (key, value) VALUES (?, ?) ON CONFLICT(key) DO UPDATE SET value = excluded.value"; export declare const SQLITE_DELETE_VALUE_BY_KEY = "DELETE FROM kv WHERE key = ?"; export declare const SQLITE_SELECT_KEY_PRESENCE = "SELECT 1 AS present FROM kv WHERE key = ? LIMIT 1"; export declare const SQLITE_COUNT_KEYS_BY_PREFIX = "SELECT COUNT(*) AS count FROM kv WHERE key >= ? AND key < ?"; export declare const SQLITE_DELETE_KEYS_BY_PREFIX = "DELETE FROM kv WHERE key >= ? AND key < ?"; export type SqliteKeyRangeQueryParameter = string | number; export type SqliteKeyRangeQuery = { parameters: SqliteKeyRangeQueryParameter[]; sqlSuffix: string; }; /** A fully-built SQL statement and its bound parameters (SELECT or DELETE). */ export type SqliteBuiltQuery = { parameters: SqliteKeyRangeQueryParameter[]; sql: string; }; export declare function buildSqlitePrefixRangeParameters(prefix: string): [string, string]; export declare function buildSqliteKeyRangeQuery(prefix: string, options?: ScanOptions): SqliteKeyRangeQuery; /** * Build a bounded-range `DELETE` for a `kv`-shaped table from already-validated * delete options. * * Without `limit`, emits a plain `DELETE FROM