/** * Shared Drizzle schema-construction helpers (SOLID/DRY groundwork). * * This module hosts column-group and table factories that eliminate verbatim * duplication across the consolidated residency-split schema modules * (`cleo-project/`, `cleo-global/`, `cleo-shared/`). Factories here are * **physical-schema-preserving**: they emit exactly the same DDL the inline * definitions did, so applying them produces zero migration drift. * * @see .cleo/rcasd/adr-090-nexus-graph-residency-split.md §5 (SOLID/DRY groundwork) * @task T11543 * @epic T11535 * @saga T11242 */ /** * Physical column shape of a canonical `*_schema_meta` key-value table. * * Derived from {@link makeSchemaMetaTable}'s return so the explicit table type * (column names, affinities, PK/NOT-NULL flags) stays in lockstep with the * factory body — no hand-maintained column generics to drift. */ export type SchemaMetaTable = ReturnType; /** * Factory for the canonical schema-version key-value table. * * Every CLEO domain DB carries a `*_schema_meta` table with the byte-identical * `{ key TEXT PRIMARY KEY, value TEXT NOT NULL }` shape. This factory is the * single source of truth for that shape so the columns never drift apart across * domains. The emitted DDL is identical to the prior inline definitions. * * @param tableName Fully-qualified physical table name, e.g. `'nexus_schema_meta'`. * @returns A Drizzle SQLite table with `key` (PK) and `value` (NOT NULL) text columns. * * @example * ```ts * export const nexusSchemaMeta = makeSchemaMetaTable('nexus_schema_meta'); * ``` */ export declare function makeSchemaMetaTable(tableName: string): import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{ name: string; schema: undefined; columns: { readonly key: import("drizzle-orm/sqlite-core").SQLiteColumn<{ name: string; tableName: string; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; readonly value: import("drizzle-orm/sqlite-core").SQLiteColumn<{ name: string; tableName: string; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }; dialect: "sqlite"; }>; //# sourceMappingURL=schema-utils.d.ts.map