import { type FastifyReply, type FastifyRequest } from "fastify"; import { z } from "zod"; import { type ApiDecoratorOptions, type Context } from "../api"; import { type CacheControlHandler } from "../cache-control/types"; import { type GuardKey } from "./../api/decorators"; export declare function zArrayable(shape: T): z.ZodUnion<[T, z.ZodArray]>; export type DistributiveOmit = T extends any ? Omit : never; /** * 부모 Entity fixture 생성 시 함께 생성할 companion Entity 설정 * * 예: User fixture 생성 시 credentials Account를 함께 생성 */ export type FixtureCompanion = { /** 함께 생성할 Entity 이름 */ entity: string; /** * 고정 오버라이드 값. * "{{fieldName}}" 형식으로 부모 fixture의 필드 값을 참조할 수 있다. * 예: { "account_id": "{{email}}" } → 부모 User의 email 값 사용 */ overrides?: Record; /** * 부모 1개당 생성할 companion 개수. 기본값 1. * 예: count: 2 → User 1개당 companion 2개 생성 */ count?: number; }; /** * cone: 범용 메타데이터 시스템 * * Entity, Prop, Enum, Subset에 "솔방울을 단다"는 개념으로 붙이는 단일 서술 메타데이터입니다. * note 하나로 비즈니스 의미와 fixture 생성 힌트를 함께 기술합니다. */ export type Cone = { note?: string; tags?: string[]; fixtureGenerator?: string; fixtureDefault?: unknown; fixtureStrategy?: "sequence"; fixtureCompanions?: FixtureCompanion[]; fixtureParentOverrides?: Record; dataSource?: { strategy: "sample" | "ids" | "query" | "file" | "recent" | "random"; config?: unknown; }; [key: string]: unknown; }; export type GeneratedColumnType = "STORED" | "VIRTUAL"; export type GeneratedColumn = { type: GeneratedColumnType; expression: string; }; export type CommonProp = { name: string; nullable?: boolean; toFilter?: true; desc?: string; dbDefault?: string; generated?: GeneratedColumn; cone?: Cone; }; /** * prop의 설명을 반환합니다. * * cone.note가 있으면 우선 사용하고, 없으면 prop.desc를 사용합니다. */ export declare function getDescription(item: { desc?: string; cone?: Cone; }): string | undefined; export type IntegerProp = CommonProp & { type: "integer"; }; export type IntegerArrayProp = CommonProp & { type: "integer[]"; }; export type BigIntegerProp = CommonProp & { type: "bigInteger"; }; export type BigIntegerArrayProp = CommonProp & { type: "bigInteger[]"; }; /** * Zod 4 String Format 타입 * entity.json에서 string 타입의 prop에 zodFormat 옵션을 지정하여 * BaseSchema 생성 시 Zod의 string format validation을 적용합니다. */ export declare const ZodStringFormat: z.ZodEnum<{ uuid: "uuid"; email: "email"; base64: "base64"; base64url: "base64url"; hex: "hex"; url: "url"; httpUrl: "httpUrl"; hostname: "hostname"; emoji: "emoji"; jwt: "jwt"; nanoid: "nanoid"; cuid: "cuid"; cuid2: "cuid2"; ulid: "ulid"; ipv4: "ipv4"; ipv6: "ipv6"; mac: "mac"; cidrv4: "cidrv4"; cidrv6: "cidrv6"; hashMd5: "hashMd5"; hashSha1: "hashSha1"; hashSha256: "hashSha256"; hashSha384: "hashSha384"; hashSha512: "hashSha512"; isoDate: "isoDate"; isoTime: "isoTime"; isoDatetime: "isoDatetime"; isoDuration: "isoDuration"; }>; export type ZodStringFormat = z.infer; export type StringProp = CommonProp & { type: "string"; length?: number; zodFormat?: ZodStringFormat; }; export type StringArrayProp = CommonProp & { type: "string[]"; length?: number; zodFormat?: ZodStringFormat; }; export type EnumProp = CommonProp & { type: "enum"; id: string; length?: number; }; export type EnumArrayProp = CommonProp & { type: "enum[]"; id: string; }; export type NumberProp = CommonProp & { type: "number"; precision?: number; scale?: number; numberType?: "real" | "double precision" | "numeric"; }; export type NumberArrayProp = CommonProp & { type: "number[]"; precision?: number; scale?: number; numberType?: "real" | "double precision" | "numeric"; }; export type NumericProp = CommonProp & { type: "numeric"; precision?: number; scale?: number; }; export type NumericArrayProp = CommonProp & { type: "numeric[]"; precision?: number; scale?: number; }; export type BooleanProp = CommonProp & { type: "boolean"; }; export type BooleanArrayProp = CommonProp & { type: "boolean[]"; }; export type DateProp = CommonProp & { type: "date"; precision?: number; }; export type DateArrayProp = CommonProp & { type: "date[]"; precision?: number; }; export type JsonProp = CommonProp & { type: "json"; id: string; }; export type SearchTextSourceColumn = { name: string; caseInsensitive?: boolean; }; export type SearchTextProp = CommonProp & { type: "searchText"; sourceColumns: SearchTextSourceColumn[]; }; export type UuidProp = CommonProp & { type: "uuid"; }; export type UuidArrayProp = CommonProp & { type: "uuid[]"; }; export type VirtualProp = CommonProp & { type: "virtual"; id: string; virtualType?: "query" | "code"; }; export type VectorProp = CommonProp & { type: "vector"; dimensions: number; }; export type VectorArrayProp = CommonProp & { type: "vector[]"; dimensions: number; }; export type TsVectorProp = CommonProp & { type: "tsvector"; }; export type RelationType = "HasMany" | "BelongsToOne" | "ManyToMany" | "OneToOne"; export type RelationOn = "CASCADE" | "SET NULL" | "NO ACTION" | "SET DEFAULT" | "RESTRICT"; type _RelationProp = { type: "relation"; name: string; with: string; nullable?: boolean; toFilter?: true; desc?: string; cone?: Cone; }; export type OneToOneRelationProp = _RelationProp & { relationType: "OneToOne"; customJoinClause?: string; } & ({ hasJoinColumn: true; useConstraint?: boolean; onUpdate?: RelationOn; onDelete?: RelationOn; } | { hasJoinColumn: false; }); export type BelongsToOneRelationProp = _RelationProp & { relationType: "BelongsToOne"; customJoinClause?: string; useConstraint?: boolean; onUpdate?: RelationOn; onDelete?: RelationOn; }; export type HasManyRelationProp = _RelationProp & { relationType: "HasMany"; joinColumn: string; fromColumn?: string; }; export type ManyToManyRelationProp = _RelationProp & { relationType: "ManyToMany"; joinTable: `${string}__${string}`; onUpdate: RelationOn; onDelete: RelationOn; }; export type RelationProp = OneToOneRelationProp | BelongsToOneRelationProp | HasManyRelationProp | ManyToManyRelationProp; export type EntityProp = IntegerProp | IntegerArrayProp | BigIntegerProp | BigIntegerArrayProp | StringProp | StringArrayProp | EnumProp | EnumArrayProp | NumberProp | NumberArrayProp | NumericProp | NumericArrayProp | BooleanProp | BooleanArrayProp | DateProp | DateArrayProp | UuidProp | UuidArrayProp | JsonProp | SearchTextProp | VirtualProp | VectorProp | VectorArrayProp | TsVectorProp | RelationProp; /** * SonamuFile Types * * 파일 업로드를 위한 JSON 타입입니다. * Entity의 json 속성에서 id로 "SonamuFile" 또는 "SonamuFile[]"을 지정하여 사용합니다. */ export interface SonamuFile { name: string; url: string; mime_type: string; size: number; } export declare const SonamuFileSchema: z.ZodObject<{ name: z.ZodString; url: z.ZodString; mime_type: z.ZodString; size: z.ZodNumber; }, z.core.$strip>; export declare const SonamuFileArraySchema: z.ZodArray>; /** * Sonamu 코어에서 제공하는 내장 JSON 타입 ID 목록 * 새로운 내장 타입 추가 시 이 배열에 추가하면 자동으로 UI에 노출됩니다. */ export declare const BUILT_IN_TYPE_IDS: readonly ["SonamuFile", "SonamuFile[]"]; export type BuiltInTypeId = (typeof BUILT_IN_TYPE_IDS)[number]; /** * pgvector 거리 연산자 클래스 * * @description * - `vector_cosine_ops`: 코사인 거리 (Cosine Distance) - 권장 * - SQL 연산자: `<=>` * - 벡터의 방향만 비교 (크기 무시), 1 - cosine_similarity * - 텍스트 임베딩, 시맨틱 검색에 가장 일반적으로 사용 * - 사용 예: OpenAI, Voyage 등 대부분의 임베딩 모델에 권장 * * - `vector_ip_ops`: 내적 (Inner Product) * - SQL 연산자: `<#>` * - 두 벡터의 내적을 계산 (sum(a[i] * b[i])) * - 정규화된 벡터에서 코사인 유사도와 동일한 결과 * - 값이 클수록 유사 (음수 연산자이므로 ORDER BY에서 주의) * - 사용 예: 이미 정규화된 임베딩에서 가장 빠른 성능 * * - `vector_l2_ops`: 유클리드 거리 (L2 Distance) * - SQL 연산자: `<->` * - 두 벡터 간의 직선 거리를 계산 (sqrt(sum((a[i] - b[i])^2))) * - 벡터의 크기(magnitude)가 중요할 때 사용 * - 사용 예: 이미지 유사도, 절대적 거리 측정이 필요한 경우 */ export type VectorOps = "vector_cosine_ops" | "vector_ip_ops" | "vector_l2_ops"; export declare const KnownOpclassValues: readonly ["gin_trgm_ops", "gist_trgm_ops", "gin_bigm_ops", "vector_cosine_ops", "vector_ip_ops", "vector_l2_ops", "pgroonga_varchar_full_text_search_ops_v2", "pgroonga_jsonb_full_text_search_ops_v2"]; export type KnownOpclass = (typeof KnownOpclassValues)[number]; type EntityIndexColumn = { name: string; nullsFirst?: boolean; sortOrder?: "ASC" | "DESC"; /** pgvector 인덱스에서 사용할 거리 연산자 (vector 컬럼에만 적용) */ vectorOps?: VectorOps; /** generic 인덱스 opclass (vectorOps는 하위호환 목적으로 유지) */ opclass?: KnownOpclass | string; }; export type EntityIndex = { type: "index" | "unique" | "hnsw" | "ivfflat"; columns: EntityIndexColumn[]; name: string; using?: "btree" | "hash" | "gin" | "gist" | "pgroonga"; nullsNotDistinct?: boolean; /** * HNSW (Hierarchical Navigable Small World) 인덱스: 각 노드의 최대 연결 수 * * @description * 그래프에서 각 노드가 가질 수 있는 최대 연결 수입니다. * HNSW는 빠른 검색 속도와 높은 정확도를 제공하므로 권장됩니다. * - 기본값: 16 * - 범위: 2 ~ 100 * - 높을수록: 정확도↑, 빌드 시간↑, 메모리↑ * - 권장: 빠른 빌드(8), 균형(16), 높은 정확도(32), 최고 정확도(64) */ m?: number; /** * HNSW (Hierarchical Navigable Small World) 인덱스: 구성 시 탐색 범위 * * @description * 인덱스 구성 시 각 노드에서 탐색할 범위입니다. * - 기본값: 64 * - 범위: 4 ~ 1000 * - 높을수록: 정확도↑, 빌드 시간↑ * - 권장: 빠른 빌드(32), 균형(64), 높은 정확도(128), 최고 정확도(256) */ efConstruction?: number; /** * IVFFlat (Inverted File with Flat Compression) 인덱스: 클러스터링 리스트 수 * * @description * 벡터를 클러스터링할 버킷 수를 지정합니다. * IVFFlat은 빠른 빌드와 낮은 메모리 사용이 필요할 때 사용합니다. * - 권장값: sqrt(row_count) ~ row_count / 1000 * - 예시: 10,000행 → 100, 100,000행 → 300, 1,000,000행 → 1000 * - 많을수록 정확도↑, 검색 속도↓ */ lists?: number; }; export type SubsetField = string | { field: string; internal?: boolean; }; export declare function normalizeSubsetField(f: SubsetField): string; export declare function isInternalSubsetField(f: SubsetField): boolean; /** * SubsetDef: Subset 정의 * * 하위 호환성을 위해 SubsetField[] 배열 형태도 지원합니다. */ export type SubsetDef = SubsetField[] | { fields: SubsetField[]; cone?: Cone; }; /** * EnumDef: Enum 정의 * * 하위 호환성을 위해 Record 형태도 지원합니다. */ export type EnumDef = Record | { values: Record; cone?: Cone; }; /** * SubsetDef가 새로운 객체 형태인지 확인 */ export declare function isSubsetDefWithCone(def: SubsetDef): def is { fields: SubsetField[]; cone?: Cone; }; /** * EnumDef가 새로운 객체 형태인지 확인 */ export declare function isEnumDefWithCone(def: EnumDef): def is { values: Record; cone?: Cone; }; /** * SubsetDef에서 fields 추출 */ export declare function getSubsetFields(def: SubsetDef): SubsetField[]; /** * EnumDef에서 values 추출 */ export declare function getEnumDefValues(def: EnumDef): Record; export type EntityJson = { id: string; parentId?: string; table: string; title?: string; cone?: Cone; props: EntityProp[]; indexes: EntityIndex[]; subsets: { [subset: string]: SubsetDef; }; enums: { [enumId: string]: EnumDef; }; }; export type EntitySubsetRow = { field: string; has: { [key: string]: boolean; }; isInternal: { [key: string]: boolean; }; children: EntitySubsetRow[]; prefixes: string[]; relationEntity?: string; isOpen?: boolean; }; export type FlattenSubsetRow = Omit; /** * 엔티티의 필드 구조를 트리 형태로 표현하는 중간 노드입니다. * * **목적**: Entity의 subset 필드 표현식(예: "id", "user.name", "tags[]")을 * 재귀적인 트리 구조로 파싱하여 Zod 스키마 생성의 중간 단계로 사용합니다. * * **변환 흐름**: * Entity subset → EntityPropNode (트리 구조) → Zod 스키마 → RenderingNode (UI용) * * **nodeType**: * - "plain": 단일 필드 (예: "id", "name") * - "object": 중첩 객체 (예: "user.name" → user 객체) * - "array": 배열 (예: "tags[]" → tags 배열) * * **사용 위치**: entity-converter.ts의 propNodeToZodType() */ export type EntityPropNode = { nodeType: "plain"; prop: EntityProp; } | { nodeType: "object" | "array"; prop?: EntityProp; children: EntityPropNode[]; }; export declare function isIntegerSingleProp(p: unknown): p is IntegerProp; export declare function isIntegerArrayProp(p: unknown): p is IntegerArrayProp; export declare function isIntegerProp(p: unknown): p is IntegerProp | IntegerArrayProp; export declare function isBigIntegerSingleProp(p: unknown): p is BigIntegerProp; export declare function isBigIntegerArrayProp(p: unknown): p is BigIntegerArrayProp; export declare function isBigIntegerProp(p: unknown): p is BigIntegerProp | BigIntegerArrayProp; export declare function isStringSingleProp(p: unknown): p is StringProp; export declare function isStringArrayProp(p: unknown): p is StringArrayProp; export declare function isStringProp(p: unknown): p is StringProp | StringArrayProp; export declare function isEnumSingleProp(p: unknown): p is EnumProp; export declare function isEnumArrayProp(p: unknown): p is EnumArrayProp; export declare function isEnumProp(p: unknown): p is EnumProp | EnumArrayProp; export declare function isNumberSingleProp(p: unknown): p is NumberProp; export declare function isNumberArrayProp(p: unknown): p is NumberArrayProp; export declare function isNumberProp(p: unknown): p is NumberProp | NumberArrayProp; export declare function isNumericSingleProp(p: unknown): p is NumericProp; export declare function isNumericArrayProp(p: unknown): p is NumericArrayProp; export declare function isNumericProp(p: unknown): p is NumericProp | NumericArrayProp; export declare function isBooleanSingleProp(p: unknown): p is BooleanProp; export declare function isBooleanArrayProp(p: unknown): p is BooleanArrayProp; export declare function isBooleanProp(p: unknown): p is BooleanProp | BooleanArrayProp; export declare function isDateSingleProp(p: unknown): p is DateProp; export declare function isDateArrayProp(p: unknown): p is DateArrayProp; export declare function isDateProp(p: unknown): p is DateProp | DateArrayProp; export declare function isUuidSingleProp(p: unknown): p is UuidProp; export declare function isUuidArrayProp(p: unknown): p is UuidArrayProp; export declare function isUuidProp(p: unknown): p is UuidProp | UuidArrayProp; export declare function isJsonProp(p: unknown): p is JsonProp; export declare function isSearchTextProp(p: unknown): p is SearchTextProp; export declare function isVirtualProp(p: unknown): p is VirtualProp; export declare function isVirtualCodeProp(p: unknown): p is VirtualProp; export declare function isVirtualQueryProp(p: unknown): p is VirtualProp; export declare function isVectorSingleProp(p: unknown): p is VectorProp; export declare function isVectorArrayProp(p: unknown): p is VectorArrayProp; export declare function isVectorProp(p: unknown): p is VectorProp | VectorArrayProp; export declare function isTsVectorProp(p: unknown): p is TsVectorProp; export declare function isRelationProp(p: unknown): p is RelationProp; export declare function isOneToOneRelationProp(p: unknown): p is OneToOneRelationProp; export declare function isBelongsToOneRelationProp(p: unknown): p is BelongsToOneRelationProp; export declare function isHasManyRelationProp(p: unknown): p is HasManyRelationProp; export declare function isManyToManyRelationProp(p: unknown): p is ManyToManyRelationProp; type JoinClause = { from: string; to: string; } | { custom: string; }; export declare function isCustomJoinClause(p: unknown): p is { custom: string; }; type SubsetLoader = { as: string; table: string; manyJoin: { fromTable: string; fromCol: string; idField: string; toTable: string; toCol: string; through?: { table: string; fromCol: string; toCol: string; }; }; oneJoins: ({ as: string; join: "inner" | "outer"; table: string; } & JoinClause)[]; select: string[]; loaders?: SubsetLoader[]; }; export type SubsetQuery = { select: string[]; virtual: string[]; joins: ({ as: string; join: "inner" | "outer"; table: string; } & JoinClause)[]; loaders: SubsetLoader[]; }; export declare const SonamuQueryMode: z.ZodEnum<{ count: "count"; both: "both"; list: "list"; }>; export type SonamuQueryMode = z.infer; export declare const SonamuSemanticParams: z.ZodObject<{ semanticQuery: z.ZodObject<{ embedding: z.ZodArray; threshold: z.ZodOptional; method: z.ZodOptional>; }, z.core.$strip>; }, z.core.$strip>; export type SonamuSemanticParams = z.infer; export type KnexError = { code: string; errno: number; sql: string; sqlMessage: string; sqlState: string; }; export declare function isKnexError(e: unknown): e is KnexError; export type KnexColumnType = "string" | "text" | "smalltext" | "mediumtext" | "longtext" | "integer" | "bigInteger" | "decimal" | "timestamp" | "boolean" | "foreign" | "uuid" | "json" | "float" | "date" | "time" | "datetime"; export type MigrationColumnType = "string" | "string[]" | "integer" | "integer[]" | "bigInteger" | "bigInteger[]" | "numberOrNumeric" | "numberOrNumeric[]" | "boolean" | "boolean[]" | "date" | "date[]" | "uuid" | "uuid[]" | "json" | "vector" | "vector[]" | "tsvector"; export type MigrationColumn = { name: string; type: MigrationColumnType; nullable: boolean; numberType?: "real" | "double precision" | "numeric"; length?: number; defaultTo?: string; precision?: number; scale?: number; dimensions?: number; generated?: GeneratedColumn; }; export type MigrationIndex = { type: "unique" | "index" | "hnsw" | "ivfflat"; columns: EntityIndexColumn[]; name: string; using?: "btree" | "hash" | "gin" | "gist" | "pgroonga"; nullsNotDistinct?: boolean; /** HNSW (Hierarchical Navigable Small World): 각 노드의 최대 연결 수 */ m?: number; /** HNSW (Hierarchical Navigable Small World): 구성 시 탐색 범위 */ efConstruction?: number; /** IVFFlat (Inverted File with Flat Compression): 클러스터링 리스트 수 */ lists?: number; }; export type MigrationForeign = { columns: string[]; to: string; onUpdate: RelationOn; onDelete: RelationOn; }; export type MigrationJoinTable = { table: string; indexes: MigrationIndex[]; columns: MigrationColumn[]; foreigns: MigrationForeign[]; }; export type MigrationSet = { table: string; columns: MigrationColumn[]; indexes: MigrationIndex[]; foreigns: MigrationForeign[]; }; export type MigrationSetAndJoinTable = MigrationSet & { joinTables: MigrationJoinTable[]; }; export type GenMigrationCode = { title: string; table: string; type: "normal" | "foreign"; formatted: string | null; }; export type ApiParam = { name: string; type: ApiParamType; optional: boolean; defaultDef?: string; }; export declare namespace ApiParamType { type Function = { t: "function"; parameters: ApiParam[]; returnType: ApiParamType; }; type Object = { t: "object"; props: ApiParam[]; }; type Union = { t: "union"; types: ApiParamType[]; }; type Intersection = { t: "intersection"; types: ApiParamType[]; }; type StringLiteral = { t: "string-literal"; value: string; }; type NumericLiteral = { t: "numeric-literal"; value: number; }; type Array = { t: "array"; elementsType: ApiParamType; }; type Ref = { t: "ref"; id: string; args?: ApiParamType[]; }; type IndexedAccess = { t: "indexed-access"; object: ApiParamType; index: ApiParamType; }; type TupleType = { t: "tuple-type"; elements: ApiParamType[]; }; type Pick = Ref & { t: "ref"; id: "Pick"; }; type Omit = Ref & { t: "ref"; id: "Omit"; }; type Partial = Ref & { t: "ref"; id: "Partial"; }; type Promise = Ref & { t: "ref"; id: "Promise"; }; type Context = Ref & { t: "ref"; id: "Context"; }; type TypeParam = { t: "type-param"; id: string; constraint?: ApiParamType; }; function isObject(v: unknown): v is ApiParamType.Object; function isUnion(v: unknown): v is ApiParamType.Union; function isIntersection(v: unknown): v is ApiParamType.Intersection; function isStringLiteral(v: unknown): v is ApiParamType.StringLiteral; function isNumericLiteral(v: unknown): v is ApiParamType.NumericLiteral; function isArray(v: unknown): v is ApiParamType.Array; function isRef(v: unknown): v is ApiParamType.Ref; function isIndexedAccess(v: unknown): v is ApiParamType.IndexedAccess; function isTupleType(v: unknown): v is ApiParamType.TupleType; function isPick(v: unknown): v is ApiParamType.Pick; function isOmit(v: unknown): v is ApiParamType.Omit; function isPartial(v: unknown): v is ApiParamType.Partial; function isPromise(v: unknown): v is ApiParamType.Promise; function isContext(v: unknown): v is ApiParamType.Context; function isRefKnex(v: unknown): v is ApiParamType.Ref; function isTypeParam(v: unknown): v is ApiParamType.TypeParam; } export type ApiParamType = "string" | "number" | "boolean" | "null" | "undefined" | "void" | "any" | "unknown" | "true" | "false" | ApiParamType.StringLiteral | ApiParamType.NumericLiteral | ApiParamType.Object | ApiParamType.Union | ApiParamType.Intersection | ApiParamType.Array | ApiParamType.Ref | ApiParamType.IndexedAccess | ApiParamType.TypeParam | ApiParamType.TupleType | ApiParamType.Function; /** * UI 컴포넌트 렌더링을 위한 메타데이터 노드입니다. * * **목적**: Zod 스키마로부터 프론트엔드 UI 컴포넌트를 자동 생성하기 위한 * 렌더링 정보를 담은 트리 구조입니다. 각 필드가 어떤 UI 컴포넌트로 * 표현되어야 하는지(텍스트, 이미지, 날짜, Enum 선택 등)를 명시합니다. * * **변환 흐름**: * Entity subset → EntityPropNode → Zod 스키마 → RenderingNode (UI용) → React 컴포넌트 코드 생성 * * **주요 필드**: * - `renderType`: UI 컴포넌트 유형 (string-plain, number-fk_id, enums, array 등) * - `zodType`: 원본 Zod 스키마 (validation 용) * - `children`: 중첩된 객체 필드들 (object일 때) * - `element`: 배열 요소 타입 (array일 때) * * **사용 위치**: * - zod-converter.ts의 zodTypeToRenderingNode()에서 생성 * - view_form.template.ts, view_list.template.ts 등에서 React 컴포넌트 코드 생성에 사용 */ export declare const RenderingNode: z.ZodAny; export type RenderingNode = { name: string; label: string; renderType: "string-plain" | "string-image" | "string-datetime" | "string-date" | "string-id" | "string-fk_id" | "datetime" | "number-plain" | "number-id" | "number-fk_id" | "boolean" | "enums" | "array" | "array-images" | "json-sonamufile" | "json-sonamufile-array" | "object" | "object-pick" | "record" | "vector"; zodType: z.ZodTypeAny; element?: RenderingNode; children?: RenderingNode[]; config?: { picked: string; }; optional?: boolean; nullable?: boolean; }; export declare const RelationPropSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{ relationType: z.ZodLiteral<"BelongsToOne">; customJoinClause: z.ZodOptional; useConstraint: z.ZodOptional; onUpdate: z.ZodOptional>; onDelete: z.ZodOptional>; type: z.ZodLiteral<"relation">; with: z.ZodString; name: z.ZodString; desc: z.ZodOptional; nullable: z.ZodOptional; toFilter: z.ZodOptional>; dbDefault: z.ZodOptional>; generated: z.ZodOptional; expression: z.ZodString; }, z.core.$strip>>; cone: z.ZodOptional; tags: z.ZodOptional>; fixtureGenerator: z.ZodOptional; fixtureDefault: z.ZodOptional; fixtureStrategy: z.ZodOptional>; fixtureCompanions: z.ZodOptional>; count: z.ZodOptional; }, z.core.$strip>>>; fixtureParentOverrides: z.ZodOptional>; dataSource: z.ZodOptional; config: z.ZodOptional; }, z.core.$strip>>; }, z.core.$catchall>>; }, z.core.$strict>, z.ZodObject<{ relationType: z.ZodLiteral<"HasMany">; joinColumn: z.ZodString; fromColumn: z.ZodOptional; type: z.ZodLiteral<"relation">; with: z.ZodString; name: z.ZodString; desc: z.ZodOptional; nullable: z.ZodOptional; toFilter: z.ZodOptional>; dbDefault: z.ZodOptional>; generated: z.ZodOptional; expression: z.ZodString; }, z.core.$strip>>; cone: z.ZodOptional; tags: z.ZodOptional>; fixtureGenerator: z.ZodOptional; fixtureDefault: z.ZodOptional; fixtureStrategy: z.ZodOptional>; fixtureCompanions: z.ZodOptional>; count: z.ZodOptional; }, z.core.$strip>>>; fixtureParentOverrides: z.ZodOptional>; dataSource: z.ZodOptional; config: z.ZodOptional; }, z.core.$strip>>; }, z.core.$catchall>>; }, z.core.$strict>, z.ZodObject<{ relationType: z.ZodLiteral<"ManyToMany">; joinTable: z.ZodString; onUpdate: z.ZodEnum<{ CASCADE: "CASCADE"; "SET NULL": "SET NULL"; "NO ACTION": "NO ACTION"; "SET DEFAULT": "SET DEFAULT"; RESTRICT: "RESTRICT"; }>; onDelete: z.ZodEnum<{ CASCADE: "CASCADE"; "SET NULL": "SET NULL"; "NO ACTION": "NO ACTION"; "SET DEFAULT": "SET DEFAULT"; RESTRICT: "RESTRICT"; }>; type: z.ZodLiteral<"relation">; with: z.ZodString; name: z.ZodString; desc: z.ZodOptional; nullable: z.ZodOptional; toFilter: z.ZodOptional>; dbDefault: z.ZodOptional>; generated: z.ZodOptional; expression: z.ZodString; }, z.core.$strip>>; cone: z.ZodOptional; tags: z.ZodOptional>; fixtureGenerator: z.ZodOptional; fixtureDefault: z.ZodOptional; fixtureStrategy: z.ZodOptional>; fixtureCompanions: z.ZodOptional>; count: z.ZodOptional; }, z.core.$strip>>>; fixtureParentOverrides: z.ZodOptional>; dataSource: z.ZodOptional; config: z.ZodOptional; }, z.core.$strip>>; }, z.core.$catchall>>; }, z.core.$strict>, z.ZodObject<{ relationType: z.ZodLiteral<"OneToOne">; customJoinClause: z.ZodOptional; hasJoinColumn: z.ZodOptional; useConstraint: z.ZodOptional; onUpdate: z.ZodOptional>; onDelete: z.ZodOptional>; type: z.ZodLiteral<"relation">; with: z.ZodString; name: z.ZodString; desc: z.ZodOptional; nullable: z.ZodOptional; toFilter: z.ZodOptional>; dbDefault: z.ZodOptional>; generated: z.ZodOptional; expression: z.ZodString; }, z.core.$strip>>; cone: z.ZodOptional; tags: z.ZodOptional>; fixtureGenerator: z.ZodOptional; fixtureDefault: z.ZodOptional; fixtureStrategy: z.ZodOptional>; fixtureCompanions: z.ZodOptional>; count: z.ZodOptional; }, z.core.$strip>>>; fixtureParentOverrides: z.ZodOptional>; dataSource: z.ZodOptional; config: z.ZodOptional; }, z.core.$strip>>; }, z.core.$catchall>>; }, z.core.$strict>], "relationType">; export declare const NormalPropSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{ type: z.ZodUnion, z.ZodLiteral<"integer[]">, z.ZodLiteral<"bigInteger">, z.ZodLiteral<"bigInteger[]">, z.ZodLiteral<"boolean">, z.ZodLiteral<"boolean[]">, z.ZodLiteral<"uuid">, z.ZodLiteral<"uuid[]">, z.ZodLiteral<"tsvector">]>; name: z.ZodString; desc: z.ZodOptional; nullable: z.ZodOptional; toFilter: z.ZodOptional>; dbDefault: z.ZodOptional>; generated: z.ZodOptional; expression: z.ZodString; }, z.core.$strip>>; cone: z.ZodOptional; tags: z.ZodOptional>; fixtureGenerator: z.ZodOptional; fixtureDefault: z.ZodOptional; fixtureStrategy: z.ZodOptional>; fixtureCompanions: z.ZodOptional>; count: z.ZodOptional; }, z.core.$strip>>>; fixtureParentOverrides: z.ZodOptional>; dataSource: z.ZodOptional; config: z.ZodOptional; }, z.core.$strip>>; }, z.core.$catchall>>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"string">; length: z.ZodOptional; zodFormat: z.ZodOptional>; name: z.ZodString; desc: z.ZodOptional; nullable: z.ZodOptional; toFilter: z.ZodOptional>; dbDefault: z.ZodOptional>; generated: z.ZodOptional; expression: z.ZodString; }, z.core.$strip>>; cone: z.ZodOptional; tags: z.ZodOptional>; fixtureGenerator: z.ZodOptional; fixtureDefault: z.ZodOptional; fixtureStrategy: z.ZodOptional>; fixtureCompanions: z.ZodOptional>; count: z.ZodOptional; }, z.core.$strip>>>; fixtureParentOverrides: z.ZodOptional>; dataSource: z.ZodOptional; config: z.ZodOptional; }, z.core.$strip>>; }, z.core.$catchall>>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"string[]">; length: z.ZodOptional; zodFormat: z.ZodOptional>; name: z.ZodString; desc: z.ZodOptional; nullable: z.ZodOptional; toFilter: z.ZodOptional>; dbDefault: z.ZodOptional>; generated: z.ZodOptional; expression: z.ZodString; }, z.core.$strip>>; cone: z.ZodOptional; tags: z.ZodOptional>; fixtureGenerator: z.ZodOptional; fixtureDefault: z.ZodOptional; fixtureStrategy: z.ZodOptional>; fixtureCompanions: z.ZodOptional>; count: z.ZodOptional; }, z.core.$strip>>>; fixtureParentOverrides: z.ZodOptional>; dataSource: z.ZodOptional; config: z.ZodOptional; }, z.core.$strip>>; }, z.core.$catchall>>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"enum">; id: z.ZodString; length: z.ZodOptional; name: z.ZodString; desc: z.ZodOptional; nullable: z.ZodOptional; toFilter: z.ZodOptional>; dbDefault: z.ZodOptional>; generated: z.ZodOptional; expression: z.ZodString; }, z.core.$strip>>; cone: z.ZodOptional; tags: z.ZodOptional>; fixtureGenerator: z.ZodOptional; fixtureDefault: z.ZodOptional; fixtureStrategy: z.ZodOptional>; fixtureCompanions: z.ZodOptional>; count: z.ZodOptional; }, z.core.$strip>>>; fixtureParentOverrides: z.ZodOptional>; dataSource: z.ZodOptional; config: z.ZodOptional; }, z.core.$strip>>; }, z.core.$catchall>>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"enum[]">; id: z.ZodString; name: z.ZodString; desc: z.ZodOptional; nullable: z.ZodOptional; toFilter: z.ZodOptional>; dbDefault: z.ZodOptional>; generated: z.ZodOptional; expression: z.ZodString; }, z.core.$strip>>; cone: z.ZodOptional; tags: z.ZodOptional>; fixtureGenerator: z.ZodOptional; fixtureDefault: z.ZodOptional; fixtureStrategy: z.ZodOptional>; fixtureCompanions: z.ZodOptional>; count: z.ZodOptional; }, z.core.$strip>>>; fixtureParentOverrides: z.ZodOptional>; dataSource: z.ZodOptional; config: z.ZodOptional; }, z.core.$strip>>; }, z.core.$catchall>>; }, z.core.$strict>, z.ZodObject<{ numberType: z.ZodOptional>; precision: z.ZodOptional; scale: z.ZodOptional; type: z.ZodLiteral<"number">; name: z.ZodString; desc: z.ZodOptional; nullable: z.ZodOptional; toFilter: z.ZodOptional>; dbDefault: z.ZodOptional>; generated: z.ZodOptional; expression: z.ZodString; }, z.core.$strip>>; cone: z.ZodOptional; tags: z.ZodOptional>; fixtureGenerator: z.ZodOptional; fixtureDefault: z.ZodOptional; fixtureStrategy: z.ZodOptional>; fixtureCompanions: z.ZodOptional>; count: z.ZodOptional; }, z.core.$strip>>>; fixtureParentOverrides: z.ZodOptional>; dataSource: z.ZodOptional; config: z.ZodOptional; }, z.core.$strip>>; }, z.core.$catchall>>; }, z.core.$strict>, z.ZodObject<{ numberType: z.ZodOptional>; precision: z.ZodOptional; scale: z.ZodOptional; type: z.ZodLiteral<"number[]">; name: z.ZodString; desc: z.ZodOptional; nullable: z.ZodOptional; toFilter: z.ZodOptional>; dbDefault: z.ZodOptional>; generated: z.ZodOptional; expression: z.ZodString; }, z.core.$strip>>; cone: z.ZodOptional; tags: z.ZodOptional>; fixtureGenerator: z.ZodOptional; fixtureDefault: z.ZodOptional; fixtureStrategy: z.ZodOptional>; fixtureCompanions: z.ZodOptional>; count: z.ZodOptional; }, z.core.$strip>>>; fixtureParentOverrides: z.ZodOptional>; dataSource: z.ZodOptional; config: z.ZodOptional; }, z.core.$strip>>; }, z.core.$catchall>>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"date">; precision: z.ZodOptional; name: z.ZodString; desc: z.ZodOptional; nullable: z.ZodOptional; toFilter: z.ZodOptional>; dbDefault: z.ZodOptional>; generated: z.ZodOptional; expression: z.ZodString; }, z.core.$strip>>; cone: z.ZodOptional; tags: z.ZodOptional>; fixtureGenerator: z.ZodOptional; fixtureDefault: z.ZodOptional; fixtureStrategy: z.ZodOptional>; fixtureCompanions: z.ZodOptional>; count: z.ZodOptional; }, z.core.$strip>>>; fixtureParentOverrides: z.ZodOptional>; dataSource: z.ZodOptional; config: z.ZodOptional; }, z.core.$strip>>; }, z.core.$catchall>>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"date[]">; precision: z.ZodOptional; name: z.ZodString; desc: z.ZodOptional; nullable: z.ZodOptional; toFilter: z.ZodOptional>; dbDefault: z.ZodOptional>; generated: z.ZodOptional; expression: z.ZodString; }, z.core.$strip>>; cone: z.ZodOptional; tags: z.ZodOptional>; fixtureGenerator: z.ZodOptional; fixtureDefault: z.ZodOptional; fixtureStrategy: z.ZodOptional>; fixtureCompanions: z.ZodOptional>; count: z.ZodOptional; }, z.core.$strip>>>; fixtureParentOverrides: z.ZodOptional>; dataSource: z.ZodOptional; config: z.ZodOptional; }, z.core.$strip>>; }, z.core.$catchall>>; }, z.core.$strict>, z.ZodObject<{ precision: z.ZodOptional; scale: z.ZodOptional; type: z.ZodLiteral<"numeric">; name: z.ZodString; desc: z.ZodOptional; nullable: z.ZodOptional; toFilter: z.ZodOptional>; dbDefault: z.ZodOptional>; generated: z.ZodOptional; expression: z.ZodString; }, z.core.$strip>>; cone: z.ZodOptional; tags: z.ZodOptional>; fixtureGenerator: z.ZodOptional; fixtureDefault: z.ZodOptional; fixtureStrategy: z.ZodOptional>; fixtureCompanions: z.ZodOptional>; count: z.ZodOptional; }, z.core.$strip>>>; fixtureParentOverrides: z.ZodOptional>; dataSource: z.ZodOptional; config: z.ZodOptional; }, z.core.$strip>>; }, z.core.$catchall>>; }, z.core.$strict>, z.ZodObject<{ precision: z.ZodOptional; scale: z.ZodOptional; type: z.ZodLiteral<"numeric[]">; name: z.ZodString; desc: z.ZodOptional; nullable: z.ZodOptional; toFilter: z.ZodOptional>; dbDefault: z.ZodOptional>; generated: z.ZodOptional; expression: z.ZodString; }, z.core.$strip>>; cone: z.ZodOptional; tags: z.ZodOptional>; fixtureGenerator: z.ZodOptional; fixtureDefault: z.ZodOptional; fixtureStrategy: z.ZodOptional>; fixtureCompanions: z.ZodOptional>; count: z.ZodOptional; }, z.core.$strip>>>; fixtureParentOverrides: z.ZodOptional>; dataSource: z.ZodOptional; config: z.ZodOptional; }, z.core.$strip>>; }, z.core.$catchall>>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"json">; id: z.ZodString; name: z.ZodString; desc: z.ZodOptional; nullable: z.ZodOptional; toFilter: z.ZodOptional>; dbDefault: z.ZodOptional>; generated: z.ZodOptional; expression: z.ZodString; }, z.core.$strip>>; cone: z.ZodOptional; tags: z.ZodOptional>; fixtureGenerator: z.ZodOptional; fixtureDefault: z.ZodOptional; fixtureStrategy: z.ZodOptional>; fixtureCompanions: z.ZodOptional>; count: z.ZodOptional; }, z.core.$strip>>>; fixtureParentOverrides: z.ZodOptional>; dataSource: z.ZodOptional; config: z.ZodOptional; }, z.core.$strip>>; }, z.core.$catchall>>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"searchText">; sourceColumns: z.ZodArray; }, z.core.$strict>>; name: z.ZodString; desc: z.ZodOptional; nullable: z.ZodOptional; toFilter: z.ZodOptional>; dbDefault: z.ZodOptional>; generated: z.ZodOptional; expression: z.ZodString; }, z.core.$strip>>; cone: z.ZodOptional; tags: z.ZodOptional>; fixtureGenerator: z.ZodOptional; fixtureDefault: z.ZodOptional; fixtureStrategy: z.ZodOptional>; fixtureCompanions: z.ZodOptional>; count: z.ZodOptional; }, z.core.$strip>>>; fixtureParentOverrides: z.ZodOptional>; dataSource: z.ZodOptional; config: z.ZodOptional; }, z.core.$strip>>; }, z.core.$catchall>>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"virtual">; id: z.ZodString; virtualType: z.ZodOptional>; name: z.ZodString; desc: z.ZodOptional; nullable: z.ZodOptional; toFilter: z.ZodOptional>; dbDefault: z.ZodOptional>; generated: z.ZodOptional; expression: z.ZodString; }, z.core.$strip>>; cone: z.ZodOptional; tags: z.ZodOptional>; fixtureGenerator: z.ZodOptional; fixtureDefault: z.ZodOptional; fixtureStrategy: z.ZodOptional>; fixtureCompanions: z.ZodOptional>; count: z.ZodOptional; }, z.core.$strip>>>; fixtureParentOverrides: z.ZodOptional>; dataSource: z.ZodOptional; config: z.ZodOptional; }, z.core.$strip>>; }, z.core.$catchall>>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"vector">; dimensions: z.ZodNumber; name: z.ZodString; desc: z.ZodOptional; nullable: z.ZodOptional; toFilter: z.ZodOptional>; dbDefault: z.ZodOptional>; generated: z.ZodOptional; expression: z.ZodString; }, z.core.$strip>>; cone: z.ZodOptional; tags: z.ZodOptional>; fixtureGenerator: z.ZodOptional; fixtureDefault: z.ZodOptional; fixtureStrategy: z.ZodOptional>; fixtureCompanions: z.ZodOptional>; count: z.ZodOptional; }, z.core.$strip>>>; fixtureParentOverrides: z.ZodOptional>; dataSource: z.ZodOptional; config: z.ZodOptional; }, z.core.$strip>>; }, z.core.$catchall>>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"vector[]">; dimensions: z.ZodNumber; name: z.ZodString; desc: z.ZodOptional; nullable: z.ZodOptional; toFilter: z.ZodOptional>; dbDefault: z.ZodOptional>; generated: z.ZodOptional; expression: z.ZodString; }, z.core.$strip>>; cone: z.ZodOptional; tags: z.ZodOptional>; fixtureGenerator: z.ZodOptional; fixtureDefault: z.ZodOptional; fixtureStrategy: z.ZodOptional>; fixtureCompanions: z.ZodOptional>; count: z.ZodOptional; }, z.core.$strip>>>; fixtureParentOverrides: z.ZodOptional>; dataSource: z.ZodOptional; config: z.ZodOptional; }, z.core.$strip>>; }, z.core.$catchall>>; }, z.core.$strict>], "type">; export declare function isSearchTextJsonSourceZodType(zodType: z.ZodTypeAny): boolean; export declare const EntityJsonSchema: z.ZodObject<{ id: z.ZodString; title: z.ZodString; table: z.ZodString; parentId: z.ZodOptional; cone: z.ZodOptional; tags: z.ZodOptional>; fixtureGenerator: z.ZodOptional; fixtureDefault: z.ZodOptional; fixtureStrategy: z.ZodOptional>; fixtureCompanions: z.ZodOptional>; count: z.ZodOptional; }, z.core.$strip>>>; fixtureParentOverrides: z.ZodOptional>; dataSource: z.ZodOptional; config: z.ZodOptional; }, z.core.$strip>>; }, z.core.$catchall>>; props: z.ZodArray, z.ZodLiteral<"integer[]">, z.ZodLiteral<"bigInteger">, z.ZodLiteral<"bigInteger[]">, z.ZodLiteral<"boolean">, z.ZodLiteral<"boolean[]">, z.ZodLiteral<"uuid">, z.ZodLiteral<"uuid[]">, z.ZodLiteral<"tsvector">]>; name: z.ZodString; desc: z.ZodOptional; nullable: z.ZodOptional; toFilter: z.ZodOptional>; dbDefault: z.ZodOptional>; generated: z.ZodOptional; expression: z.ZodString; }, z.core.$strip>>; cone: z.ZodOptional; tags: z.ZodOptional>; fixtureGenerator: z.ZodOptional; fixtureDefault: z.ZodOptional; fixtureStrategy: z.ZodOptional>; fixtureCompanions: z.ZodOptional>; count: z.ZodOptional; }, z.core.$strip>>>; fixtureParentOverrides: z.ZodOptional>; dataSource: z.ZodOptional; config: z.ZodOptional; }, z.core.$strip>>; }, z.core.$catchall>>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"string">; length: z.ZodOptional; zodFormat: z.ZodOptional>; name: z.ZodString; desc: z.ZodOptional; nullable: z.ZodOptional; toFilter: z.ZodOptional>; dbDefault: z.ZodOptional>; generated: z.ZodOptional; expression: z.ZodString; }, z.core.$strip>>; cone: z.ZodOptional; tags: z.ZodOptional>; fixtureGenerator: z.ZodOptional; fixtureDefault: z.ZodOptional; fixtureStrategy: z.ZodOptional>; fixtureCompanions: z.ZodOptional>; count: z.ZodOptional; }, z.core.$strip>>>; fixtureParentOverrides: z.ZodOptional>; dataSource: z.ZodOptional; config: z.ZodOptional; }, z.core.$strip>>; }, z.core.$catchall>>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"string[]">; length: z.ZodOptional; zodFormat: z.ZodOptional>; name: z.ZodString; desc: z.ZodOptional; nullable: z.ZodOptional; toFilter: z.ZodOptional>; dbDefault: z.ZodOptional>; generated: z.ZodOptional; expression: z.ZodString; }, z.core.$strip>>; cone: z.ZodOptional; tags: z.ZodOptional>; fixtureGenerator: z.ZodOptional; fixtureDefault: z.ZodOptional; fixtureStrategy: z.ZodOptional>; fixtureCompanions: z.ZodOptional>; count: z.ZodOptional; }, z.core.$strip>>>; fixtureParentOverrides: z.ZodOptional>; dataSource: z.ZodOptional; config: z.ZodOptional; }, z.core.$strip>>; }, z.core.$catchall>>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"enum">; id: z.ZodString; length: z.ZodOptional; name: z.ZodString; desc: z.ZodOptional; nullable: z.ZodOptional; toFilter: z.ZodOptional>; dbDefault: z.ZodOptional>; generated: z.ZodOptional; expression: z.ZodString; }, z.core.$strip>>; cone: z.ZodOptional; tags: z.ZodOptional>; fixtureGenerator: z.ZodOptional; fixtureDefault: z.ZodOptional; fixtureStrategy: z.ZodOptional>; fixtureCompanions: z.ZodOptional>; count: z.ZodOptional; }, z.core.$strip>>>; fixtureParentOverrides: z.ZodOptional>; dataSource: z.ZodOptional; config: z.ZodOptional; }, z.core.$strip>>; }, z.core.$catchall>>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"enum[]">; id: z.ZodString; name: z.ZodString; desc: z.ZodOptional; nullable: z.ZodOptional; toFilter: z.ZodOptional>; dbDefault: z.ZodOptional>; generated: z.ZodOptional; expression: z.ZodString; }, z.core.$strip>>; cone: z.ZodOptional; tags: z.ZodOptional>; fixtureGenerator: z.ZodOptional; fixtureDefault: z.ZodOptional; fixtureStrategy: z.ZodOptional>; fixtureCompanions: z.ZodOptional>; count: z.ZodOptional; }, z.core.$strip>>>; fixtureParentOverrides: z.ZodOptional>; dataSource: z.ZodOptional; config: z.ZodOptional; }, z.core.$strip>>; }, z.core.$catchall>>; }, z.core.$strict>, z.ZodObject<{ numberType: z.ZodOptional>; precision: z.ZodOptional; scale: z.ZodOptional; type: z.ZodLiteral<"number">; name: z.ZodString; desc: z.ZodOptional; nullable: z.ZodOptional; toFilter: z.ZodOptional>; dbDefault: z.ZodOptional>; generated: z.ZodOptional; expression: z.ZodString; }, z.core.$strip>>; cone: z.ZodOptional; tags: z.ZodOptional>; fixtureGenerator: z.ZodOptional; fixtureDefault: z.ZodOptional; fixtureStrategy: z.ZodOptional>; fixtureCompanions: z.ZodOptional>; count: z.ZodOptional; }, z.core.$strip>>>; fixtureParentOverrides: z.ZodOptional>; dataSource: z.ZodOptional; config: z.ZodOptional; }, z.core.$strip>>; }, z.core.$catchall>>; }, z.core.$strict>, z.ZodObject<{ numberType: z.ZodOptional>; precision: z.ZodOptional; scale: z.ZodOptional; type: z.ZodLiteral<"number[]">; name: z.ZodString; desc: z.ZodOptional; nullable: z.ZodOptional; toFilter: z.ZodOptional>; dbDefault: z.ZodOptional>; generated: z.ZodOptional; expression: z.ZodString; }, z.core.$strip>>; cone: z.ZodOptional; tags: z.ZodOptional>; fixtureGenerator: z.ZodOptional; fixtureDefault: z.ZodOptional; fixtureStrategy: z.ZodOptional>; fixtureCompanions: z.ZodOptional>; count: z.ZodOptional; }, z.core.$strip>>>; fixtureParentOverrides: z.ZodOptional>; dataSource: z.ZodOptional; config: z.ZodOptional; }, z.core.$strip>>; }, z.core.$catchall>>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"date">; precision: z.ZodOptional; name: z.ZodString; desc: z.ZodOptional; nullable: z.ZodOptional; toFilter: z.ZodOptional>; dbDefault: z.ZodOptional>; generated: z.ZodOptional; expression: z.ZodString; }, z.core.$strip>>; cone: z.ZodOptional; tags: z.ZodOptional>; fixtureGenerator: z.ZodOptional; fixtureDefault: z.ZodOptional; fixtureStrategy: z.ZodOptional>; fixtureCompanions: z.ZodOptional>; count: z.ZodOptional; }, z.core.$strip>>>; fixtureParentOverrides: z.ZodOptional>; dataSource: z.ZodOptional; config: z.ZodOptional; }, z.core.$strip>>; }, z.core.$catchall>>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"date[]">; precision: z.ZodOptional; name: z.ZodString; desc: z.ZodOptional; nullable: z.ZodOptional; toFilter: z.ZodOptional>; dbDefault: z.ZodOptional>; generated: z.ZodOptional; expression: z.ZodString; }, z.core.$strip>>; cone: z.ZodOptional; tags: z.ZodOptional>; fixtureGenerator: z.ZodOptional; fixtureDefault: z.ZodOptional; fixtureStrategy: z.ZodOptional>; fixtureCompanions: z.ZodOptional>; count: z.ZodOptional; }, z.core.$strip>>>; fixtureParentOverrides: z.ZodOptional>; dataSource: z.ZodOptional; config: z.ZodOptional; }, z.core.$strip>>; }, z.core.$catchall>>; }, z.core.$strict>, z.ZodObject<{ precision: z.ZodOptional; scale: z.ZodOptional; type: z.ZodLiteral<"numeric">; name: z.ZodString; desc: z.ZodOptional; nullable: z.ZodOptional; toFilter: z.ZodOptional>; dbDefault: z.ZodOptional>; generated: z.ZodOptional; expression: z.ZodString; }, z.core.$strip>>; cone: z.ZodOptional; tags: z.ZodOptional>; fixtureGenerator: z.ZodOptional; fixtureDefault: z.ZodOptional; fixtureStrategy: z.ZodOptional>; fixtureCompanions: z.ZodOptional>; count: z.ZodOptional; }, z.core.$strip>>>; fixtureParentOverrides: z.ZodOptional>; dataSource: z.ZodOptional; config: z.ZodOptional; }, z.core.$strip>>; }, z.core.$catchall>>; }, z.core.$strict>, z.ZodObject<{ precision: z.ZodOptional; scale: z.ZodOptional; type: z.ZodLiteral<"numeric[]">; name: z.ZodString; desc: z.ZodOptional; nullable: z.ZodOptional; toFilter: z.ZodOptional>; dbDefault: z.ZodOptional>; generated: z.ZodOptional; expression: z.ZodString; }, z.core.$strip>>; cone: z.ZodOptional; tags: z.ZodOptional>; fixtureGenerator: z.ZodOptional; fixtureDefault: z.ZodOptional; fixtureStrategy: z.ZodOptional>; fixtureCompanions: z.ZodOptional>; count: z.ZodOptional; }, z.core.$strip>>>; fixtureParentOverrides: z.ZodOptional>; dataSource: z.ZodOptional; config: z.ZodOptional; }, z.core.$strip>>; }, z.core.$catchall>>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"json">; id: z.ZodString; name: z.ZodString; desc: z.ZodOptional; nullable: z.ZodOptional; toFilter: z.ZodOptional>; dbDefault: z.ZodOptional>; generated: z.ZodOptional; expression: z.ZodString; }, z.core.$strip>>; cone: z.ZodOptional; tags: z.ZodOptional>; fixtureGenerator: z.ZodOptional; fixtureDefault: z.ZodOptional; fixtureStrategy: z.ZodOptional>; fixtureCompanions: z.ZodOptional>; count: z.ZodOptional; }, z.core.$strip>>>; fixtureParentOverrides: z.ZodOptional>; dataSource: z.ZodOptional; config: z.ZodOptional; }, z.core.$strip>>; }, z.core.$catchall>>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"searchText">; sourceColumns: z.ZodArray; }, z.core.$strict>>; name: z.ZodString; desc: z.ZodOptional; nullable: z.ZodOptional; toFilter: z.ZodOptional>; dbDefault: z.ZodOptional>; generated: z.ZodOptional; expression: z.ZodString; }, z.core.$strip>>; cone: z.ZodOptional; tags: z.ZodOptional>; fixtureGenerator: z.ZodOptional; fixtureDefault: z.ZodOptional; fixtureStrategy: z.ZodOptional>; fixtureCompanions: z.ZodOptional>; count: z.ZodOptional; }, z.core.$strip>>>; fixtureParentOverrides: z.ZodOptional>; dataSource: z.ZodOptional; config: z.ZodOptional; }, z.core.$strip>>; }, z.core.$catchall>>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"virtual">; id: z.ZodString; virtualType: z.ZodOptional>; name: z.ZodString; desc: z.ZodOptional; nullable: z.ZodOptional; toFilter: z.ZodOptional>; dbDefault: z.ZodOptional>; generated: z.ZodOptional; expression: z.ZodString; }, z.core.$strip>>; cone: z.ZodOptional; tags: z.ZodOptional>; fixtureGenerator: z.ZodOptional; fixtureDefault: z.ZodOptional; fixtureStrategy: z.ZodOptional>; fixtureCompanions: z.ZodOptional>; count: z.ZodOptional; }, z.core.$strip>>>; fixtureParentOverrides: z.ZodOptional>; dataSource: z.ZodOptional; config: z.ZodOptional; }, z.core.$strip>>; }, z.core.$catchall>>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"vector">; dimensions: z.ZodNumber; name: z.ZodString; desc: z.ZodOptional; nullable: z.ZodOptional; toFilter: z.ZodOptional>; dbDefault: z.ZodOptional>; generated: z.ZodOptional; expression: z.ZodString; }, z.core.$strip>>; cone: z.ZodOptional; tags: z.ZodOptional>; fixtureGenerator: z.ZodOptional; fixtureDefault: z.ZodOptional; fixtureStrategy: z.ZodOptional>; fixtureCompanions: z.ZodOptional>; count: z.ZodOptional; }, z.core.$strip>>>; fixtureParentOverrides: z.ZodOptional>; dataSource: z.ZodOptional; config: z.ZodOptional; }, z.core.$strip>>; }, z.core.$catchall>>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"vector[]">; dimensions: z.ZodNumber; name: z.ZodString; desc: z.ZodOptional; nullable: z.ZodOptional; toFilter: z.ZodOptional>; dbDefault: z.ZodOptional>; generated: z.ZodOptional; expression: z.ZodString; }, z.core.$strip>>; cone: z.ZodOptional; tags: z.ZodOptional>; fixtureGenerator: z.ZodOptional; fixtureDefault: z.ZodOptional; fixtureStrategy: z.ZodOptional>; fixtureCompanions: z.ZodOptional>; count: z.ZodOptional; }, z.core.$strip>>>; fixtureParentOverrides: z.ZodOptional>; dataSource: z.ZodOptional; config: z.ZodOptional; }, z.core.$strip>>; }, z.core.$catchall>>; }, z.core.$strict>], "type">, z.ZodDiscriminatedUnion<[z.ZodObject<{ relationType: z.ZodLiteral<"BelongsToOne">; customJoinClause: z.ZodOptional; useConstraint: z.ZodOptional; onUpdate: z.ZodOptional>; onDelete: z.ZodOptional>; type: z.ZodLiteral<"relation">; with: z.ZodString; name: z.ZodString; desc: z.ZodOptional; nullable: z.ZodOptional; toFilter: z.ZodOptional>; dbDefault: z.ZodOptional>; generated: z.ZodOptional; expression: z.ZodString; }, z.core.$strip>>; cone: z.ZodOptional; tags: z.ZodOptional>; fixtureGenerator: z.ZodOptional; fixtureDefault: z.ZodOptional; fixtureStrategy: z.ZodOptional>; fixtureCompanions: z.ZodOptional>; count: z.ZodOptional; }, z.core.$strip>>>; fixtureParentOverrides: z.ZodOptional>; dataSource: z.ZodOptional; config: z.ZodOptional; }, z.core.$strip>>; }, z.core.$catchall>>; }, z.core.$strict>, z.ZodObject<{ relationType: z.ZodLiteral<"HasMany">; joinColumn: z.ZodString; fromColumn: z.ZodOptional; type: z.ZodLiteral<"relation">; with: z.ZodString; name: z.ZodString; desc: z.ZodOptional; nullable: z.ZodOptional; toFilter: z.ZodOptional>; dbDefault: z.ZodOptional>; generated: z.ZodOptional; expression: z.ZodString; }, z.core.$strip>>; cone: z.ZodOptional; tags: z.ZodOptional>; fixtureGenerator: z.ZodOptional; fixtureDefault: z.ZodOptional; fixtureStrategy: z.ZodOptional>; fixtureCompanions: z.ZodOptional>; count: z.ZodOptional; }, z.core.$strip>>>; fixtureParentOverrides: z.ZodOptional>; dataSource: z.ZodOptional; config: z.ZodOptional; }, z.core.$strip>>; }, z.core.$catchall>>; }, z.core.$strict>, z.ZodObject<{ relationType: z.ZodLiteral<"ManyToMany">; joinTable: z.ZodString; onUpdate: z.ZodEnum<{ CASCADE: "CASCADE"; "SET NULL": "SET NULL"; "NO ACTION": "NO ACTION"; "SET DEFAULT": "SET DEFAULT"; RESTRICT: "RESTRICT"; }>; onDelete: z.ZodEnum<{ CASCADE: "CASCADE"; "SET NULL": "SET NULL"; "NO ACTION": "NO ACTION"; "SET DEFAULT": "SET DEFAULT"; RESTRICT: "RESTRICT"; }>; type: z.ZodLiteral<"relation">; with: z.ZodString; name: z.ZodString; desc: z.ZodOptional; nullable: z.ZodOptional; toFilter: z.ZodOptional>; dbDefault: z.ZodOptional>; generated: z.ZodOptional; expression: z.ZodString; }, z.core.$strip>>; cone: z.ZodOptional; tags: z.ZodOptional>; fixtureGenerator: z.ZodOptional; fixtureDefault: z.ZodOptional; fixtureStrategy: z.ZodOptional>; fixtureCompanions: z.ZodOptional>; count: z.ZodOptional; }, z.core.$strip>>>; fixtureParentOverrides: z.ZodOptional>; dataSource: z.ZodOptional; config: z.ZodOptional; }, z.core.$strip>>; }, z.core.$catchall>>; }, z.core.$strict>, z.ZodObject<{ relationType: z.ZodLiteral<"OneToOne">; customJoinClause: z.ZodOptional; hasJoinColumn: z.ZodOptional; useConstraint: z.ZodOptional; onUpdate: z.ZodOptional>; onDelete: z.ZodOptional>; type: z.ZodLiteral<"relation">; with: z.ZodString; name: z.ZodString; desc: z.ZodOptional; nullable: z.ZodOptional; toFilter: z.ZodOptional>; dbDefault: z.ZodOptional>; generated: z.ZodOptional; expression: z.ZodString; }, z.core.$strip>>; cone: z.ZodOptional; tags: z.ZodOptional>; fixtureGenerator: z.ZodOptional; fixtureDefault: z.ZodOptional; fixtureStrategy: z.ZodOptional>; fixtureCompanions: z.ZodOptional>; count: z.ZodOptional; }, z.core.$strip>>>; fixtureParentOverrides: z.ZodOptional>; dataSource: z.ZodOptional; config: z.ZodOptional; }, z.core.$strip>>; }, z.core.$catchall>>; }, z.core.$strict>], "relationType">], "type">>; indexes: z.ZodArray; columns: z.ZodArray; sortOrder: z.ZodOptional>; vectorOps: z.ZodOptional>; opclass: z.ZodOptional, z.ZodString]>>; }, z.core.$strip>>; name: z.ZodString; using: z.ZodOptional>; nullsNotDistinct: z.ZodOptional; m: z.ZodOptional; efConstruction: z.ZodOptional; lists: z.ZodOptional; }, z.core.$strict>>; subsets: z.ZodRecord; }, z.core.$strip>]>>, z.ZodObject<{ fields: z.ZodArray; }, z.core.$strip>]>>; cone: z.ZodOptional; tags: z.ZodOptional>; fixtureGenerator: z.ZodOptional; fixtureDefault: z.ZodOptional; fixtureStrategy: z.ZodOptional>; fixtureCompanions: z.ZodOptional>; count: z.ZodOptional; }, z.core.$strip>>>; fixtureParentOverrides: z.ZodOptional>; dataSource: z.ZodOptional; config: z.ZodOptional; }, z.core.$strip>>; }, z.core.$catchall>>; }, z.core.$strip>]>>; enums: z.ZodRecord, z.ZodObject<{ values: z.ZodRecord; cone: z.ZodOptional; tags: z.ZodOptional>; fixtureGenerator: z.ZodOptional; fixtureDefault: z.ZodOptional; fixtureStrategy: z.ZodOptional>; fixtureCompanions: z.ZodOptional>; count: z.ZodOptional; }, z.core.$strip>>>; fixtureParentOverrides: z.ZodOptional>; dataSource: z.ZodOptional; config: z.ZodOptional; }, z.core.$strip>>; }, z.core.$catchall>>; }, z.core.$strip>]>>; }, z.core.$strict>; export declare const TemplateOptions: z.ZodObject<{ entity: z.ZodObject<{ cone: z.ZodOptional; tags: z.ZodOptional>; fixtureGenerator: z.ZodOptional; fixtureDefault: z.ZodOptional; fixtureStrategy: z.ZodOptional>; fixtureCompanions: z.ZodOptional>; count: z.ZodOptional; }, z.core.$strip>>>; fixtureParentOverrides: z.ZodOptional>; dataSource: z.ZodOptional; config: z.ZodOptional; }, z.core.$strip>>; }, z.core.$catchall>>; title: z.ZodString; parentId: z.ZodOptional; table: z.ZodOptional; props: z.ZodOptional, z.ZodLiteral<"integer[]">, z.ZodLiteral<"bigInteger">, z.ZodLiteral<"bigInteger[]">, z.ZodLiteral<"boolean">, z.ZodLiteral<"boolean[]">, z.ZodLiteral<"uuid">, z.ZodLiteral<"uuid[]">, z.ZodLiteral<"tsvector">]>; name: z.ZodString; desc: z.ZodOptional; nullable: z.ZodOptional; toFilter: z.ZodOptional>; dbDefault: z.ZodOptional>; generated: z.ZodOptional; expression: z.ZodString; }, z.core.$strip>>; cone: z.ZodOptional; tags: z.ZodOptional>; fixtureGenerator: z.ZodOptional; fixtureDefault: z.ZodOptional; fixtureStrategy: z.ZodOptional>; fixtureCompanions: z.ZodOptional>; count: z.ZodOptional; }, z.core.$strip>>>; fixtureParentOverrides: z.ZodOptional>; dataSource: z.ZodOptional; config: z.ZodOptional; }, z.core.$strip>>; }, z.core.$catchall>>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"string">; length: z.ZodOptional; zodFormat: z.ZodOptional>; name: z.ZodString; desc: z.ZodOptional; nullable: z.ZodOptional; toFilter: z.ZodOptional>; dbDefault: z.ZodOptional>; generated: z.ZodOptional; expression: z.ZodString; }, z.core.$strip>>; cone: z.ZodOptional; tags: z.ZodOptional>; fixtureGenerator: z.ZodOptional; fixtureDefault: z.ZodOptional; fixtureStrategy: z.ZodOptional>; fixtureCompanions: z.ZodOptional>; count: z.ZodOptional; }, z.core.$strip>>>; fixtureParentOverrides: z.ZodOptional>; dataSource: z.ZodOptional; config: z.ZodOptional; }, z.core.$strip>>; }, z.core.$catchall>>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"string[]">; length: z.ZodOptional; zodFormat: z.ZodOptional>; name: z.ZodString; desc: z.ZodOptional; nullable: z.ZodOptional; toFilter: z.ZodOptional>; dbDefault: z.ZodOptional>; generated: z.ZodOptional; expression: z.ZodString; }, z.core.$strip>>; cone: z.ZodOptional; tags: z.ZodOptional>; fixtureGenerator: z.ZodOptional; fixtureDefault: z.ZodOptional; fixtureStrategy: z.ZodOptional>; fixtureCompanions: z.ZodOptional>; count: z.ZodOptional; }, z.core.$strip>>>; fixtureParentOverrides: z.ZodOptional>; dataSource: z.ZodOptional; config: z.ZodOptional; }, z.core.$strip>>; }, z.core.$catchall>>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"enum">; id: z.ZodString; length: z.ZodOptional; name: z.ZodString; desc: z.ZodOptional; nullable: z.ZodOptional; toFilter: z.ZodOptional>; dbDefault: z.ZodOptional>; generated: z.ZodOptional; expression: z.ZodString; }, z.core.$strip>>; cone: z.ZodOptional; tags: z.ZodOptional>; fixtureGenerator: z.ZodOptional; fixtureDefault: z.ZodOptional; fixtureStrategy: z.ZodOptional>; fixtureCompanions: z.ZodOptional>; count: z.ZodOptional; }, z.core.$strip>>>; fixtureParentOverrides: z.ZodOptional>; dataSource: z.ZodOptional; config: z.ZodOptional; }, z.core.$strip>>; }, z.core.$catchall>>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"enum[]">; id: z.ZodString; name: z.ZodString; desc: z.ZodOptional; nullable: z.ZodOptional; toFilter: z.ZodOptional>; dbDefault: z.ZodOptional>; generated: z.ZodOptional; expression: z.ZodString; }, z.core.$strip>>; cone: z.ZodOptional; tags: z.ZodOptional>; fixtureGenerator: z.ZodOptional; fixtureDefault: z.ZodOptional; fixtureStrategy: z.ZodOptional>; fixtureCompanions: z.ZodOptional>; count: z.ZodOptional; }, z.core.$strip>>>; fixtureParentOverrides: z.ZodOptional>; dataSource: z.ZodOptional; config: z.ZodOptional; }, z.core.$strip>>; }, z.core.$catchall>>; }, z.core.$strict>, z.ZodObject<{ numberType: z.ZodOptional>; precision: z.ZodOptional; scale: z.ZodOptional; type: z.ZodLiteral<"number">; name: z.ZodString; desc: z.ZodOptional; nullable: z.ZodOptional; toFilter: z.ZodOptional>; dbDefault: z.ZodOptional>; generated: z.ZodOptional; expression: z.ZodString; }, z.core.$strip>>; cone: z.ZodOptional; tags: z.ZodOptional>; fixtureGenerator: z.ZodOptional; fixtureDefault: z.ZodOptional; fixtureStrategy: z.ZodOptional>; fixtureCompanions: z.ZodOptional>; count: z.ZodOptional; }, z.core.$strip>>>; fixtureParentOverrides: z.ZodOptional>; dataSource: z.ZodOptional; config: z.ZodOptional; }, z.core.$strip>>; }, z.core.$catchall>>; }, z.core.$strict>, z.ZodObject<{ numberType: z.ZodOptional>; precision: z.ZodOptional; scale: z.ZodOptional; type: z.ZodLiteral<"number[]">; name: z.ZodString; desc: z.ZodOptional; nullable: z.ZodOptional; toFilter: z.ZodOptional>; dbDefault: z.ZodOptional>; generated: z.ZodOptional; expression: z.ZodString; }, z.core.$strip>>; cone: z.ZodOptional; tags: z.ZodOptional>; fixtureGenerator: z.ZodOptional; fixtureDefault: z.ZodOptional; fixtureStrategy: z.ZodOptional>; fixtureCompanions: z.ZodOptional>; count: z.ZodOptional; }, z.core.$strip>>>; fixtureParentOverrides: z.ZodOptional>; dataSource: z.ZodOptional; config: z.ZodOptional; }, z.core.$strip>>; }, z.core.$catchall>>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"date">; precision: z.ZodOptional; name: z.ZodString; desc: z.ZodOptional; nullable: z.ZodOptional; toFilter: z.ZodOptional>; dbDefault: z.ZodOptional>; generated: z.ZodOptional; expression: z.ZodString; }, z.core.$strip>>; cone: z.ZodOptional; tags: z.ZodOptional>; fixtureGenerator: z.ZodOptional; fixtureDefault: z.ZodOptional; fixtureStrategy: z.ZodOptional>; fixtureCompanions: z.ZodOptional>; count: z.ZodOptional; }, z.core.$strip>>>; fixtureParentOverrides: z.ZodOptional>; dataSource: z.ZodOptional; config: z.ZodOptional; }, z.core.$strip>>; }, z.core.$catchall>>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"date[]">; precision: z.ZodOptional; name: z.ZodString; desc: z.ZodOptional; nullable: z.ZodOptional; toFilter: z.ZodOptional>; dbDefault: z.ZodOptional>; generated: z.ZodOptional; expression: z.ZodString; }, z.core.$strip>>; cone: z.ZodOptional; tags: z.ZodOptional>; fixtureGenerator: z.ZodOptional; fixtureDefault: z.ZodOptional; fixtureStrategy: z.ZodOptional>; fixtureCompanions: z.ZodOptional>; count: z.ZodOptional; }, z.core.$strip>>>; fixtureParentOverrides: z.ZodOptional>; dataSource: z.ZodOptional; config: z.ZodOptional; }, z.core.$strip>>; }, z.core.$catchall>>; }, z.core.$strict>, z.ZodObject<{ precision: z.ZodOptional; scale: z.ZodOptional; type: z.ZodLiteral<"numeric">; name: z.ZodString; desc: z.ZodOptional; nullable: z.ZodOptional; toFilter: z.ZodOptional>; dbDefault: z.ZodOptional>; generated: z.ZodOptional; expression: z.ZodString; }, z.core.$strip>>; cone: z.ZodOptional; tags: z.ZodOptional>; fixtureGenerator: z.ZodOptional; fixtureDefault: z.ZodOptional; fixtureStrategy: z.ZodOptional>; fixtureCompanions: z.ZodOptional>; count: z.ZodOptional; }, z.core.$strip>>>; fixtureParentOverrides: z.ZodOptional>; dataSource: z.ZodOptional; config: z.ZodOptional; }, z.core.$strip>>; }, z.core.$catchall>>; }, z.core.$strict>, z.ZodObject<{ precision: z.ZodOptional; scale: z.ZodOptional; type: z.ZodLiteral<"numeric[]">; name: z.ZodString; desc: z.ZodOptional; nullable: z.ZodOptional; toFilter: z.ZodOptional>; dbDefault: z.ZodOptional>; generated: z.ZodOptional; expression: z.ZodString; }, z.core.$strip>>; cone: z.ZodOptional; tags: z.ZodOptional>; fixtureGenerator: z.ZodOptional; fixtureDefault: z.ZodOptional; fixtureStrategy: z.ZodOptional>; fixtureCompanions: z.ZodOptional>; count: z.ZodOptional; }, z.core.$strip>>>; fixtureParentOverrides: z.ZodOptional>; dataSource: z.ZodOptional; config: z.ZodOptional; }, z.core.$strip>>; }, z.core.$catchall>>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"json">; id: z.ZodString; name: z.ZodString; desc: z.ZodOptional; nullable: z.ZodOptional; toFilter: z.ZodOptional>; dbDefault: z.ZodOptional>; generated: z.ZodOptional; expression: z.ZodString; }, z.core.$strip>>; cone: z.ZodOptional; tags: z.ZodOptional>; fixtureGenerator: z.ZodOptional; fixtureDefault: z.ZodOptional; fixtureStrategy: z.ZodOptional>; fixtureCompanions: z.ZodOptional>; count: z.ZodOptional; }, z.core.$strip>>>; fixtureParentOverrides: z.ZodOptional>; dataSource: z.ZodOptional; config: z.ZodOptional; }, z.core.$strip>>; }, z.core.$catchall>>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"searchText">; sourceColumns: z.ZodArray; }, z.core.$strict>>; name: z.ZodString; desc: z.ZodOptional; nullable: z.ZodOptional; toFilter: z.ZodOptional>; dbDefault: z.ZodOptional>; generated: z.ZodOptional; expression: z.ZodString; }, z.core.$strip>>; cone: z.ZodOptional; tags: z.ZodOptional>; fixtureGenerator: z.ZodOptional; fixtureDefault: z.ZodOptional; fixtureStrategy: z.ZodOptional>; fixtureCompanions: z.ZodOptional>; count: z.ZodOptional; }, z.core.$strip>>>; fixtureParentOverrides: z.ZodOptional>; dataSource: z.ZodOptional; config: z.ZodOptional; }, z.core.$strip>>; }, z.core.$catchall>>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"virtual">; id: z.ZodString; virtualType: z.ZodOptional>; name: z.ZodString; desc: z.ZodOptional; nullable: z.ZodOptional; toFilter: z.ZodOptional>; dbDefault: z.ZodOptional>; generated: z.ZodOptional; expression: z.ZodString; }, z.core.$strip>>; cone: z.ZodOptional; tags: z.ZodOptional>; fixtureGenerator: z.ZodOptional; fixtureDefault: z.ZodOptional; fixtureStrategy: z.ZodOptional>; fixtureCompanions: z.ZodOptional>; count: z.ZodOptional; }, z.core.$strip>>>; fixtureParentOverrides: z.ZodOptional>; dataSource: z.ZodOptional; config: z.ZodOptional; }, z.core.$strip>>; }, z.core.$catchall>>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"vector">; dimensions: z.ZodNumber; name: z.ZodString; desc: z.ZodOptional; nullable: z.ZodOptional; toFilter: z.ZodOptional>; dbDefault: z.ZodOptional>; generated: z.ZodOptional; expression: z.ZodString; }, z.core.$strip>>; cone: z.ZodOptional; tags: z.ZodOptional>; fixtureGenerator: z.ZodOptional; fixtureDefault: z.ZodOptional; fixtureStrategy: z.ZodOptional>; fixtureCompanions: z.ZodOptional>; count: z.ZodOptional; }, z.core.$strip>>>; fixtureParentOverrides: z.ZodOptional>; dataSource: z.ZodOptional; config: z.ZodOptional; }, z.core.$strip>>; }, z.core.$catchall>>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"vector[]">; dimensions: z.ZodNumber; name: z.ZodString; desc: z.ZodOptional; nullable: z.ZodOptional; toFilter: z.ZodOptional>; dbDefault: z.ZodOptional>; generated: z.ZodOptional; expression: z.ZodString; }, z.core.$strip>>; cone: z.ZodOptional; tags: z.ZodOptional>; fixtureGenerator: z.ZodOptional; fixtureDefault: z.ZodOptional; fixtureStrategy: z.ZodOptional>; fixtureCompanions: z.ZodOptional>; count: z.ZodOptional; }, z.core.$strip>>>; fixtureParentOverrides: z.ZodOptional>; dataSource: z.ZodOptional; config: z.ZodOptional; }, z.core.$strip>>; }, z.core.$catchall>>; }, z.core.$strict>], "type">, z.ZodDiscriminatedUnion<[z.ZodObject<{ relationType: z.ZodLiteral<"BelongsToOne">; customJoinClause: z.ZodOptional; useConstraint: z.ZodOptional; onUpdate: z.ZodOptional>; onDelete: z.ZodOptional>; type: z.ZodLiteral<"relation">; with: z.ZodString; name: z.ZodString; desc: z.ZodOptional; nullable: z.ZodOptional; toFilter: z.ZodOptional>; dbDefault: z.ZodOptional>; generated: z.ZodOptional; expression: z.ZodString; }, z.core.$strip>>; cone: z.ZodOptional; tags: z.ZodOptional>; fixtureGenerator: z.ZodOptional; fixtureDefault: z.ZodOptional; fixtureStrategy: z.ZodOptional>; fixtureCompanions: z.ZodOptional>; count: z.ZodOptional; }, z.core.$strip>>>; fixtureParentOverrides: z.ZodOptional>; dataSource: z.ZodOptional; config: z.ZodOptional; }, z.core.$strip>>; }, z.core.$catchall>>; }, z.core.$strict>, z.ZodObject<{ relationType: z.ZodLiteral<"HasMany">; joinColumn: z.ZodString; fromColumn: z.ZodOptional; type: z.ZodLiteral<"relation">; with: z.ZodString; name: z.ZodString; desc: z.ZodOptional; nullable: z.ZodOptional; toFilter: z.ZodOptional>; dbDefault: z.ZodOptional>; generated: z.ZodOptional; expression: z.ZodString; }, z.core.$strip>>; cone: z.ZodOptional; tags: z.ZodOptional>; fixtureGenerator: z.ZodOptional; fixtureDefault: z.ZodOptional; fixtureStrategy: z.ZodOptional>; fixtureCompanions: z.ZodOptional>; count: z.ZodOptional; }, z.core.$strip>>>; fixtureParentOverrides: z.ZodOptional>; dataSource: z.ZodOptional; config: z.ZodOptional; }, z.core.$strip>>; }, z.core.$catchall>>; }, z.core.$strict>, z.ZodObject<{ relationType: z.ZodLiteral<"ManyToMany">; joinTable: z.ZodString; onUpdate: z.ZodEnum<{ CASCADE: "CASCADE"; "SET NULL": "SET NULL"; "NO ACTION": "NO ACTION"; "SET DEFAULT": "SET DEFAULT"; RESTRICT: "RESTRICT"; }>; onDelete: z.ZodEnum<{ CASCADE: "CASCADE"; "SET NULL": "SET NULL"; "NO ACTION": "NO ACTION"; "SET DEFAULT": "SET DEFAULT"; RESTRICT: "RESTRICT"; }>; type: z.ZodLiteral<"relation">; with: z.ZodString; name: z.ZodString; desc: z.ZodOptional; nullable: z.ZodOptional; toFilter: z.ZodOptional>; dbDefault: z.ZodOptional>; generated: z.ZodOptional; expression: z.ZodString; }, z.core.$strip>>; cone: z.ZodOptional; tags: z.ZodOptional>; fixtureGenerator: z.ZodOptional; fixtureDefault: z.ZodOptional; fixtureStrategy: z.ZodOptional>; fixtureCompanions: z.ZodOptional>; count: z.ZodOptional; }, z.core.$strip>>>; fixtureParentOverrides: z.ZodOptional>; dataSource: z.ZodOptional; config: z.ZodOptional; }, z.core.$strip>>; }, z.core.$catchall>>; }, z.core.$strict>, z.ZodObject<{ relationType: z.ZodLiteral<"OneToOne">; customJoinClause: z.ZodOptional; hasJoinColumn: z.ZodOptional; useConstraint: z.ZodOptional; onUpdate: z.ZodOptional>; onDelete: z.ZodOptional>; type: z.ZodLiteral<"relation">; with: z.ZodString; name: z.ZodString; desc: z.ZodOptional; nullable: z.ZodOptional; toFilter: z.ZodOptional>; dbDefault: z.ZodOptional>; generated: z.ZodOptional; expression: z.ZodString; }, z.core.$strip>>; cone: z.ZodOptional; tags: z.ZodOptional>; fixtureGenerator: z.ZodOptional; fixtureDefault: z.ZodOptional; fixtureStrategy: z.ZodOptional>; fixtureCompanions: z.ZodOptional>; count: z.ZodOptional; }, z.core.$strip>>>; fixtureParentOverrides: z.ZodOptional>; dataSource: z.ZodOptional; config: z.ZodOptional; }, z.core.$strip>>; }, z.core.$catchall>>; }, z.core.$strict>], "relationType">], "type">>>; indexes: z.ZodOptional; columns: z.ZodArray; sortOrder: z.ZodOptional>; vectorOps: z.ZodOptional>; opclass: z.ZodOptional, z.ZodString]>>; }, z.core.$strip>>; name: z.ZodString; using: z.ZodOptional>; nullsNotDistinct: z.ZodOptional; m: z.ZodOptional; efConstruction: z.ZodOptional; lists: z.ZodOptional; }, z.core.$strict>>>; subsets: z.ZodOptional; }, z.core.$strip>]>>, z.ZodObject<{ fields: z.ZodArray; }, z.core.$strip>]>>; cone: z.ZodOptional; tags: z.ZodOptional>; fixtureGenerator: z.ZodOptional; fixtureDefault: z.ZodOptional; fixtureStrategy: z.ZodOptional>; fixtureCompanions: z.ZodOptional>; count: z.ZodOptional; }, z.core.$strip>>>; fixtureParentOverrides: z.ZodOptional>; dataSource: z.ZodOptional; config: z.ZodOptional; }, z.core.$strip>>; }, z.core.$catchall>>; }, z.core.$strip>]>>>; enums: z.ZodOptional, z.ZodObject<{ values: z.ZodRecord; cone: z.ZodOptional; tags: z.ZodOptional>; fixtureGenerator: z.ZodOptional; fixtureDefault: z.ZodOptional; fixtureStrategy: z.ZodOptional>; fixtureCompanions: z.ZodOptional>; count: z.ZodOptional; }, z.core.$strip>>>; fixtureParentOverrides: z.ZodOptional>; dataSource: z.ZodOptional; config: z.ZodOptional; }, z.core.$strip>>; }, z.core.$catchall>>; }, z.core.$strip>]>>>; entityId: z.ZodString; }, z.core.$strict>; init_types: z.ZodObject<{ entityId: z.ZodString; }, z.core.$strip>; generated: z.ZodObject<{}, z.core.$strip>; generated_sso: z.ZodObject<{}, z.core.$strip>; generated_http: z.ZodObject<{ entityId: z.ZodString; }, z.core.$strip>; model: z.ZodObject<{ entityId: z.ZodString; defaultSearchField: z.ZodOptional; defaultOrderBy: z.ZodOptional; }, z.core.$strip>; model_test: z.ZodObject<{ entityId: z.ZodString; }, z.core.$strip>; bridge: z.ZodObject<{ entityId: z.ZodString; }, z.core.$strip>; services: z.ZodObject<{}, z.core.$strip>; view_list: z.ZodObject<{ entityId: z.ZodString; extra: z.ZodUnknown; }, z.core.$strip>; view_list_columns: z.ZodObject<{ entityId: z.ZodString; columns: z.ZodArray>; columnImports: z.ZodString; }, z.core.$strip>; view_search_input: z.ZodObject<{ entityId: z.ZodString; }, z.core.$strip>; view_form: z.ZodObject<{ entityId: z.ZodString; }, z.core.$strip>; view_id_all_select: z.ZodObject<{ entityId: z.ZodString; }, z.core.$strip>; view_enums_buttonset: z.ZodObject<{ entityId: z.ZodString; enumId: z.ZodString; }, z.core.$strip>; queries: z.ZodObject<{}, z.core.$strip>; entry_server: z.ZodObject<{}, z.core.$strip>; sd: z.ZodObject<{ target: z.ZodEnum<{ api: "api"; web: "web"; app: "app"; }>; }, z.core.$strip>; }, z.core.$strip>; export type TemplateOptions = z.infer; export declare const TemplateKey: z.ZodEnum<{ generated: "generated"; entity: "entity"; services: "services"; model: "model"; init_types: "init_types"; generated_sso: "generated_sso"; generated_http: "generated_http"; model_test: "model_test"; bridge: "bridge"; view_list: "view_list"; view_list_columns: "view_list_columns"; view_search_input: "view_search_input"; view_form: "view_form"; view_id_all_select: "view_id_all_select"; view_enums_buttonset: "view_enums_buttonset"; queries: "queries"; entry_server: "entry_server"; sd: "sd"; }>; export type TemplateKey = z.infer; export declare const GenerateOptions: z.ZodObject<{ overwrite: z.ZodOptional; }, z.core.$strip>; export type GenerateOptions = z.infer; export declare const PathAndCode: z.ZodObject<{ path: z.ZodString; code: z.ZodString; }, z.core.$strip>; export type PathAndCode = z.infer; export type FixtureSearchOptions = { entityId: string; field: string; value: string; searchType: "equals" | "like"; }; type ColumnValue = string | number | boolean | Date | null; export type FixtureRecord = { fixtureId: string; entityId: string; id: number | string; columns: { [key: string]: { prop: EntityProp; value: ColumnValue | ColumnValue[]; }; }; fetchedRecords: string[]; belongsRecords: string[]; target?: FixtureRecord; unique?: FixtureRecord; override?: boolean; }; export type FixtureImportResult = { entityId: string; data: { [key: string]: ColumnValue; }; }; export type RelationNode = { fixtureId: string; entityId: string; related: Set; }; export interface DatabaseSchemaExtend { } export interface DatabaseForeignKeys { } export type ManyToManyBaseSchema = { id: number; } & { [K in `${FromIdKey}_id`]: FromPkType; } & { [K in `${ToIdKey}_id`]: ToPkType; }; export type Executable = T | Promise | (() => T) | (() => Promise); export type SonamuFastifyConfig = { contextProvider: (defaultContext: Pick, request: FastifyRequest, reply: FastifyReply) => Context | Promise; websocketContextProvider?: (defaultContext: Pick, request: FastifyRequest) => import("../api/context").WebSocketContext | Promise; guardHandler: (guard: GuardKey, request: FastifyRequest, api: { typeParameters: ApiParamType.TypeParam[]; parameters: ApiParam[]; returnType: ApiParamType; modelName: string; methodName: string; path: string; options: ApiDecoratorOptions; }) => void; /** * 전역 Cache-Control 핸들러입니다. * 요청 타입(api, assets, ssr, csr)에 따라 Cache-Control 설정을 반환합니다. * undefined를 반환하면 타입별 기본값이 적용됩니다. */ cacheControlHandler?: CacheControlHandler; }; export {}; //# sourceMappingURL=types.d.ts.map