/** * zod-converter 구성 * 1. 유틸리티 * - getZodTypeById * * 2. Zod 타입 변환 (EntityProp -> ZodType) * - propToZodType * * 3. EntityProp/Node -> Zod 코드 문자열 * - propToZodTypeDef * - propNodeToZodTypeDef * * 4. Zod 타입 인스턴스를 해당하는 Zod 코드 문자열로 변환 (ZodType -> ZodCode) * - zodTypeToZodCode * * 5. Zod 타입을 UI 렌더링에 사용할 수 있는 RenderingNode로 변환 (ZodType -> RenderingNode) * - zodTypeToRenderingNode * - resolveRenderType */ import { z } from "zod"; import { type EntityProp, type EntityPropNode, type RenderingNode } from "../types/types"; /** * 내장 타입 정의 (Zod 스키마 + UI 렌더링 타입) */ export declare const BUILT_IN_TYPES: { readonly SonamuFile: { readonly schema: z.ZodType>; readonly renderType: "json-sonamufile"; readonly schemaName: "SonamuFileSchema"; }; readonly "SonamuFile[]": { readonly schema: z.ZodArray>>; readonly renderType: "json-sonamufile-array"; readonly schemaName: "SonamuFileArraySchema"; }; }; /** * Zod 타입 ID로부터 동적으로 Zod 스키마를 로드합니다. * 내장 타입(BUILT_IN_TYPE_IDS)은 바로 반환하고, * 그 외는 dist 디렉토리에서 ESM으로 import하여 가져옵니다. */ export declare function getZodTypeById(zodTypeId: string): Promise; /** * EntityProp을 Zod 타입으로 변환합니다. * 각 prop의 타입에 따라 적절한 Zod validator를 생성합니다. */ export declare function propToZodType(prop: EntityProp): Promise; /** * EntityProp을 Zod 타입 정의 코드 문자열로 변환합니다. */ export declare function propToZodTypeDef(prop: EntityProp, injectImportKeys: string[]): string; /** * EntityPropNode를 Zod 타입 정의 코드 문자열로 변환합니다. * plain, array, object 노드 타입을 재귀적으로 처리하여 중첩 구조를 지원합니다. */ export declare function propNodeToZodTypeDef(propNode: EntityPropNode, injectImportKeys: string[]): string; export declare function zodTypeToTsTypeDef(zt: z.ZodType): string; /** * Zod 타입 인스턴스를 해당하는 Zod 코드 문자열로 변환합니다. */ export declare function zodTypeToZodCode(zt: z.ZodType, injectImportKeys?: string[]): string; /** * Zod 타입을 UI 렌더링에 사용할 수 있는 RenderingNode로 변환합니다. * 재귀적으로 중첩된 타입들을 처리합니다. */ export declare function zodTypeToRenderingNode(zodType: z.ZodTypeAny, baseKey?: string): RenderingNode; //# sourceMappingURL=zod-converter.d.ts.map