/** * @omnify/ts — Main Generator * * Orchestrates TypeScript code generation from schemas.json. * Reads the JSON, builds options, calls sub-generators, and assembles output files. * * Output structure: * base/{SchemaName}.ts — Auto-generated interfaces + Zod + i18n (always overwritten) * enum/{EnumName}.ts — Auto-generated enums (always overwritten) * common.ts — Shared types (DateTimeString, etc.) * i18n.ts — Validation messages + locale helpers * {SchemaName}.ts — User-editable models extending base (created once, never overwritten) * index.ts — Re-exports (always overwritten) */ import type { SchemasJson, TypeScriptFile } from './types.js'; /** Build GeneratorOptions from schemas.json. */ /** Extra config that the CLI resolves from omnify.yaml's codegen.typescript section. */ export interface GenerateExtraConfig { platform?: 'web' | 'expo'; auth?: 'cookie' | 'secureStore'; /** Enum emission style — see GeneratorOptions.enumStyle. Issue #103. */ enumStyle?: 'enum' | 'const'; } /** * Generate all TypeScript files from schemas.json input. * * @param extra - Platform/auth config resolved from omnify.yaml's codegen.typescript section (issue #63). */ export declare function generateTypeScript(input: SchemasJson, extra?: GenerateExtraConfig): TypeScriptFile[];