/** * Prisma schema projection. * * Consumes Manifest IR + projection config and emits Prisma schema artifact(s). * Default: one combined file. With `multiSchema.splitFiles`, root + per-schema * partitions (see `split-files.ts`). * * Boundary rules (Checkpoint 1, normative): * - Relational interpretation starts HERE. No relational concept (table * name, column name, precision, indexes) 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. Anything resembling an app-specific string in * this file is a bug. * - `computed` properties are derived and MUST NEVER become columns. We * do this structurally by iterating `entity.properties` only and never * touching `entity.computedProperties`. * - `external: true` entities are skipped. Stores with target `'memory'` * or `'localStorage'` are skipped. Targets `'durable'`, `'postgres'`, * and `'supabase'` are emission targets. Entities with no store entry * are skipped (no implicit ownership). * - 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 PrismaProjection implements ProjectionTarget { readonly name = "prisma"; readonly description = "Manifest IR \u2192 Prisma schema projection. Compile-time only. App-agnostic."; readonly surfaces: readonly ["prisma.schema"]; readonly descriptorMeta: import("..").ProjectionDescriptorMeta; generate(ir: IR, request: ProjectionRequest): ProjectionResult; } //# sourceMappingURL=generator.d.ts.map