/** * Kysely Type-Safe Query Builder projection. * * Consumes Manifest IR + projection config and emits a Kysely-compatible * TypeScript types file as a single `ProjectionArtifact`. * * Kysely (https://kysely.dev) is a type-safe SQL query builder for TypeScript. * Unlike Prisma or Drizzle, Kysely does NOT manage schema migrations or * generate DDL. Instead, it provides compile-time type safety by mapping * table names to row interfaces via a `Database` interface. * * This projection generates: * 1. A per-table TypeScript interface (e.g., `TaskTable`) * 2. A `Database` interface mapping table names to those interfaces * 3. A factory function for creating a configured `Kysely` instance * * Boundary rules (following Prisma/Drizzle projection conventions): * - Relational interpretation starts HERE. No relational concept (table * name, column name) lives in Manifest core grammar or IR — all of it * arrives via projection options. * - The projection carries NO knowledge of any specific application, * database instance, tenant layout, table naming scheme, or domain * meaning of any field. * - `computed` properties are derived and MUST NEVER become columns. * - `external: true` entities are skipped. Non-SQL store targets are skipped. * - Unknown `type.name` produces a hard error diagnostic. No fallback. */ import type { IR } from '../../ir'; import type { ProjectionRequest, ProjectionResult, ProjectionTarget } from '../interface'; export declare class KyselyProjection implements ProjectionTarget { readonly name = "kysely"; readonly description = "Manifest IR \u2192 Kysely Type-Safe Query Builder types projection. Generates Database interface and per-table row types for Kysely query building."; readonly surfaces: readonly ["kysely.types"]; readonly descriptorMeta: import("..").ProjectionDescriptorMeta; generate(ir: IR, request: ProjectionRequest): ProjectionResult; } //# sourceMappingURL=generator.d.ts.map