/** * GraphQL SDL projection for Manifest IR. * * Generates GraphQL schema definitions and resolver stubs from IR entities, * commands, policies, and events. * * Features: * - Entity types with typed fields * - Query type with list and detail resolvers per entity * - Mutation type with mutations mapped to commands * - Subscription type mapped to IR events * - Input types for command parameters * - @auth directives derived from entity/command policies * - Resolver stubs with runtime.runCommand for writes, direct DB for reads * - Enum type definitions from IR enums * - Custom scalar detection (DateTime, UUID, etc.) * * Surfaces: * - graphql.schema → schema.graphql (complete SDL) * - graphql.resolvers → resolvers.ts (TypeScript resolver stubs) * * Projections are TOOLING, not runtime semantics. * Reads MAY bypass runtime. Writes MUST use runtime.runCommand(). */ import type { IR } from '../../ir'; import type { ProjectionTarget, ProjectionRequest, ProjectionResult } from '../interface'; /** * GraphQL SDL + resolver stubs projection. * * Generates GraphQL schema definitions and resolver stubs from Manifest IR. * * Surfaces: * - graphql.schema → schema.graphql (SDL) * - graphql.resolvers → resolvers.ts (TypeScript resolver stubs) */ export declare class GraphQLProjection implements ProjectionTarget { readonly name = "graphql"; readonly description = "GraphQL SDL and resolver stub generation from Manifest IR entities, commands, policies, and events"; readonly surfaces: readonly ["graphql.schema", "graphql.resolvers"]; readonly descriptorMeta: import("..").ProjectionDescriptorMeta; generate(ir: IR, request: ProjectionRequest): ProjectionResult; } export type { GraphQLProjectionOptions } from './types'; //# sourceMappingURL=generator.d.ts.map