import * as _kurotako_config from '@kurotako/config'; import * as valibot from 'valibot'; /** * Valibot schema for `@kurotako/gen-angular`'s `options`, plus the inferred type. * `@kurotako/config` validates a config entry's `options` against this schema and * curries it away before `@kurotako/core` sees the generator. */ declare const AngularGeneratorOptions: valibot.ObjectSchema<{ /** Which form surfaces to emit. Default: both. */ readonly forms: valibot.OptionalSchema, undefined>, readonly ["reactive", "signal"]>; /** Relation handling: flat (FK scalars only) or deep (nested FormGroup / FormArray). */ readonly relations: valibot.OptionalSchema, "flat">; /** * Zod API flavor of the private Zod copy emitted under `/angular/zod/` * (forwarded to `@kurotako/gen-zod`'s `zodVersion`). Default: 4. */ readonly zodVersion: valibot.OptionalSchema, 4>; }, undefined>; type AngularGeneratorOptions = valibot.InferOutput; /** * Assemble the `GeneratorArtifact` (entities symbol matrix + * `AngularArtifactExtra`). No generator depends on `angular` in v1; the * artifact exists for uniformity and future consumers * (`generator-angular/technical.md` §Artifact). */ interface AngularArtifactExtra { forms: ('reactive' | 'signal')[]; relations: 'flat' | 'deep'; /** Echoed from the consumed `ZodArtifactExtra`. */ zodVersion: 3 | 4; perNamespace: Record; } /** * `@kurotako/gen-angular` error classes. * * `AngularGenError` is a plain `Error` subclass carrying a stable `code`; the * Angular generator has no dependency on `@kurotako/core` at runtime, and * `@kurotako/core` wraps any throw from `generate()` as a `DriverError` for the * CLI's single `instanceof TakoError` catch. * * Codes: `angular_missing_zod_symbol`, `angular_missing_zod_namespace`. */ declare class AngularGenError extends Error { readonly code: string; constructor(code: string, message: string, options?: { cause?: unknown; }); } /** * The Zod artifact has no entry (or no `role` symbol) for `${ns}.${entity}`. * The private `zod` dependency always runs, but a role can still be * absent if the consumed `gen-zod` version predates it. */ declare class MissingZodSymbolError extends AngularGenError { readonly entityKey: string; readonly role: string; constructor(entityKey: string, role: string); } /** The Zod artifact's `extra.perNamespace` has no entry for a namespace the IR carries. */ declare class MissingZodNamespaceError extends AngularGenError { readonly namespace: string; constructor(namespace: string); } declare const angularGenerator: _kurotako_config.GeneratorDriverBase, undefined>, readonly ["reactive", "signal"]>; readonly relations: valibot.OptionalSchema, "flat">; readonly zodVersion: valibot.OptionalSchema, 4>; }, undefined>> & { dependsOn?: ((options: { forms: ("reactive" | "signal")[]; relations: "flat" | "deep"; zodVersion: 3 | 4; }) => _kurotako_config.DependencyList, 4>; readonly dateType: valibot.OptionalSchema, undefined>; }, undefined>> & { dependsOn?: readonly [] | undefined; }; readonly options: { readonly zodVersion: 3 | 4; }; }]>) | undefined; }; export { type AngularArtifactExtra, AngularGenError, AngularGeneratorOptions, MissingZodNamespaceError, MissingZodSymbolError, angularGenerator };