import { Kysely } from "kysely"; import type { SqliteWasmDatabase } from "./sqlite/create-in-memory-database.js"; import type { LixDatabaseSchema } from "./schema.js"; import type { LixEngine } from "../engine/boot.js"; /** * Configuration for JSON columns in database views. * * Specifies which columns contain JSON data and what types of JSON values they accept. * This is used by the JSONColumnPlugin to properly serialize/deserialize JSON data. * * Column types: * - `type: 'object'` - Column only accepts JSON objects. String values are assumed to be * pre-serialized JSON to prevent double serialization when data flows between views. * - `type: ['string', 'number', 'boolean', 'object', 'array', 'null']` - Column accepts * any valid JSON value. All values are properly serialized. * * @example * ```typescript * { * change: { * snapshot_content: { type: 'object' } // Only objects, prevents double serialization * }, * key_value: { * value: { type: ['string', 'number', 'boolean', 'object', 'array', 'null'] } // Any JSON * } * } * ``` */ export declare function prepareEngineDatabase(args: { engine: Pick; }): void; export declare function initKysely(args: { sqlite: SqliteWasmDatabase; }): Kysely; //# sourceMappingURL=init-db.d.ts.map