@revealui/contracts 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (191) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +160 -0
  3. package/dist/a2a/index.d.ts +383 -0
  4. package/dist/a2a/index.d.ts.map +1 -0
  5. package/dist/a2a/index.js +276 -0
  6. package/dist/a2a/index.js.map +1 -0
  7. package/dist/actions/action-validator.d.ts +48 -0
  8. package/dist/actions/action-validator.d.ts.map +1 -0
  9. package/dist/actions/action-validator.js +288 -0
  10. package/dist/actions/action-validator.js.map +1 -0
  11. package/dist/actions/index.d.ts +7 -0
  12. package/dist/actions/index.d.ts.map +1 -0
  13. package/dist/actions/index.js +7 -0
  14. package/dist/actions/index.js.map +1 -0
  15. package/dist/agents/index.d.ts +628 -0
  16. package/dist/agents/index.d.ts.map +1 -0
  17. package/dist/agents/index.js +511 -0
  18. package/dist/agents/index.js.map +1 -0
  19. package/dist/agents/types.d.ts +22 -0
  20. package/dist/agents/types.d.ts.map +1 -0
  21. package/dist/agents/types.js +2 -0
  22. package/dist/agents/types.js.map +1 -0
  23. package/dist/api/auth.d.ts +60 -0
  24. package/dist/api/auth.d.ts.map +1 -0
  25. package/dist/api/auth.js +84 -0
  26. package/dist/api/auth.js.map +1 -0
  27. package/dist/api/chat.d.ts +45 -0
  28. package/dist/api/chat.d.ts.map +1 -0
  29. package/dist/api/chat.js +55 -0
  30. package/dist/api/chat.js.map +1 -0
  31. package/dist/api/gdpr.d.ts +39 -0
  32. package/dist/api/gdpr.d.ts.map +1 -0
  33. package/dist/api/gdpr.js +53 -0
  34. package/dist/api/gdpr.js.map +1 -0
  35. package/dist/cms/collection.d.ts +108 -0
  36. package/dist/cms/collection.d.ts.map +1 -0
  37. package/dist/cms/collection.js +144 -0
  38. package/dist/cms/collection.js.map +1 -0
  39. package/dist/cms/compat.d.ts +128 -0
  40. package/dist/cms/compat.d.ts.map +1 -0
  41. package/dist/cms/compat.js +141 -0
  42. package/dist/cms/compat.js.map +1 -0
  43. package/dist/cms/config-contract.d.ts +278 -0
  44. package/dist/cms/config-contract.d.ts.map +1 -0
  45. package/dist/cms/config-contract.js +220 -0
  46. package/dist/cms/config-contract.js.map +1 -0
  47. package/dist/cms/config.d.ts +351 -0
  48. package/dist/cms/config.d.ts.map +1 -0
  49. package/dist/cms/config.js +50 -0
  50. package/dist/cms/config.js.map +1 -0
  51. package/dist/cms/errors.d.ts +122 -0
  52. package/dist/cms/errors.d.ts.map +1 -0
  53. package/dist/cms/errors.js +163 -0
  54. package/dist/cms/errors.js.map +1 -0
  55. package/dist/cms/extensibility.d.ts +211 -0
  56. package/dist/cms/extensibility.d.ts.map +1 -0
  57. package/dist/cms/extensibility.js +313 -0
  58. package/dist/cms/extensibility.js.map +1 -0
  59. package/dist/cms/field.d.ts +69 -0
  60. package/dist/cms/field.d.ts.map +1 -0
  61. package/dist/cms/field.js +94 -0
  62. package/dist/cms/field.js.map +1 -0
  63. package/dist/cms/functions.d.ts +466 -0
  64. package/dist/cms/functions.d.ts.map +1 -0
  65. package/dist/cms/functions.js +19 -0
  66. package/dist/cms/functions.js.map +1 -0
  67. package/dist/cms/global.d.ts +45 -0
  68. package/dist/cms/global.d.ts.map +1 -0
  69. package/dist/cms/global.js +62 -0
  70. package/dist/cms/global.js.map +1 -0
  71. package/dist/cms/index.d.ts +23 -0
  72. package/dist/cms/index.d.ts.map +1 -0
  73. package/dist/cms/index.js +42 -0
  74. package/dist/cms/index.js.map +1 -0
  75. package/dist/cms/structure.d.ts +1601 -0
  76. package/dist/cms/structure.d.ts.map +1 -0
  77. package/dist/cms/structure.js +757 -0
  78. package/dist/cms/structure.js.map +1 -0
  79. package/dist/content/index.d.ts +1542 -0
  80. package/dist/content/index.d.ts.map +1 -0
  81. package/dist/content/index.js +522 -0
  82. package/dist/content/index.js.map +1 -0
  83. package/dist/database/bridge.d.ts +177 -0
  84. package/dist/database/bridge.d.ts.map +1 -0
  85. package/dist/database/bridge.js +139 -0
  86. package/dist/database/bridge.js.map +1 -0
  87. package/dist/database/index.d.ts +8 -0
  88. package/dist/database/index.d.ts.map +1 -0
  89. package/dist/database/index.js +9 -0
  90. package/dist/database/index.js.map +1 -0
  91. package/dist/database/type-bridge.d.ts +178 -0
  92. package/dist/database/type-bridge.d.ts.map +1 -0
  93. package/dist/database/type-bridge.js +154 -0
  94. package/dist/database/type-bridge.js.map +1 -0
  95. package/dist/entities/agent-context.d.ts +280 -0
  96. package/dist/entities/agent-context.d.ts.map +1 -0
  97. package/dist/entities/agent-context.js +390 -0
  98. package/dist/entities/agent-context.js.map +1 -0
  99. package/dist/entities/agent-memory.d.ts +661 -0
  100. package/dist/entities/agent-memory.d.ts.map +1 -0
  101. package/dist/entities/agent-memory.js +544 -0
  102. package/dist/entities/agent-memory.js.map +1 -0
  103. package/dist/entities/board.d.ts +95 -0
  104. package/dist/entities/board.d.ts.map +1 -0
  105. package/dist/entities/board.js +99 -0
  106. package/dist/entities/board.js.map +1 -0
  107. package/dist/entities/code-provenance.d.ts +270 -0
  108. package/dist/entities/code-provenance.d.ts.map +1 -0
  109. package/dist/entities/code-provenance.js +339 -0
  110. package/dist/entities/code-provenance.js.map +1 -0
  111. package/dist/entities/index.d.ts +22 -0
  112. package/dist/entities/index.d.ts.map +1 -0
  113. package/dist/entities/index.js +22 -0
  114. package/dist/entities/index.js.map +1 -0
  115. package/dist/entities/media.d.ts +485 -0
  116. package/dist/entities/media.d.ts.map +1 -0
  117. package/dist/entities/media.js +606 -0
  118. package/dist/entities/media.js.map +1 -0
  119. package/dist/entities/page-revision.d.ts +390 -0
  120. package/dist/entities/page-revision.d.ts.map +1 -0
  121. package/dist/entities/page-revision.js +406 -0
  122. package/dist/entities/page-revision.js.map +1 -0
  123. package/dist/entities/page.d.ts +2349 -0
  124. package/dist/entities/page.d.ts.map +1 -0
  125. package/dist/entities/page.js +377 -0
  126. package/dist/entities/page.js.map +1 -0
  127. package/dist/entities/post.d.ts +619 -0
  128. package/dist/entities/post.d.ts.map +1 -0
  129. package/dist/entities/post.js +555 -0
  130. package/dist/entities/post.js.map +1 -0
  131. package/dist/entities/price.d.ts +772 -0
  132. package/dist/entities/price.d.ts.map +1 -0
  133. package/dist/entities/price.js +308 -0
  134. package/dist/entities/price.js.map +1 -0
  135. package/dist/entities/product.d.ts +753 -0
  136. package/dist/entities/product.d.ts.map +1 -0
  137. package/dist/entities/product.js +307 -0
  138. package/dist/entities/product.js.map +1 -0
  139. package/dist/entities/session.d.ts +222 -0
  140. package/dist/entities/session.d.ts.map +1 -0
  141. package/dist/entities/session.js +253 -0
  142. package/dist/entities/session.js.map +1 -0
  143. package/dist/entities/site.d.ts +387 -0
  144. package/dist/entities/site.d.ts.map +1 -0
  145. package/dist/entities/site.js +348 -0
  146. package/dist/entities/site.js.map +1 -0
  147. package/dist/entities/ticket-comment.d.ts +49 -0
  148. package/dist/entities/ticket-comment.d.ts.map +1 -0
  149. package/dist/entities/ticket-comment.js +58 -0
  150. package/dist/entities/ticket-comment.js.map +1 -0
  151. package/dist/entities/ticket-label.d.ts +64 -0
  152. package/dist/entities/ticket-label.d.ts.map +1 -0
  153. package/dist/entities/ticket-label.js +77 -0
  154. package/dist/entities/ticket-label.js.map +1 -0
  155. package/dist/entities/ticket.d.ts +204 -0
  156. package/dist/entities/ticket.d.ts.map +1 -0
  157. package/dist/entities/ticket.js +205 -0
  158. package/dist/entities/ticket.js.map +1 -0
  159. package/dist/entities/user.d.ts +336 -0
  160. package/dist/entities/user.d.ts.map +1 -0
  161. package/dist/entities/user.js +255 -0
  162. package/dist/entities/user.js.map +1 -0
  163. package/dist/foundation/contract.d.ts +221 -0
  164. package/dist/foundation/contract.d.ts.map +1 -0
  165. package/dist/foundation/contract.js +133 -0
  166. package/dist/foundation/contract.js.map +1 -0
  167. package/dist/foundation/index.d.ts +7 -0
  168. package/dist/foundation/index.d.ts.map +1 -0
  169. package/dist/foundation/index.js +7 -0
  170. package/dist/foundation/index.js.map +1 -0
  171. package/dist/generated/contracts.d.ts +1514 -0
  172. package/dist/generated/contracts.d.ts.map +1 -0
  173. package/dist/generated/contracts.js +959 -0
  174. package/dist/generated/contracts.js.map +1 -0
  175. package/dist/generated/database.d.ts +48 -0
  176. package/dist/generated/database.d.ts.map +1 -0
  177. package/dist/generated/database.js +17 -0
  178. package/dist/generated/database.js.map +1 -0
  179. package/dist/generated/zod-schemas.d.ts +14793 -0
  180. package/dist/generated/zod-schemas.d.ts.map +1 -0
  181. package/dist/generated/zod-schemas.js +547 -0
  182. package/dist/generated/zod-schemas.js.map +1 -0
  183. package/dist/index.d.ts +50 -0
  184. package/dist/index.d.ts.map +1 -0
  185. package/dist/index.js +81 -0
  186. package/dist/index.js.map +1 -0
  187. package/dist/representation/index.d.ts +304 -0
  188. package/dist/representation/index.d.ts.map +1 -0
  189. package/dist/representation/index.js +280 -0
  190. package/dist/representation/index.js.map +1 -0
  191. package/package.json +117 -0
@@ -0,0 +1,1601 @@
1
+ /**
2
+ * Structure Schemas (Zod)
3
+ *
4
+ * These schemas validate the STRUCTURE of CMS configurations.
5
+ *
6
+ * IMPORTANT: These schemas do NOT validate function types (hooks, access, validate).
7
+ * Function types are handled by TypeScript contracts in functions.ts.
8
+ *
9
+ * Why this split?
10
+ * 1. Zod's z.function() only validates callability, not signatures
11
+ * 2. Generic type parameters (e.g., <T>) cannot be represented in Zod
12
+ * 3. Complex return types with conditional types don't work in Zod
13
+ *
14
+ * @module @revealui/contracts/core/contracts/structure
15
+ */
16
+ import { z } from 'zod/v4';
17
+ export declare const FIELD_SCHEMA_VERSION = 1;
18
+ export declare const COLLECTION_SCHEMA_VERSION = 1;
19
+ export declare const GLOBAL_SCHEMA_VERSION = 1;
20
+ /**
21
+ * Valid field types in RevealUI CMS
22
+ */
23
+ export declare const FieldTypeSchema: z.ZodEnum<{
24
+ number: "number";
25
+ date: "date";
26
+ array: "array";
27
+ text: "text";
28
+ code: "code";
29
+ blocks: "blocks";
30
+ tabs: "tabs";
31
+ email: "email";
32
+ password: "password";
33
+ textarea: "textarea";
34
+ select: "select";
35
+ checkbox: "checkbox";
36
+ radio: "radio";
37
+ relationship: "relationship";
38
+ upload: "upload";
39
+ group: "group";
40
+ row: "row";
41
+ collapsible: "collapsible";
42
+ richText: "richText";
43
+ json: "json";
44
+ point: "point";
45
+ ui: "ui";
46
+ }>;
47
+ export type FieldType = z.infer<typeof FieldTypeSchema>;
48
+ /**
49
+ * Field admin configuration (UI-related settings)
50
+ *
51
+ * Note: This uses passthrough() to allow custom properties
52
+ * that plugins might add.
53
+ */
54
+ export declare const FieldAdminConfigSchema: z.ZodOptional<z.ZodObject<{
55
+ position: z.ZodOptional<z.ZodString>;
56
+ width: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
57
+ disabled: z.ZodOptional<z.ZodBoolean>;
58
+ readOnly: z.ZodOptional<z.ZodBoolean>;
59
+ hidden: z.ZodOptional<z.ZodBoolean>;
60
+ initCollapsed: z.ZodOptional<z.ZodBoolean>;
61
+ description: z.ZodOptional<z.ZodString>;
62
+ placeholder: z.ZodOptional<z.ZodString>;
63
+ layout: z.ZodOptional<z.ZodEnum<{
64
+ horizontal: "horizontal";
65
+ vertical: "vertical";
66
+ }>>;
67
+ style: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
68
+ className: z.ZodOptional<z.ZodString>;
69
+ }, z.core.$loose>>;
70
+ export type FieldAdminConfig = z.infer<typeof FieldAdminConfigSchema>;
71
+ /**
72
+ * Option for select/radio fields
73
+ */
74
+ export declare const FieldOptionSchema: z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
75
+ label: z.ZodString;
76
+ value: z.ZodString;
77
+ }, z.core.$strip>]>;
78
+ export type FieldOption = z.infer<typeof FieldOptionSchema>;
79
+ /**
80
+ * Block definition within a blocks field
81
+ */
82
+ export declare const BlockDefinitionSchema: z.ZodObject<{
83
+ slug: z.ZodString;
84
+ labels: z.ZodOptional<z.ZodObject<{
85
+ singular: z.ZodString;
86
+ plural: z.ZodOptional<z.ZodString>;
87
+ }, z.core.$strip>>;
88
+ imageURL: z.ZodOptional<z.ZodString>;
89
+ imageAltText: z.ZodOptional<z.ZodString>;
90
+ fields: z.ZodArray<z.ZodLazy<z.ZodType<FieldStructure, unknown, z.core.$ZodTypeInternals<FieldStructure, unknown>>>>;
91
+ }, z.core.$loose>;
92
+ export type BlockDefinition = z.infer<typeof BlockDefinitionSchema>;
93
+ /**
94
+ * Tab definition within a tabs field
95
+ */
96
+ export declare const TabDefinitionSchema: z.ZodObject<{
97
+ label: z.ZodString;
98
+ name: z.ZodOptional<z.ZodString>;
99
+ description: z.ZodOptional<z.ZodString>;
100
+ fields: z.ZodArray<z.ZodLazy<z.ZodType<FieldStructure, unknown, z.core.$ZodTypeInternals<FieldStructure, unknown>>>>;
101
+ }, z.core.$loose>;
102
+ export type TabDefinition = z.infer<typeof TabDefinitionSchema>;
103
+ /**
104
+ * Field access control schema
105
+ *
106
+ * Access functions are runtime functions, typed as unknown for schema flexibility
107
+ */
108
+ export declare const FieldAccessConfigSchema: z.ZodOptional<z.ZodObject<{
109
+ create: z.ZodOptional<z.ZodUnknown>;
110
+ read: z.ZodOptional<z.ZodUnknown>;
111
+ update: z.ZodOptional<z.ZodUnknown>;
112
+ }, z.core.$strip>>;
113
+ export type FieldAccessConfig = z.infer<typeof FieldAccessConfigSchema>;
114
+ /**
115
+ * Field hooks schema
116
+ *
117
+ * Hooks are typed as unknown arrays because they're runtime functions
118
+ */
119
+ export declare const FieldHooksConfigSchema: z.ZodOptional<z.ZodObject<{
120
+ beforeChange: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
121
+ afterChange: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
122
+ beforeValidate: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
123
+ afterRead: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
124
+ }, z.core.$strip>>;
125
+ export type FieldHooksConfig = z.infer<typeof FieldHooksConfigSchema>;
126
+ /**
127
+ * Base field structure (common to all field types)
128
+ *
129
+ * This validates the structural properties of fields.
130
+ * Function properties (access, hooks, validate) are typed separately.
131
+ */
132
+ export declare const FieldStructureSchema: z.ZodType<FieldStructure>;
133
+ /**
134
+ * Field structure type (without function properties)
135
+ */
136
+ export interface FieldStructure {
137
+ type: FieldType;
138
+ name?: string | undefined;
139
+ label?: string | false;
140
+ labels?: {
141
+ singular?: string | undefined;
142
+ plural?: string | undefined;
143
+ } | undefined;
144
+ required?: boolean | undefined;
145
+ unique?: boolean | undefined;
146
+ index?: boolean | undefined;
147
+ localized?: boolean | undefined;
148
+ hidden?: boolean | undefined;
149
+ saveToJWT?: boolean | string | undefined;
150
+ minLength?: number | undefined;
151
+ maxLength?: number | undefined;
152
+ min?: number | undefined;
153
+ max?: number | undefined;
154
+ minRows?: number | undefined;
155
+ maxRows?: number | undefined;
156
+ relationTo?: string | string[] | undefined;
157
+ hasMany?: boolean | undefined;
158
+ maxDepth?: number | undefined;
159
+ options?: FieldOption[] | undefined;
160
+ defaultValue?: unknown;
161
+ admin?: FieldAdminConfig | undefined;
162
+ fields?: FieldStructure[] | undefined;
163
+ blocks?: BlockDefinition[] | undefined;
164
+ tabs?: TabDefinition[] | undefined;
165
+ interfaceName?: string | undefined;
166
+ custom?: Record<string, unknown> | undefined;
167
+ }
168
+ /**
169
+ * Full Field Schema (recursive - includes nested fields)
170
+ *
171
+ * This is the complete field schema that includes access, hooks, and nested fields.
172
+ * For structure-only validation, use FieldStructureSchema.
173
+ */
174
+ export declare const FieldSchema: z.ZodType<FieldStructure>;
175
+ /**
176
+ * Text field schema
177
+ */
178
+ export declare const TextFieldSchema: z.ZodObject<{
179
+ label: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<false>]>>;
180
+ labels: z.ZodOptional<z.ZodObject<{
181
+ singular: z.ZodOptional<z.ZodString>;
182
+ plural: z.ZodOptional<z.ZodString>;
183
+ }, z.core.$strip>>;
184
+ required: z.ZodOptional<z.ZodBoolean>;
185
+ unique: z.ZodOptional<z.ZodBoolean>;
186
+ index: z.ZodOptional<z.ZodBoolean>;
187
+ localized: z.ZodOptional<z.ZodBoolean>;
188
+ hidden: z.ZodOptional<z.ZodBoolean>;
189
+ saveToJWT: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>;
190
+ minLength: z.ZodOptional<z.ZodNumber>;
191
+ maxLength: z.ZodOptional<z.ZodNumber>;
192
+ min: z.ZodOptional<z.ZodNumber>;
193
+ max: z.ZodOptional<z.ZodNumber>;
194
+ minRows: z.ZodOptional<z.ZodNumber>;
195
+ maxRows: z.ZodOptional<z.ZodNumber>;
196
+ relationTo: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
197
+ hasMany: z.ZodOptional<z.ZodBoolean>;
198
+ maxDepth: z.ZodOptional<z.ZodNumber>;
199
+ depth: z.ZodOptional<z.ZodNumber>;
200
+ options: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
201
+ label: z.ZodString;
202
+ value: z.ZodString;
203
+ }, z.core.$strip>]>>>;
204
+ defaultValue: z.ZodOptional<z.ZodUnknown>;
205
+ admin: z.ZodOptional<z.ZodObject<{
206
+ position: z.ZodOptional<z.ZodString>;
207
+ width: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
208
+ disabled: z.ZodOptional<z.ZodBoolean>;
209
+ readOnly: z.ZodOptional<z.ZodBoolean>;
210
+ hidden: z.ZodOptional<z.ZodBoolean>;
211
+ initCollapsed: z.ZodOptional<z.ZodBoolean>;
212
+ description: z.ZodOptional<z.ZodString>;
213
+ placeholder: z.ZodOptional<z.ZodString>;
214
+ layout: z.ZodOptional<z.ZodEnum<{
215
+ horizontal: "horizontal";
216
+ vertical: "vertical";
217
+ }>>;
218
+ style: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
219
+ className: z.ZodOptional<z.ZodString>;
220
+ }, z.core.$loose>>;
221
+ interfaceName: z.ZodOptional<z.ZodString>;
222
+ custom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
223
+ schemaVersion: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
224
+ access: z.ZodOptional<z.ZodObject<{
225
+ create: z.ZodOptional<z.ZodUnknown>;
226
+ read: z.ZodOptional<z.ZodUnknown>;
227
+ update: z.ZodOptional<z.ZodUnknown>;
228
+ }, z.core.$strip>>;
229
+ hooks: z.ZodOptional<z.ZodObject<{
230
+ beforeChange: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
231
+ afterChange: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
232
+ beforeValidate: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
233
+ afterRead: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
234
+ }, z.core.$strip>>;
235
+ validate: z.ZodOptional<z.ZodUnknown>;
236
+ condition: z.ZodOptional<z.ZodUnknown>;
237
+ filterOptions: z.ZodOptional<z.ZodUnknown>;
238
+ editor: z.ZodOptional<z.ZodUnknown>;
239
+ type: z.ZodLiteral<"text">;
240
+ name: z.ZodString;
241
+ }, z.core.$loose>;
242
+ /**
243
+ * Number field schema
244
+ */
245
+ export declare const NumberFieldSchema: z.ZodObject<{
246
+ label: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<false>]>>;
247
+ labels: z.ZodOptional<z.ZodObject<{
248
+ singular: z.ZodOptional<z.ZodString>;
249
+ plural: z.ZodOptional<z.ZodString>;
250
+ }, z.core.$strip>>;
251
+ required: z.ZodOptional<z.ZodBoolean>;
252
+ unique: z.ZodOptional<z.ZodBoolean>;
253
+ index: z.ZodOptional<z.ZodBoolean>;
254
+ localized: z.ZodOptional<z.ZodBoolean>;
255
+ hidden: z.ZodOptional<z.ZodBoolean>;
256
+ saveToJWT: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>;
257
+ minLength: z.ZodOptional<z.ZodNumber>;
258
+ maxLength: z.ZodOptional<z.ZodNumber>;
259
+ minRows: z.ZodOptional<z.ZodNumber>;
260
+ maxRows: z.ZodOptional<z.ZodNumber>;
261
+ relationTo: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
262
+ hasMany: z.ZodOptional<z.ZodBoolean>;
263
+ maxDepth: z.ZodOptional<z.ZodNumber>;
264
+ depth: z.ZodOptional<z.ZodNumber>;
265
+ options: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
266
+ label: z.ZodString;
267
+ value: z.ZodString;
268
+ }, z.core.$strip>]>>>;
269
+ defaultValue: z.ZodOptional<z.ZodUnknown>;
270
+ admin: z.ZodOptional<z.ZodObject<{
271
+ position: z.ZodOptional<z.ZodString>;
272
+ width: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
273
+ disabled: z.ZodOptional<z.ZodBoolean>;
274
+ readOnly: z.ZodOptional<z.ZodBoolean>;
275
+ hidden: z.ZodOptional<z.ZodBoolean>;
276
+ initCollapsed: z.ZodOptional<z.ZodBoolean>;
277
+ description: z.ZodOptional<z.ZodString>;
278
+ placeholder: z.ZodOptional<z.ZodString>;
279
+ layout: z.ZodOptional<z.ZodEnum<{
280
+ horizontal: "horizontal";
281
+ vertical: "vertical";
282
+ }>>;
283
+ style: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
284
+ className: z.ZodOptional<z.ZodString>;
285
+ }, z.core.$loose>>;
286
+ interfaceName: z.ZodOptional<z.ZodString>;
287
+ custom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
288
+ schemaVersion: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
289
+ access: z.ZodOptional<z.ZodObject<{
290
+ create: z.ZodOptional<z.ZodUnknown>;
291
+ read: z.ZodOptional<z.ZodUnknown>;
292
+ update: z.ZodOptional<z.ZodUnknown>;
293
+ }, z.core.$strip>>;
294
+ hooks: z.ZodOptional<z.ZodObject<{
295
+ beforeChange: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
296
+ afterChange: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
297
+ beforeValidate: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
298
+ afterRead: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
299
+ }, z.core.$strip>>;
300
+ validate: z.ZodOptional<z.ZodUnknown>;
301
+ condition: z.ZodOptional<z.ZodUnknown>;
302
+ filterOptions: z.ZodOptional<z.ZodUnknown>;
303
+ editor: z.ZodOptional<z.ZodUnknown>;
304
+ type: z.ZodLiteral<"number">;
305
+ name: z.ZodString;
306
+ min: z.ZodOptional<z.ZodNumber>;
307
+ max: z.ZodOptional<z.ZodNumber>;
308
+ }, z.core.$loose>;
309
+ /**
310
+ * Relationship field schema
311
+ */
312
+ export declare const RelationshipFieldSchema: z.ZodObject<{
313
+ label: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<false>]>>;
314
+ labels: z.ZodOptional<z.ZodObject<{
315
+ singular: z.ZodOptional<z.ZodString>;
316
+ plural: z.ZodOptional<z.ZodString>;
317
+ }, z.core.$strip>>;
318
+ required: z.ZodOptional<z.ZodBoolean>;
319
+ unique: z.ZodOptional<z.ZodBoolean>;
320
+ index: z.ZodOptional<z.ZodBoolean>;
321
+ localized: z.ZodOptional<z.ZodBoolean>;
322
+ hidden: z.ZodOptional<z.ZodBoolean>;
323
+ saveToJWT: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>;
324
+ minLength: z.ZodOptional<z.ZodNumber>;
325
+ maxLength: z.ZodOptional<z.ZodNumber>;
326
+ min: z.ZodOptional<z.ZodNumber>;
327
+ max: z.ZodOptional<z.ZodNumber>;
328
+ minRows: z.ZodOptional<z.ZodNumber>;
329
+ maxRows: z.ZodOptional<z.ZodNumber>;
330
+ hasMany: z.ZodOptional<z.ZodBoolean>;
331
+ maxDepth: z.ZodOptional<z.ZodNumber>;
332
+ depth: z.ZodOptional<z.ZodNumber>;
333
+ options: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
334
+ label: z.ZodString;
335
+ value: z.ZodString;
336
+ }, z.core.$strip>]>>>;
337
+ defaultValue: z.ZodOptional<z.ZodUnknown>;
338
+ admin: z.ZodOptional<z.ZodObject<{
339
+ position: z.ZodOptional<z.ZodString>;
340
+ width: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
341
+ disabled: z.ZodOptional<z.ZodBoolean>;
342
+ readOnly: z.ZodOptional<z.ZodBoolean>;
343
+ hidden: z.ZodOptional<z.ZodBoolean>;
344
+ initCollapsed: z.ZodOptional<z.ZodBoolean>;
345
+ description: z.ZodOptional<z.ZodString>;
346
+ placeholder: z.ZodOptional<z.ZodString>;
347
+ layout: z.ZodOptional<z.ZodEnum<{
348
+ horizontal: "horizontal";
349
+ vertical: "vertical";
350
+ }>>;
351
+ style: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
352
+ className: z.ZodOptional<z.ZodString>;
353
+ }, z.core.$loose>>;
354
+ interfaceName: z.ZodOptional<z.ZodString>;
355
+ custom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
356
+ schemaVersion: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
357
+ access: z.ZodOptional<z.ZodObject<{
358
+ create: z.ZodOptional<z.ZodUnknown>;
359
+ read: z.ZodOptional<z.ZodUnknown>;
360
+ update: z.ZodOptional<z.ZodUnknown>;
361
+ }, z.core.$strip>>;
362
+ hooks: z.ZodOptional<z.ZodObject<{
363
+ beforeChange: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
364
+ afterChange: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
365
+ beforeValidate: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
366
+ afterRead: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
367
+ }, z.core.$strip>>;
368
+ validate: z.ZodOptional<z.ZodUnknown>;
369
+ condition: z.ZodOptional<z.ZodUnknown>;
370
+ filterOptions: z.ZodOptional<z.ZodUnknown>;
371
+ editor: z.ZodOptional<z.ZodUnknown>;
372
+ type: z.ZodLiteral<"relationship">;
373
+ name: z.ZodString;
374
+ relationTo: z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>;
375
+ }, z.core.$loose>;
376
+ /**
377
+ * Array field schema (recursive)
378
+ */
379
+ export declare const ArrayFieldSchema: z.ZodLazy<z.ZodObject<{
380
+ label: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<false>]>>;
381
+ labels: z.ZodOptional<z.ZodObject<{
382
+ singular: z.ZodOptional<z.ZodString>;
383
+ plural: z.ZodOptional<z.ZodString>;
384
+ }, z.core.$strip>>;
385
+ required: z.ZodOptional<z.ZodBoolean>;
386
+ unique: z.ZodOptional<z.ZodBoolean>;
387
+ index: z.ZodOptional<z.ZodBoolean>;
388
+ localized: z.ZodOptional<z.ZodBoolean>;
389
+ hidden: z.ZodOptional<z.ZodBoolean>;
390
+ saveToJWT: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>;
391
+ minLength: z.ZodOptional<z.ZodNumber>;
392
+ maxLength: z.ZodOptional<z.ZodNumber>;
393
+ min: z.ZodOptional<z.ZodNumber>;
394
+ max: z.ZodOptional<z.ZodNumber>;
395
+ minRows: z.ZodOptional<z.ZodNumber>;
396
+ maxRows: z.ZodOptional<z.ZodNumber>;
397
+ relationTo: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
398
+ hasMany: z.ZodOptional<z.ZodBoolean>;
399
+ maxDepth: z.ZodOptional<z.ZodNumber>;
400
+ depth: z.ZodOptional<z.ZodNumber>;
401
+ options: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
402
+ label: z.ZodString;
403
+ value: z.ZodString;
404
+ }, z.core.$strip>]>>>;
405
+ defaultValue: z.ZodOptional<z.ZodUnknown>;
406
+ admin: z.ZodOptional<z.ZodObject<{
407
+ position: z.ZodOptional<z.ZodString>;
408
+ width: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
409
+ disabled: z.ZodOptional<z.ZodBoolean>;
410
+ readOnly: z.ZodOptional<z.ZodBoolean>;
411
+ hidden: z.ZodOptional<z.ZodBoolean>;
412
+ initCollapsed: z.ZodOptional<z.ZodBoolean>;
413
+ description: z.ZodOptional<z.ZodString>;
414
+ placeholder: z.ZodOptional<z.ZodString>;
415
+ layout: z.ZodOptional<z.ZodEnum<{
416
+ horizontal: "horizontal";
417
+ vertical: "vertical";
418
+ }>>;
419
+ style: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
420
+ className: z.ZodOptional<z.ZodString>;
421
+ }, z.core.$loose>>;
422
+ interfaceName: z.ZodOptional<z.ZodString>;
423
+ custom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
424
+ schemaVersion: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
425
+ access: z.ZodOptional<z.ZodObject<{
426
+ create: z.ZodOptional<z.ZodUnknown>;
427
+ read: z.ZodOptional<z.ZodUnknown>;
428
+ update: z.ZodOptional<z.ZodUnknown>;
429
+ }, z.core.$strip>>;
430
+ hooks: z.ZodOptional<z.ZodObject<{
431
+ beforeChange: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
432
+ afterChange: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
433
+ beforeValidate: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
434
+ afterRead: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
435
+ }, z.core.$strip>>;
436
+ validate: z.ZodOptional<z.ZodUnknown>;
437
+ condition: z.ZodOptional<z.ZodUnknown>;
438
+ filterOptions: z.ZodOptional<z.ZodUnknown>;
439
+ editor: z.ZodOptional<z.ZodUnknown>;
440
+ type: z.ZodLiteral<"array">;
441
+ name: z.ZodString;
442
+ fields: z.ZodArray<z.ZodType<FieldStructure, unknown, z.core.$ZodTypeInternals<FieldStructure, unknown>>>;
443
+ }, z.core.$loose>>;
444
+ /**
445
+ * Group field schema (recursive)
446
+ */
447
+ export declare const GroupFieldSchema: z.ZodLazy<z.ZodObject<{
448
+ label: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<false>]>>;
449
+ labels: z.ZodOptional<z.ZodObject<{
450
+ singular: z.ZodOptional<z.ZodString>;
451
+ plural: z.ZodOptional<z.ZodString>;
452
+ }, z.core.$strip>>;
453
+ required: z.ZodOptional<z.ZodBoolean>;
454
+ unique: z.ZodOptional<z.ZodBoolean>;
455
+ index: z.ZodOptional<z.ZodBoolean>;
456
+ localized: z.ZodOptional<z.ZodBoolean>;
457
+ hidden: z.ZodOptional<z.ZodBoolean>;
458
+ saveToJWT: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>;
459
+ minLength: z.ZodOptional<z.ZodNumber>;
460
+ maxLength: z.ZodOptional<z.ZodNumber>;
461
+ min: z.ZodOptional<z.ZodNumber>;
462
+ max: z.ZodOptional<z.ZodNumber>;
463
+ minRows: z.ZodOptional<z.ZodNumber>;
464
+ maxRows: z.ZodOptional<z.ZodNumber>;
465
+ relationTo: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
466
+ hasMany: z.ZodOptional<z.ZodBoolean>;
467
+ maxDepth: z.ZodOptional<z.ZodNumber>;
468
+ depth: z.ZodOptional<z.ZodNumber>;
469
+ options: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
470
+ label: z.ZodString;
471
+ value: z.ZodString;
472
+ }, z.core.$strip>]>>>;
473
+ defaultValue: z.ZodOptional<z.ZodUnknown>;
474
+ admin: z.ZodOptional<z.ZodObject<{
475
+ position: z.ZodOptional<z.ZodString>;
476
+ width: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
477
+ disabled: z.ZodOptional<z.ZodBoolean>;
478
+ readOnly: z.ZodOptional<z.ZodBoolean>;
479
+ hidden: z.ZodOptional<z.ZodBoolean>;
480
+ initCollapsed: z.ZodOptional<z.ZodBoolean>;
481
+ description: z.ZodOptional<z.ZodString>;
482
+ placeholder: z.ZodOptional<z.ZodString>;
483
+ layout: z.ZodOptional<z.ZodEnum<{
484
+ horizontal: "horizontal";
485
+ vertical: "vertical";
486
+ }>>;
487
+ style: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
488
+ className: z.ZodOptional<z.ZodString>;
489
+ }, z.core.$loose>>;
490
+ interfaceName: z.ZodOptional<z.ZodString>;
491
+ custom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
492
+ schemaVersion: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
493
+ access: z.ZodOptional<z.ZodObject<{
494
+ create: z.ZodOptional<z.ZodUnknown>;
495
+ read: z.ZodOptional<z.ZodUnknown>;
496
+ update: z.ZodOptional<z.ZodUnknown>;
497
+ }, z.core.$strip>>;
498
+ hooks: z.ZodOptional<z.ZodObject<{
499
+ beforeChange: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
500
+ afterChange: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
501
+ beforeValidate: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
502
+ afterRead: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
503
+ }, z.core.$strip>>;
504
+ validate: z.ZodOptional<z.ZodUnknown>;
505
+ condition: z.ZodOptional<z.ZodUnknown>;
506
+ filterOptions: z.ZodOptional<z.ZodUnknown>;
507
+ editor: z.ZodOptional<z.ZodUnknown>;
508
+ type: z.ZodLiteral<"group">;
509
+ name: z.ZodString;
510
+ fields: z.ZodArray<z.ZodType<FieldStructure, unknown, z.core.$ZodTypeInternals<FieldStructure, unknown>>>;
511
+ }, z.core.$loose>>;
512
+ /**
513
+ * Select field schema
514
+ */
515
+ export declare const SelectFieldSchema: z.ZodObject<{
516
+ label: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<false>]>>;
517
+ labels: z.ZodOptional<z.ZodObject<{
518
+ singular: z.ZodOptional<z.ZodString>;
519
+ plural: z.ZodOptional<z.ZodString>;
520
+ }, z.core.$strip>>;
521
+ required: z.ZodOptional<z.ZodBoolean>;
522
+ unique: z.ZodOptional<z.ZodBoolean>;
523
+ index: z.ZodOptional<z.ZodBoolean>;
524
+ localized: z.ZodOptional<z.ZodBoolean>;
525
+ hidden: z.ZodOptional<z.ZodBoolean>;
526
+ saveToJWT: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>;
527
+ minLength: z.ZodOptional<z.ZodNumber>;
528
+ maxLength: z.ZodOptional<z.ZodNumber>;
529
+ min: z.ZodOptional<z.ZodNumber>;
530
+ max: z.ZodOptional<z.ZodNumber>;
531
+ minRows: z.ZodOptional<z.ZodNumber>;
532
+ maxRows: z.ZodOptional<z.ZodNumber>;
533
+ relationTo: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
534
+ hasMany: z.ZodOptional<z.ZodBoolean>;
535
+ maxDepth: z.ZodOptional<z.ZodNumber>;
536
+ depth: z.ZodOptional<z.ZodNumber>;
537
+ defaultValue: z.ZodOptional<z.ZodUnknown>;
538
+ admin: z.ZodOptional<z.ZodObject<{
539
+ position: z.ZodOptional<z.ZodString>;
540
+ width: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
541
+ disabled: z.ZodOptional<z.ZodBoolean>;
542
+ readOnly: z.ZodOptional<z.ZodBoolean>;
543
+ hidden: z.ZodOptional<z.ZodBoolean>;
544
+ initCollapsed: z.ZodOptional<z.ZodBoolean>;
545
+ description: z.ZodOptional<z.ZodString>;
546
+ placeholder: z.ZodOptional<z.ZodString>;
547
+ layout: z.ZodOptional<z.ZodEnum<{
548
+ horizontal: "horizontal";
549
+ vertical: "vertical";
550
+ }>>;
551
+ style: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
552
+ className: z.ZodOptional<z.ZodString>;
553
+ }, z.core.$loose>>;
554
+ interfaceName: z.ZodOptional<z.ZodString>;
555
+ custom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
556
+ schemaVersion: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
557
+ access: z.ZodOptional<z.ZodObject<{
558
+ create: z.ZodOptional<z.ZodUnknown>;
559
+ read: z.ZodOptional<z.ZodUnknown>;
560
+ update: z.ZodOptional<z.ZodUnknown>;
561
+ }, z.core.$strip>>;
562
+ hooks: z.ZodOptional<z.ZodObject<{
563
+ beforeChange: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
564
+ afterChange: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
565
+ beforeValidate: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
566
+ afterRead: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
567
+ }, z.core.$strip>>;
568
+ validate: z.ZodOptional<z.ZodUnknown>;
569
+ condition: z.ZodOptional<z.ZodUnknown>;
570
+ filterOptions: z.ZodOptional<z.ZodUnknown>;
571
+ editor: z.ZodOptional<z.ZodUnknown>;
572
+ type: z.ZodLiteral<"select">;
573
+ name: z.ZodString;
574
+ options: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
575
+ label: z.ZodString;
576
+ value: z.ZodString;
577
+ }, z.core.$strip>]>>;
578
+ }, z.core.$loose>;
579
+ /**
580
+ * Row field schema (layout field - recursive)
581
+ */
582
+ export declare const RowFieldSchema: z.ZodLazy<z.ZodObject<{
583
+ name: z.ZodOptional<z.ZodString>;
584
+ label: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<false>]>>;
585
+ labels: z.ZodOptional<z.ZodObject<{
586
+ singular: z.ZodOptional<z.ZodString>;
587
+ plural: z.ZodOptional<z.ZodString>;
588
+ }, z.core.$strip>>;
589
+ required: z.ZodOptional<z.ZodBoolean>;
590
+ unique: z.ZodOptional<z.ZodBoolean>;
591
+ index: z.ZodOptional<z.ZodBoolean>;
592
+ localized: z.ZodOptional<z.ZodBoolean>;
593
+ hidden: z.ZodOptional<z.ZodBoolean>;
594
+ saveToJWT: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>;
595
+ minLength: z.ZodOptional<z.ZodNumber>;
596
+ maxLength: z.ZodOptional<z.ZodNumber>;
597
+ min: z.ZodOptional<z.ZodNumber>;
598
+ max: z.ZodOptional<z.ZodNumber>;
599
+ minRows: z.ZodOptional<z.ZodNumber>;
600
+ maxRows: z.ZodOptional<z.ZodNumber>;
601
+ relationTo: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
602
+ hasMany: z.ZodOptional<z.ZodBoolean>;
603
+ maxDepth: z.ZodOptional<z.ZodNumber>;
604
+ depth: z.ZodOptional<z.ZodNumber>;
605
+ options: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
606
+ label: z.ZodString;
607
+ value: z.ZodString;
608
+ }, z.core.$strip>]>>>;
609
+ defaultValue: z.ZodOptional<z.ZodUnknown>;
610
+ admin: z.ZodOptional<z.ZodObject<{
611
+ position: z.ZodOptional<z.ZodString>;
612
+ width: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
613
+ disabled: z.ZodOptional<z.ZodBoolean>;
614
+ readOnly: z.ZodOptional<z.ZodBoolean>;
615
+ hidden: z.ZodOptional<z.ZodBoolean>;
616
+ initCollapsed: z.ZodOptional<z.ZodBoolean>;
617
+ description: z.ZodOptional<z.ZodString>;
618
+ placeholder: z.ZodOptional<z.ZodString>;
619
+ layout: z.ZodOptional<z.ZodEnum<{
620
+ horizontal: "horizontal";
621
+ vertical: "vertical";
622
+ }>>;
623
+ style: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
624
+ className: z.ZodOptional<z.ZodString>;
625
+ }, z.core.$loose>>;
626
+ interfaceName: z.ZodOptional<z.ZodString>;
627
+ custom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
628
+ schemaVersion: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
629
+ access: z.ZodOptional<z.ZodObject<{
630
+ create: z.ZodOptional<z.ZodUnknown>;
631
+ read: z.ZodOptional<z.ZodUnknown>;
632
+ update: z.ZodOptional<z.ZodUnknown>;
633
+ }, z.core.$strip>>;
634
+ hooks: z.ZodOptional<z.ZodObject<{
635
+ beforeChange: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
636
+ afterChange: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
637
+ beforeValidate: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
638
+ afterRead: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
639
+ }, z.core.$strip>>;
640
+ validate: z.ZodOptional<z.ZodUnknown>;
641
+ condition: z.ZodOptional<z.ZodUnknown>;
642
+ filterOptions: z.ZodOptional<z.ZodUnknown>;
643
+ editor: z.ZodOptional<z.ZodUnknown>;
644
+ type: z.ZodLiteral<"row">;
645
+ fields: z.ZodArray<z.ZodType<FieldStructure, unknown, z.core.$ZodTypeInternals<FieldStructure, unknown>>>;
646
+ }, z.core.$loose>>;
647
+ /**
648
+ * Tabs field schema (layout field - recursive)
649
+ */
650
+ export declare const TabsFieldSchema: z.ZodLazy<z.ZodObject<{
651
+ name: z.ZodOptional<z.ZodString>;
652
+ label: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<false>]>>;
653
+ labels: z.ZodOptional<z.ZodObject<{
654
+ singular: z.ZodOptional<z.ZodString>;
655
+ plural: z.ZodOptional<z.ZodString>;
656
+ }, z.core.$strip>>;
657
+ required: z.ZodOptional<z.ZodBoolean>;
658
+ unique: z.ZodOptional<z.ZodBoolean>;
659
+ index: z.ZodOptional<z.ZodBoolean>;
660
+ localized: z.ZodOptional<z.ZodBoolean>;
661
+ hidden: z.ZodOptional<z.ZodBoolean>;
662
+ saveToJWT: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>;
663
+ minLength: z.ZodOptional<z.ZodNumber>;
664
+ maxLength: z.ZodOptional<z.ZodNumber>;
665
+ min: z.ZodOptional<z.ZodNumber>;
666
+ max: z.ZodOptional<z.ZodNumber>;
667
+ minRows: z.ZodOptional<z.ZodNumber>;
668
+ maxRows: z.ZodOptional<z.ZodNumber>;
669
+ relationTo: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
670
+ hasMany: z.ZodOptional<z.ZodBoolean>;
671
+ maxDepth: z.ZodOptional<z.ZodNumber>;
672
+ depth: z.ZodOptional<z.ZodNumber>;
673
+ options: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
674
+ label: z.ZodString;
675
+ value: z.ZodString;
676
+ }, z.core.$strip>]>>>;
677
+ defaultValue: z.ZodOptional<z.ZodUnknown>;
678
+ admin: z.ZodOptional<z.ZodObject<{
679
+ position: z.ZodOptional<z.ZodString>;
680
+ width: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
681
+ disabled: z.ZodOptional<z.ZodBoolean>;
682
+ readOnly: z.ZodOptional<z.ZodBoolean>;
683
+ hidden: z.ZodOptional<z.ZodBoolean>;
684
+ initCollapsed: z.ZodOptional<z.ZodBoolean>;
685
+ description: z.ZodOptional<z.ZodString>;
686
+ placeholder: z.ZodOptional<z.ZodString>;
687
+ layout: z.ZodOptional<z.ZodEnum<{
688
+ horizontal: "horizontal";
689
+ vertical: "vertical";
690
+ }>>;
691
+ style: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
692
+ className: z.ZodOptional<z.ZodString>;
693
+ }, z.core.$loose>>;
694
+ interfaceName: z.ZodOptional<z.ZodString>;
695
+ custom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
696
+ schemaVersion: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
697
+ access: z.ZodOptional<z.ZodObject<{
698
+ create: z.ZodOptional<z.ZodUnknown>;
699
+ read: z.ZodOptional<z.ZodUnknown>;
700
+ update: z.ZodOptional<z.ZodUnknown>;
701
+ }, z.core.$strip>>;
702
+ hooks: z.ZodOptional<z.ZodObject<{
703
+ beforeChange: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
704
+ afterChange: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
705
+ beforeValidate: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
706
+ afterRead: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
707
+ }, z.core.$strip>>;
708
+ validate: z.ZodOptional<z.ZodUnknown>;
709
+ condition: z.ZodOptional<z.ZodUnknown>;
710
+ filterOptions: z.ZodOptional<z.ZodUnknown>;
711
+ editor: z.ZodOptional<z.ZodUnknown>;
712
+ type: z.ZodLiteral<"tabs">;
713
+ tabs: z.ZodArray<z.ZodObject<{
714
+ label: z.ZodString;
715
+ name: z.ZodOptional<z.ZodString>;
716
+ description: z.ZodOptional<z.ZodString>;
717
+ fields: z.ZodArray<z.ZodLazy<z.ZodType<FieldStructure, unknown, z.core.$ZodTypeInternals<FieldStructure, unknown>>>>;
718
+ }, z.core.$loose>>;
719
+ }, z.core.$loose>>;
720
+ /**
721
+ * Collection labels configuration
722
+ */
723
+ export declare const CollectionLabelsSchema: z.ZodOptional<z.ZodObject<{
724
+ singular: z.ZodString;
725
+ plural: z.ZodOptional<z.ZodString>;
726
+ }, z.core.$strip>>;
727
+ export type CollectionLabels = z.infer<typeof CollectionLabelsSchema>;
728
+ /**
729
+ * Collection access control schema
730
+ *
731
+ * Access functions are runtime functions, typed as unknown for schema flexibility
732
+ */
733
+ export declare const CollectionAccessSchema: z.ZodOptional<z.ZodObject<{
734
+ create: z.ZodOptional<z.ZodUnknown>;
735
+ read: z.ZodOptional<z.ZodUnknown>;
736
+ update: z.ZodOptional<z.ZodUnknown>;
737
+ delete: z.ZodOptional<z.ZodUnknown>;
738
+ admin: z.ZodOptional<z.ZodUnknown>;
739
+ unlock: z.ZodOptional<z.ZodUnknown>;
740
+ readVersions: z.ZodOptional<z.ZodUnknown>;
741
+ }, z.core.$strip>>;
742
+ export type CollectionAccess = z.infer<typeof CollectionAccessSchema>;
743
+ /**
744
+ * Collection hooks schema
745
+ *
746
+ * Hooks are typed as unknown arrays because they're runtime functions
747
+ */
748
+ export declare const CollectionHooksSchema: z.ZodOptional<z.ZodObject<{
749
+ beforeOperation: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
750
+ afterOperation: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
751
+ beforeValidate: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
752
+ beforeChange: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
753
+ afterChange: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
754
+ beforeRead: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
755
+ afterRead: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
756
+ beforeDelete: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
757
+ afterDelete: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
758
+ beforeLogin: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
759
+ afterLogin: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
760
+ afterLogout: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
761
+ afterRefresh: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
762
+ afterMe: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
763
+ afterForgotPassword: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
764
+ }, z.core.$strip>>;
765
+ export type CollectionHooks = z.infer<typeof CollectionHooksSchema>;
766
+ /**
767
+ * Collection admin configuration
768
+ */
769
+ export declare const CollectionAdminConfigSchema: z.ZodOptional<z.ZodObject<{
770
+ useAsTitle: z.ZodOptional<z.ZodString>;
771
+ defaultColumns: z.ZodOptional<z.ZodArray<z.ZodString>>;
772
+ group: z.ZodOptional<z.ZodString>;
773
+ hidden: z.ZodOptional<z.ZodBoolean>;
774
+ description: z.ZodOptional<z.ZodString>;
775
+ preview: z.ZodOptional<z.ZodUnknown>;
776
+ livePreview: z.ZodOptional<z.ZodObject<{
777
+ url: z.ZodOptional<z.ZodUnknown>;
778
+ breakpoints: z.ZodOptional<z.ZodArray<z.ZodObject<{
779
+ name: z.ZodString;
780
+ width: z.ZodNumber;
781
+ height: z.ZodNumber;
782
+ }, z.core.$strip>>>;
783
+ }, z.core.$strip>>;
784
+ pagination: z.ZodOptional<z.ZodObject<{
785
+ defaultLimit: z.ZodOptional<z.ZodNumber>;
786
+ limits: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
787
+ }, z.core.$strip>>;
788
+ listSearchableFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
789
+ enableRichTextLink: z.ZodOptional<z.ZodBoolean>;
790
+ enableRichTextRelationship: z.ZodOptional<z.ZodBoolean>;
791
+ }, z.core.$loose>>;
792
+ export type CollectionAdminConfig = z.infer<typeof CollectionAdminConfigSchema>;
793
+ /**
794
+ * Versions configuration schema (for collections)
795
+ */
796
+ export declare const VersionsConfigSchema: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
797
+ maxPerDoc: z.ZodOptional<z.ZodNumber>;
798
+ drafts: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
799
+ autosave: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
800
+ interval: z.ZodOptional<z.ZodNumber>;
801
+ }, z.core.$strip>]>>;
802
+ validate: z.ZodOptional<z.ZodBoolean>;
803
+ }, z.core.$strip>]>>;
804
+ }, z.core.$strip>]>>;
805
+ export type VersionConfig = z.infer<typeof VersionsConfigSchema>;
806
+ export declare const VersionConfigSchema: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
807
+ maxPerDoc: z.ZodOptional<z.ZodNumber>;
808
+ drafts: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
809
+ autosave: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
810
+ interval: z.ZodOptional<z.ZodNumber>;
811
+ }, z.core.$strip>]>>;
812
+ validate: z.ZodOptional<z.ZodBoolean>;
813
+ }, z.core.$strip>]>>;
814
+ }, z.core.$strip>]>>;
815
+ /**
816
+ * Global versions configuration schema
817
+ * (Same as VersionsConfigSchema but exported separately for clarity)
818
+ */
819
+ export declare const GlobalVersionsConfigSchema: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
820
+ max: z.ZodOptional<z.ZodNumber>;
821
+ drafts: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
822
+ autosave: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
823
+ interval: z.ZodOptional<z.ZodNumber>;
824
+ }, z.core.$strip>]>>;
825
+ validate: z.ZodOptional<z.ZodBoolean>;
826
+ }, z.core.$strip>]>>;
827
+ }, z.core.$strip>]>>;
828
+ export type GlobalVersionsConfig = z.infer<typeof GlobalVersionsConfigSchema>;
829
+ /**
830
+ * Upload configuration
831
+ */
832
+ export declare const UploadConfigSchema: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
833
+ staticURL: z.ZodOptional<z.ZodString>;
834
+ staticDir: z.ZodOptional<z.ZodString>;
835
+ mimeTypes: z.ZodOptional<z.ZodArray<z.ZodString>>;
836
+ filesRequiredOnCreate: z.ZodOptional<z.ZodBoolean>;
837
+ imageSizes: z.ZodOptional<z.ZodArray<z.ZodObject<{
838
+ name: z.ZodString;
839
+ width: z.ZodOptional<z.ZodNumber>;
840
+ height: z.ZodOptional<z.ZodNumber>;
841
+ position: z.ZodOptional<z.ZodEnum<{
842
+ left: "left";
843
+ center: "center";
844
+ right: "right";
845
+ centre: "centre";
846
+ top: "top";
847
+ bottom: "bottom";
848
+ entropy: "entropy";
849
+ attention: "attention";
850
+ }>>;
851
+ fit: z.ZodOptional<z.ZodEnum<{
852
+ fill: "fill";
853
+ cover: "cover";
854
+ contain: "contain";
855
+ inside: "inside";
856
+ outside: "outside";
857
+ }>>;
858
+ }, z.core.$strip>>>;
859
+ adminThumbnail: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodUnknown]>>;
860
+ focalPoint: z.ZodOptional<z.ZodBoolean>;
861
+ crop: z.ZodOptional<z.ZodBoolean>;
862
+ }, z.core.$strip>]>>;
863
+ export type UploadConfig = z.infer<typeof UploadConfigSchema>;
864
+ /**
865
+ * Auth configuration
866
+ */
867
+ export declare const AuthConfigSchema: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
868
+ tokenExpiration: z.ZodOptional<z.ZodNumber>;
869
+ verify: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
870
+ generateEmailHTML: z.ZodOptional<z.ZodUnknown>;
871
+ generateEmailSubject: z.ZodOptional<z.ZodUnknown>;
872
+ }, z.core.$strip>]>>;
873
+ maxLoginAttempts: z.ZodOptional<z.ZodNumber>;
874
+ lockTime: z.ZodOptional<z.ZodNumber>;
875
+ useAPIKey: z.ZodOptional<z.ZodBoolean>;
876
+ depth: z.ZodOptional<z.ZodNumber>;
877
+ cookies: z.ZodOptional<z.ZodObject<{
878
+ secure: z.ZodOptional<z.ZodBoolean>;
879
+ sameSite: z.ZodOptional<z.ZodUnion<[z.ZodEnum<{
880
+ none: "none";
881
+ strict: "strict";
882
+ lax: "lax";
883
+ }>, z.ZodBoolean]>>;
884
+ domain: z.ZodOptional<z.ZodString>;
885
+ }, z.core.$strip>>;
886
+ forgotPassword: z.ZodOptional<z.ZodObject<{
887
+ generateEmailHTML: z.ZodOptional<z.ZodUnknown>;
888
+ generateEmailSubject: z.ZodOptional<z.ZodUnknown>;
889
+ }, z.core.$strip>>;
890
+ disableLocalStrategy: z.ZodOptional<z.ZodBoolean>;
891
+ strategies: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
892
+ }, z.core.$strip>]>>;
893
+ export type AuthConfig = z.infer<typeof AuthConfigSchema>;
894
+ /**
895
+ * TypeScript generation configuration
896
+ */
897
+ export declare const TypeScriptConfigSchema: z.ZodOptional<z.ZodObject<{
898
+ interface: z.ZodOptional<z.ZodString>;
899
+ }, z.core.$strip>>;
900
+ export type TypeScriptConfig = z.infer<typeof TypeScriptConfigSchema>;
901
+ /**
902
+ * Collection structure schema
903
+ *
904
+ * Validates the structural parts of a collection configuration.
905
+ * Does NOT validate: access, hooks, endpoints (functions)
906
+ */
907
+ export declare const CollectionStructureSchema: z.ZodObject<{
908
+ slug: z.ZodString;
909
+ labels: z.ZodOptional<z.ZodObject<{
910
+ singular: z.ZodString;
911
+ plural: z.ZodOptional<z.ZodString>;
912
+ }, z.core.$strip>>;
913
+ fields: z.ZodArray<z.ZodType<FieldStructure, unknown, z.core.$ZodTypeInternals<FieldStructure, unknown>>>;
914
+ timestamps: z.ZodOptional<z.ZodBoolean>;
915
+ admin: z.ZodOptional<z.ZodObject<{
916
+ useAsTitle: z.ZodOptional<z.ZodString>;
917
+ defaultColumns: z.ZodOptional<z.ZodArray<z.ZodString>>;
918
+ group: z.ZodOptional<z.ZodString>;
919
+ hidden: z.ZodOptional<z.ZodBoolean>;
920
+ description: z.ZodOptional<z.ZodString>;
921
+ preview: z.ZodOptional<z.ZodUnknown>;
922
+ livePreview: z.ZodOptional<z.ZodObject<{
923
+ url: z.ZodOptional<z.ZodUnknown>;
924
+ breakpoints: z.ZodOptional<z.ZodArray<z.ZodObject<{
925
+ name: z.ZodString;
926
+ width: z.ZodNumber;
927
+ height: z.ZodNumber;
928
+ }, z.core.$strip>>>;
929
+ }, z.core.$strip>>;
930
+ pagination: z.ZodOptional<z.ZodObject<{
931
+ defaultLimit: z.ZodOptional<z.ZodNumber>;
932
+ limits: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
933
+ }, z.core.$strip>>;
934
+ listSearchableFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
935
+ enableRichTextLink: z.ZodOptional<z.ZodBoolean>;
936
+ enableRichTextRelationship: z.ZodOptional<z.ZodBoolean>;
937
+ }, z.core.$loose>>;
938
+ versions: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
939
+ maxPerDoc: z.ZodOptional<z.ZodNumber>;
940
+ drafts: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
941
+ autosave: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
942
+ interval: z.ZodOptional<z.ZodNumber>;
943
+ }, z.core.$strip>]>>;
944
+ validate: z.ZodOptional<z.ZodBoolean>;
945
+ }, z.core.$strip>]>>;
946
+ }, z.core.$strip>]>>;
947
+ upload: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
948
+ staticURL: z.ZodOptional<z.ZodString>;
949
+ staticDir: z.ZodOptional<z.ZodString>;
950
+ mimeTypes: z.ZodOptional<z.ZodArray<z.ZodString>>;
951
+ filesRequiredOnCreate: z.ZodOptional<z.ZodBoolean>;
952
+ imageSizes: z.ZodOptional<z.ZodArray<z.ZodObject<{
953
+ name: z.ZodString;
954
+ width: z.ZodOptional<z.ZodNumber>;
955
+ height: z.ZodOptional<z.ZodNumber>;
956
+ position: z.ZodOptional<z.ZodEnum<{
957
+ left: "left";
958
+ center: "center";
959
+ right: "right";
960
+ centre: "centre";
961
+ top: "top";
962
+ bottom: "bottom";
963
+ entropy: "entropy";
964
+ attention: "attention";
965
+ }>>;
966
+ fit: z.ZodOptional<z.ZodEnum<{
967
+ fill: "fill";
968
+ cover: "cover";
969
+ contain: "contain";
970
+ inside: "inside";
971
+ outside: "outside";
972
+ }>>;
973
+ }, z.core.$strip>>>;
974
+ adminThumbnail: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodUnknown]>>;
975
+ focalPoint: z.ZodOptional<z.ZodBoolean>;
976
+ crop: z.ZodOptional<z.ZodBoolean>;
977
+ }, z.core.$strip>]>>;
978
+ auth: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
979
+ tokenExpiration: z.ZodOptional<z.ZodNumber>;
980
+ verify: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
981
+ generateEmailHTML: z.ZodOptional<z.ZodUnknown>;
982
+ generateEmailSubject: z.ZodOptional<z.ZodUnknown>;
983
+ }, z.core.$strip>]>>;
984
+ maxLoginAttempts: z.ZodOptional<z.ZodNumber>;
985
+ lockTime: z.ZodOptional<z.ZodNumber>;
986
+ useAPIKey: z.ZodOptional<z.ZodBoolean>;
987
+ depth: z.ZodOptional<z.ZodNumber>;
988
+ cookies: z.ZodOptional<z.ZodObject<{
989
+ secure: z.ZodOptional<z.ZodBoolean>;
990
+ sameSite: z.ZodOptional<z.ZodUnion<[z.ZodEnum<{
991
+ none: "none";
992
+ strict: "strict";
993
+ lax: "lax";
994
+ }>, z.ZodBoolean]>>;
995
+ domain: z.ZodOptional<z.ZodString>;
996
+ }, z.core.$strip>>;
997
+ forgotPassword: z.ZodOptional<z.ZodObject<{
998
+ generateEmailHTML: z.ZodOptional<z.ZodUnknown>;
999
+ generateEmailSubject: z.ZodOptional<z.ZodUnknown>;
1000
+ }, z.core.$strip>>;
1001
+ disableLocalStrategy: z.ZodOptional<z.ZodBoolean>;
1002
+ strategies: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
1003
+ }, z.core.$strip>]>>;
1004
+ typescript: z.ZodOptional<z.ZodObject<{
1005
+ interface: z.ZodOptional<z.ZodString>;
1006
+ }, z.core.$strip>>;
1007
+ custom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1008
+ dbName: z.ZodOptional<z.ZodString>;
1009
+ defaultSort: z.ZodOptional<z.ZodString>;
1010
+ }, z.core.$loose>;
1011
+ /**
1012
+ * Collection structure type (without function properties)
1013
+ */
1014
+ export interface CollectionStructure {
1015
+ slug: string;
1016
+ labels?: CollectionLabels | undefined;
1017
+ fields: FieldStructure[];
1018
+ timestamps?: boolean | undefined;
1019
+ admin?: CollectionAdminConfig | undefined;
1020
+ versions?: VersionConfig | undefined;
1021
+ upload?: UploadConfig | undefined;
1022
+ auth?: AuthConfig | undefined;
1023
+ typescript?: TypeScriptConfig | undefined;
1024
+ custom?: Record<string, unknown> | undefined;
1025
+ dbName?: string | undefined;
1026
+ defaultSort?: string | undefined;
1027
+ }
1028
+ /**
1029
+ * Full Collection Config Schema (includes access/hooks)
1030
+ *
1031
+ * This is the complete collection config schema including function properties.
1032
+ * For structure-only validation, use CollectionStructureSchema.
1033
+ */
1034
+ export declare const CollectionConfigSchema: z.ZodObject<{
1035
+ slug: z.ZodString;
1036
+ labels: z.ZodOptional<z.ZodObject<{
1037
+ singular: z.ZodString;
1038
+ plural: z.ZodOptional<z.ZodString>;
1039
+ }, z.core.$strip>>;
1040
+ fields: z.ZodArray<z.ZodType<FieldStructure, unknown, z.core.$ZodTypeInternals<FieldStructure, unknown>>>;
1041
+ timestamps: z.ZodOptional<z.ZodBoolean>;
1042
+ admin: z.ZodOptional<z.ZodObject<{
1043
+ useAsTitle: z.ZodOptional<z.ZodString>;
1044
+ defaultColumns: z.ZodOptional<z.ZodArray<z.ZodString>>;
1045
+ group: z.ZodOptional<z.ZodString>;
1046
+ hidden: z.ZodOptional<z.ZodBoolean>;
1047
+ description: z.ZodOptional<z.ZodString>;
1048
+ preview: z.ZodOptional<z.ZodUnknown>;
1049
+ livePreview: z.ZodOptional<z.ZodObject<{
1050
+ url: z.ZodOptional<z.ZodUnknown>;
1051
+ breakpoints: z.ZodOptional<z.ZodArray<z.ZodObject<{
1052
+ name: z.ZodString;
1053
+ width: z.ZodNumber;
1054
+ height: z.ZodNumber;
1055
+ }, z.core.$strip>>>;
1056
+ }, z.core.$strip>>;
1057
+ pagination: z.ZodOptional<z.ZodObject<{
1058
+ defaultLimit: z.ZodOptional<z.ZodNumber>;
1059
+ limits: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
1060
+ }, z.core.$strip>>;
1061
+ listSearchableFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
1062
+ enableRichTextLink: z.ZodOptional<z.ZodBoolean>;
1063
+ enableRichTextRelationship: z.ZodOptional<z.ZodBoolean>;
1064
+ }, z.core.$loose>>;
1065
+ versions: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
1066
+ maxPerDoc: z.ZodOptional<z.ZodNumber>;
1067
+ drafts: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
1068
+ autosave: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
1069
+ interval: z.ZodOptional<z.ZodNumber>;
1070
+ }, z.core.$strip>]>>;
1071
+ validate: z.ZodOptional<z.ZodBoolean>;
1072
+ }, z.core.$strip>]>>;
1073
+ }, z.core.$strip>]>>;
1074
+ upload: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
1075
+ staticURL: z.ZodOptional<z.ZodString>;
1076
+ staticDir: z.ZodOptional<z.ZodString>;
1077
+ mimeTypes: z.ZodOptional<z.ZodArray<z.ZodString>>;
1078
+ filesRequiredOnCreate: z.ZodOptional<z.ZodBoolean>;
1079
+ imageSizes: z.ZodOptional<z.ZodArray<z.ZodObject<{
1080
+ name: z.ZodString;
1081
+ width: z.ZodOptional<z.ZodNumber>;
1082
+ height: z.ZodOptional<z.ZodNumber>;
1083
+ position: z.ZodOptional<z.ZodEnum<{
1084
+ left: "left";
1085
+ center: "center";
1086
+ right: "right";
1087
+ centre: "centre";
1088
+ top: "top";
1089
+ bottom: "bottom";
1090
+ entropy: "entropy";
1091
+ attention: "attention";
1092
+ }>>;
1093
+ fit: z.ZodOptional<z.ZodEnum<{
1094
+ fill: "fill";
1095
+ cover: "cover";
1096
+ contain: "contain";
1097
+ inside: "inside";
1098
+ outside: "outside";
1099
+ }>>;
1100
+ }, z.core.$strip>>>;
1101
+ adminThumbnail: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodUnknown]>>;
1102
+ focalPoint: z.ZodOptional<z.ZodBoolean>;
1103
+ crop: z.ZodOptional<z.ZodBoolean>;
1104
+ }, z.core.$strip>]>>;
1105
+ auth: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
1106
+ tokenExpiration: z.ZodOptional<z.ZodNumber>;
1107
+ verify: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
1108
+ generateEmailHTML: z.ZodOptional<z.ZodUnknown>;
1109
+ generateEmailSubject: z.ZodOptional<z.ZodUnknown>;
1110
+ }, z.core.$strip>]>>;
1111
+ maxLoginAttempts: z.ZodOptional<z.ZodNumber>;
1112
+ lockTime: z.ZodOptional<z.ZodNumber>;
1113
+ useAPIKey: z.ZodOptional<z.ZodBoolean>;
1114
+ depth: z.ZodOptional<z.ZodNumber>;
1115
+ cookies: z.ZodOptional<z.ZodObject<{
1116
+ secure: z.ZodOptional<z.ZodBoolean>;
1117
+ sameSite: z.ZodOptional<z.ZodUnion<[z.ZodEnum<{
1118
+ none: "none";
1119
+ strict: "strict";
1120
+ lax: "lax";
1121
+ }>, z.ZodBoolean]>>;
1122
+ domain: z.ZodOptional<z.ZodString>;
1123
+ }, z.core.$strip>>;
1124
+ forgotPassword: z.ZodOptional<z.ZodObject<{
1125
+ generateEmailHTML: z.ZodOptional<z.ZodUnknown>;
1126
+ generateEmailSubject: z.ZodOptional<z.ZodUnknown>;
1127
+ }, z.core.$strip>>;
1128
+ disableLocalStrategy: z.ZodOptional<z.ZodBoolean>;
1129
+ strategies: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
1130
+ }, z.core.$strip>]>>;
1131
+ typescript: z.ZodOptional<z.ZodObject<{
1132
+ interface: z.ZodOptional<z.ZodString>;
1133
+ }, z.core.$strip>>;
1134
+ custom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1135
+ dbName: z.ZodOptional<z.ZodString>;
1136
+ defaultSort: z.ZodOptional<z.ZodString>;
1137
+ access: z.ZodOptional<z.ZodObject<{
1138
+ create: z.ZodOptional<z.ZodUnknown>;
1139
+ read: z.ZodOptional<z.ZodUnknown>;
1140
+ update: z.ZodOptional<z.ZodUnknown>;
1141
+ delete: z.ZodOptional<z.ZodUnknown>;
1142
+ admin: z.ZodOptional<z.ZodUnknown>;
1143
+ unlock: z.ZodOptional<z.ZodUnknown>;
1144
+ readVersions: z.ZodOptional<z.ZodUnknown>;
1145
+ }, z.core.$strip>>;
1146
+ hooks: z.ZodOptional<z.ZodObject<{
1147
+ beforeOperation: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
1148
+ afterOperation: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
1149
+ beforeValidate: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
1150
+ beforeChange: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
1151
+ afterChange: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
1152
+ beforeRead: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
1153
+ afterRead: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
1154
+ beforeDelete: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
1155
+ afterDelete: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
1156
+ beforeLogin: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
1157
+ afterLogin: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
1158
+ afterLogout: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
1159
+ afterRefresh: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
1160
+ afterMe: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
1161
+ afterForgotPassword: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
1162
+ }, z.core.$strip>>;
1163
+ endpoints: z.ZodOptional<z.ZodArray<z.ZodObject<{
1164
+ path: z.ZodString;
1165
+ method: z.ZodEnum<{
1166
+ options: "options";
1167
+ delete: "delete";
1168
+ get: "get";
1169
+ post: "post";
1170
+ put: "put";
1171
+ patch: "patch";
1172
+ connect: "connect";
1173
+ head: "head";
1174
+ }>;
1175
+ handler: z.ZodUnknown;
1176
+ root: z.ZodOptional<z.ZodBoolean>;
1177
+ }, z.core.$strip>>>;
1178
+ schemaVersion: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1179
+ }, z.core.$loose>;
1180
+ /**
1181
+ * Sanitized Collection Config Schema (after processing)
1182
+ */
1183
+ export declare const SanitizedCollectionConfigSchema: z.ZodObject<{
1184
+ slug: z.ZodString;
1185
+ labels: z.ZodOptional<z.ZodObject<{
1186
+ singular: z.ZodString;
1187
+ plural: z.ZodOptional<z.ZodString>;
1188
+ }, z.core.$strip>>;
1189
+ fields: z.ZodArray<z.ZodType<FieldStructure, unknown, z.core.$ZodTypeInternals<FieldStructure, unknown>>>;
1190
+ timestamps: z.ZodOptional<z.ZodBoolean>;
1191
+ admin: z.ZodOptional<z.ZodObject<{
1192
+ useAsTitle: z.ZodOptional<z.ZodString>;
1193
+ defaultColumns: z.ZodOptional<z.ZodArray<z.ZodString>>;
1194
+ group: z.ZodOptional<z.ZodString>;
1195
+ hidden: z.ZodOptional<z.ZodBoolean>;
1196
+ description: z.ZodOptional<z.ZodString>;
1197
+ preview: z.ZodOptional<z.ZodUnknown>;
1198
+ livePreview: z.ZodOptional<z.ZodObject<{
1199
+ url: z.ZodOptional<z.ZodUnknown>;
1200
+ breakpoints: z.ZodOptional<z.ZodArray<z.ZodObject<{
1201
+ name: z.ZodString;
1202
+ width: z.ZodNumber;
1203
+ height: z.ZodNumber;
1204
+ }, z.core.$strip>>>;
1205
+ }, z.core.$strip>>;
1206
+ pagination: z.ZodOptional<z.ZodObject<{
1207
+ defaultLimit: z.ZodOptional<z.ZodNumber>;
1208
+ limits: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
1209
+ }, z.core.$strip>>;
1210
+ listSearchableFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
1211
+ enableRichTextLink: z.ZodOptional<z.ZodBoolean>;
1212
+ enableRichTextRelationship: z.ZodOptional<z.ZodBoolean>;
1213
+ }, z.core.$loose>>;
1214
+ versions: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
1215
+ maxPerDoc: z.ZodOptional<z.ZodNumber>;
1216
+ drafts: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
1217
+ autosave: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
1218
+ interval: z.ZodOptional<z.ZodNumber>;
1219
+ }, z.core.$strip>]>>;
1220
+ validate: z.ZodOptional<z.ZodBoolean>;
1221
+ }, z.core.$strip>]>>;
1222
+ }, z.core.$strip>]>>;
1223
+ upload: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
1224
+ staticURL: z.ZodOptional<z.ZodString>;
1225
+ staticDir: z.ZodOptional<z.ZodString>;
1226
+ mimeTypes: z.ZodOptional<z.ZodArray<z.ZodString>>;
1227
+ filesRequiredOnCreate: z.ZodOptional<z.ZodBoolean>;
1228
+ imageSizes: z.ZodOptional<z.ZodArray<z.ZodObject<{
1229
+ name: z.ZodString;
1230
+ width: z.ZodOptional<z.ZodNumber>;
1231
+ height: z.ZodOptional<z.ZodNumber>;
1232
+ position: z.ZodOptional<z.ZodEnum<{
1233
+ left: "left";
1234
+ center: "center";
1235
+ right: "right";
1236
+ centre: "centre";
1237
+ top: "top";
1238
+ bottom: "bottom";
1239
+ entropy: "entropy";
1240
+ attention: "attention";
1241
+ }>>;
1242
+ fit: z.ZodOptional<z.ZodEnum<{
1243
+ fill: "fill";
1244
+ cover: "cover";
1245
+ contain: "contain";
1246
+ inside: "inside";
1247
+ outside: "outside";
1248
+ }>>;
1249
+ }, z.core.$strip>>>;
1250
+ adminThumbnail: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodUnknown]>>;
1251
+ focalPoint: z.ZodOptional<z.ZodBoolean>;
1252
+ crop: z.ZodOptional<z.ZodBoolean>;
1253
+ }, z.core.$strip>]>>;
1254
+ auth: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
1255
+ tokenExpiration: z.ZodOptional<z.ZodNumber>;
1256
+ verify: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
1257
+ generateEmailHTML: z.ZodOptional<z.ZodUnknown>;
1258
+ generateEmailSubject: z.ZodOptional<z.ZodUnknown>;
1259
+ }, z.core.$strip>]>>;
1260
+ maxLoginAttempts: z.ZodOptional<z.ZodNumber>;
1261
+ lockTime: z.ZodOptional<z.ZodNumber>;
1262
+ useAPIKey: z.ZodOptional<z.ZodBoolean>;
1263
+ depth: z.ZodOptional<z.ZodNumber>;
1264
+ cookies: z.ZodOptional<z.ZodObject<{
1265
+ secure: z.ZodOptional<z.ZodBoolean>;
1266
+ sameSite: z.ZodOptional<z.ZodUnion<[z.ZodEnum<{
1267
+ none: "none";
1268
+ strict: "strict";
1269
+ lax: "lax";
1270
+ }>, z.ZodBoolean]>>;
1271
+ domain: z.ZodOptional<z.ZodString>;
1272
+ }, z.core.$strip>>;
1273
+ forgotPassword: z.ZodOptional<z.ZodObject<{
1274
+ generateEmailHTML: z.ZodOptional<z.ZodUnknown>;
1275
+ generateEmailSubject: z.ZodOptional<z.ZodUnknown>;
1276
+ }, z.core.$strip>>;
1277
+ disableLocalStrategy: z.ZodOptional<z.ZodBoolean>;
1278
+ strategies: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
1279
+ }, z.core.$strip>]>>;
1280
+ typescript: z.ZodOptional<z.ZodObject<{
1281
+ interface: z.ZodOptional<z.ZodString>;
1282
+ }, z.core.$strip>>;
1283
+ custom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1284
+ dbName: z.ZodOptional<z.ZodString>;
1285
+ defaultSort: z.ZodOptional<z.ZodString>;
1286
+ access: z.ZodOptional<z.ZodObject<{
1287
+ create: z.ZodOptional<z.ZodUnknown>;
1288
+ read: z.ZodOptional<z.ZodUnknown>;
1289
+ update: z.ZodOptional<z.ZodUnknown>;
1290
+ delete: z.ZodOptional<z.ZodUnknown>;
1291
+ admin: z.ZodOptional<z.ZodUnknown>;
1292
+ unlock: z.ZodOptional<z.ZodUnknown>;
1293
+ readVersions: z.ZodOptional<z.ZodUnknown>;
1294
+ }, z.core.$strip>>;
1295
+ hooks: z.ZodOptional<z.ZodObject<{
1296
+ beforeOperation: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
1297
+ afterOperation: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
1298
+ beforeValidate: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
1299
+ beforeChange: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
1300
+ afterChange: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
1301
+ beforeRead: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
1302
+ afterRead: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
1303
+ beforeDelete: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
1304
+ afterDelete: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
1305
+ beforeLogin: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
1306
+ afterLogin: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
1307
+ afterLogout: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
1308
+ afterRefresh: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
1309
+ afterMe: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
1310
+ afterForgotPassword: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
1311
+ }, z.core.$strip>>;
1312
+ endpoints: z.ZodOptional<z.ZodArray<z.ZodObject<{
1313
+ path: z.ZodString;
1314
+ method: z.ZodEnum<{
1315
+ options: "options";
1316
+ delete: "delete";
1317
+ get: "get";
1318
+ post: "post";
1319
+ put: "put";
1320
+ patch: "patch";
1321
+ connect: "connect";
1322
+ head: "head";
1323
+ }>;
1324
+ handler: z.ZodUnknown;
1325
+ root: z.ZodOptional<z.ZodBoolean>;
1326
+ }, z.core.$strip>>>;
1327
+ schemaVersion: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1328
+ flattenedFields: z.ZodOptional<z.ZodArray<z.ZodType<FieldStructure, unknown, z.core.$ZodTypeInternals<FieldStructure, unknown>>>>;
1329
+ }, z.core.$loose>;
1330
+ export type SanitizedCollectionConfig = z.infer<typeof SanitizedCollectionConfigSchema>;
1331
+ /**
1332
+ * Global labels configuration
1333
+ */
1334
+ export declare const GlobalLabelsSchema: z.ZodOptional<z.ZodObject<{
1335
+ singular: z.ZodString;
1336
+ plural: z.ZodOptional<z.ZodString>;
1337
+ }, z.core.$strip>>;
1338
+ export type GlobalLabels = z.infer<typeof GlobalLabelsSchema>;
1339
+ /**
1340
+ * Global access control schema
1341
+ */
1342
+ export declare const GlobalAccessSchema: z.ZodOptional<z.ZodObject<{
1343
+ read: z.ZodOptional<z.ZodUnknown>;
1344
+ update: z.ZodOptional<z.ZodUnknown>;
1345
+ readVersions: z.ZodOptional<z.ZodUnknown>;
1346
+ }, z.core.$strip>>;
1347
+ export type GlobalAccess = z.infer<typeof GlobalAccessSchema>;
1348
+ /**
1349
+ * Global hooks schema
1350
+ */
1351
+ export declare const GlobalHooksSchema: z.ZodOptional<z.ZodObject<{
1352
+ beforeValidate: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
1353
+ beforeChange: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
1354
+ afterChange: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
1355
+ beforeRead: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
1356
+ afterRead: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
1357
+ }, z.core.$strip>>;
1358
+ export type GlobalHooks = z.infer<typeof GlobalHooksSchema>;
1359
+ /**
1360
+ * Global admin configuration
1361
+ */
1362
+ export declare const GlobalAdminConfigSchema: z.ZodOptional<z.ZodObject<{
1363
+ group: z.ZodOptional<z.ZodString>;
1364
+ hidden: z.ZodOptional<z.ZodBoolean>;
1365
+ description: z.ZodOptional<z.ZodString>;
1366
+ preview: z.ZodOptional<z.ZodUnknown>;
1367
+ livePreview: z.ZodOptional<z.ZodObject<{
1368
+ url: z.ZodOptional<z.ZodUnknown>;
1369
+ breakpoints: z.ZodOptional<z.ZodArray<z.ZodObject<{
1370
+ name: z.ZodString;
1371
+ width: z.ZodNumber;
1372
+ height: z.ZodNumber;
1373
+ }, z.core.$strip>>>;
1374
+ }, z.core.$strip>>;
1375
+ }, z.core.$loose>>;
1376
+ export type GlobalAdminConfig = z.infer<typeof GlobalAdminConfigSchema>;
1377
+ /**
1378
+ * Global structure schema
1379
+ */
1380
+ export declare const GlobalStructureSchema: z.ZodObject<{
1381
+ slug: z.ZodString;
1382
+ label: z.ZodOptional<z.ZodString>;
1383
+ labels: z.ZodOptional<z.ZodObject<{
1384
+ singular: z.ZodString;
1385
+ plural: z.ZodOptional<z.ZodString>;
1386
+ }, z.core.$strip>>;
1387
+ fields: z.ZodArray<z.ZodType<FieldStructure, unknown, z.core.$ZodTypeInternals<FieldStructure, unknown>>>;
1388
+ admin: z.ZodOptional<z.ZodObject<{
1389
+ group: z.ZodOptional<z.ZodString>;
1390
+ hidden: z.ZodOptional<z.ZodBoolean>;
1391
+ description: z.ZodOptional<z.ZodString>;
1392
+ preview: z.ZodOptional<z.ZodUnknown>;
1393
+ livePreview: z.ZodOptional<z.ZodObject<{
1394
+ url: z.ZodOptional<z.ZodUnknown>;
1395
+ breakpoints: z.ZodOptional<z.ZodArray<z.ZodObject<{
1396
+ name: z.ZodString;
1397
+ width: z.ZodNumber;
1398
+ height: z.ZodNumber;
1399
+ }, z.core.$strip>>>;
1400
+ }, z.core.$strip>>;
1401
+ }, z.core.$loose>>;
1402
+ versions: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
1403
+ maxPerDoc: z.ZodOptional<z.ZodNumber>;
1404
+ drafts: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
1405
+ autosave: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
1406
+ interval: z.ZodOptional<z.ZodNumber>;
1407
+ }, z.core.$strip>]>>;
1408
+ validate: z.ZodOptional<z.ZodBoolean>;
1409
+ }, z.core.$strip>]>>;
1410
+ }, z.core.$strip>]>>;
1411
+ typescript: z.ZodOptional<z.ZodObject<{
1412
+ interface: z.ZodOptional<z.ZodString>;
1413
+ }, z.core.$strip>>;
1414
+ dbName: z.ZodOptional<z.ZodString>;
1415
+ }, z.core.$loose>;
1416
+ /**
1417
+ * Global structure type (without function properties)
1418
+ */
1419
+ export interface GlobalStructure {
1420
+ slug: string;
1421
+ label?: string | undefined;
1422
+ labels?: GlobalLabels | undefined;
1423
+ fields: FieldStructure[];
1424
+ admin?: GlobalAdminConfig | undefined;
1425
+ versions?: VersionConfig | undefined;
1426
+ typescript?: TypeScriptConfig | undefined;
1427
+ dbName?: string | undefined;
1428
+ custom?: Record<string, unknown> | undefined;
1429
+ }
1430
+ /**
1431
+ * Full Global Config Schema (includes access/hooks)
1432
+ *
1433
+ * This is the complete global config schema including function properties.
1434
+ * For structure-only validation, use GlobalStructureSchema.
1435
+ */
1436
+ export declare const GlobalConfigSchema: z.ZodObject<{
1437
+ slug: z.ZodString;
1438
+ label: z.ZodOptional<z.ZodString>;
1439
+ labels: z.ZodOptional<z.ZodObject<{
1440
+ singular: z.ZodString;
1441
+ plural: z.ZodOptional<z.ZodString>;
1442
+ }, z.core.$strip>>;
1443
+ fields: z.ZodArray<z.ZodType<FieldStructure, unknown, z.core.$ZodTypeInternals<FieldStructure, unknown>>>;
1444
+ admin: z.ZodOptional<z.ZodObject<{
1445
+ group: z.ZodOptional<z.ZodString>;
1446
+ hidden: z.ZodOptional<z.ZodBoolean>;
1447
+ description: z.ZodOptional<z.ZodString>;
1448
+ preview: z.ZodOptional<z.ZodUnknown>;
1449
+ livePreview: z.ZodOptional<z.ZodObject<{
1450
+ url: z.ZodOptional<z.ZodUnknown>;
1451
+ breakpoints: z.ZodOptional<z.ZodArray<z.ZodObject<{
1452
+ name: z.ZodString;
1453
+ width: z.ZodNumber;
1454
+ height: z.ZodNumber;
1455
+ }, z.core.$strip>>>;
1456
+ }, z.core.$strip>>;
1457
+ }, z.core.$loose>>;
1458
+ typescript: z.ZodOptional<z.ZodObject<{
1459
+ interface: z.ZodOptional<z.ZodString>;
1460
+ }, z.core.$strip>>;
1461
+ dbName: z.ZodOptional<z.ZodString>;
1462
+ access: z.ZodOptional<z.ZodObject<{
1463
+ read: z.ZodOptional<z.ZodUnknown>;
1464
+ update: z.ZodOptional<z.ZodUnknown>;
1465
+ readVersions: z.ZodOptional<z.ZodUnknown>;
1466
+ }, z.core.$strip>>;
1467
+ hooks: z.ZodOptional<z.ZodObject<{
1468
+ beforeValidate: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
1469
+ beforeChange: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
1470
+ afterChange: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
1471
+ beforeRead: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
1472
+ afterRead: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
1473
+ }, z.core.$strip>>;
1474
+ versions: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
1475
+ max: z.ZodOptional<z.ZodNumber>;
1476
+ drafts: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
1477
+ autosave: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
1478
+ interval: z.ZodOptional<z.ZodNumber>;
1479
+ }, z.core.$strip>]>>;
1480
+ validate: z.ZodOptional<z.ZodBoolean>;
1481
+ }, z.core.$strip>]>>;
1482
+ }, z.core.$strip>]>>;
1483
+ endpoints: z.ZodOptional<z.ZodArray<z.ZodObject<{
1484
+ path: z.ZodString;
1485
+ method: z.ZodEnum<{
1486
+ options: "options";
1487
+ delete: "delete";
1488
+ get: "get";
1489
+ post: "post";
1490
+ put: "put";
1491
+ patch: "patch";
1492
+ connect: "connect";
1493
+ head: "head";
1494
+ }>;
1495
+ handler: z.ZodUnknown;
1496
+ root: z.ZodOptional<z.ZodBoolean>;
1497
+ }, z.core.$strip>>>;
1498
+ schemaVersion: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1499
+ }, z.core.$loose>;
1500
+ /**
1501
+ * Sanitized Global Config Schema (after processing)
1502
+ */
1503
+ export declare const SanitizedGlobalConfigSchema: z.ZodObject<{
1504
+ slug: z.ZodString;
1505
+ label: z.ZodOptional<z.ZodString>;
1506
+ labels: z.ZodOptional<z.ZodObject<{
1507
+ singular: z.ZodString;
1508
+ plural: z.ZodOptional<z.ZodString>;
1509
+ }, z.core.$strip>>;
1510
+ fields: z.ZodArray<z.ZodType<FieldStructure, unknown, z.core.$ZodTypeInternals<FieldStructure, unknown>>>;
1511
+ admin: z.ZodOptional<z.ZodObject<{
1512
+ group: z.ZodOptional<z.ZodString>;
1513
+ hidden: z.ZodOptional<z.ZodBoolean>;
1514
+ description: z.ZodOptional<z.ZodString>;
1515
+ preview: z.ZodOptional<z.ZodUnknown>;
1516
+ livePreview: z.ZodOptional<z.ZodObject<{
1517
+ url: z.ZodOptional<z.ZodUnknown>;
1518
+ breakpoints: z.ZodOptional<z.ZodArray<z.ZodObject<{
1519
+ name: z.ZodString;
1520
+ width: z.ZodNumber;
1521
+ height: z.ZodNumber;
1522
+ }, z.core.$strip>>>;
1523
+ }, z.core.$strip>>;
1524
+ }, z.core.$loose>>;
1525
+ typescript: z.ZodOptional<z.ZodObject<{
1526
+ interface: z.ZodOptional<z.ZodString>;
1527
+ }, z.core.$strip>>;
1528
+ dbName: z.ZodOptional<z.ZodString>;
1529
+ access: z.ZodOptional<z.ZodObject<{
1530
+ read: z.ZodOptional<z.ZodUnknown>;
1531
+ update: z.ZodOptional<z.ZodUnknown>;
1532
+ readVersions: z.ZodOptional<z.ZodUnknown>;
1533
+ }, z.core.$strip>>;
1534
+ hooks: z.ZodOptional<z.ZodObject<{
1535
+ beforeValidate: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
1536
+ beforeChange: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
1537
+ afterChange: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
1538
+ beforeRead: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
1539
+ afterRead: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
1540
+ }, z.core.$strip>>;
1541
+ versions: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
1542
+ max: z.ZodOptional<z.ZodNumber>;
1543
+ drafts: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
1544
+ autosave: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
1545
+ interval: z.ZodOptional<z.ZodNumber>;
1546
+ }, z.core.$strip>]>>;
1547
+ validate: z.ZodOptional<z.ZodBoolean>;
1548
+ }, z.core.$strip>]>>;
1549
+ }, z.core.$strip>]>>;
1550
+ endpoints: z.ZodOptional<z.ZodArray<z.ZodObject<{
1551
+ path: z.ZodString;
1552
+ method: z.ZodEnum<{
1553
+ options: "options";
1554
+ delete: "delete";
1555
+ get: "get";
1556
+ post: "post";
1557
+ put: "put";
1558
+ patch: "patch";
1559
+ connect: "connect";
1560
+ head: "head";
1561
+ }>;
1562
+ handler: z.ZodUnknown;
1563
+ root: z.ZodOptional<z.ZodBoolean>;
1564
+ }, z.core.$strip>>>;
1565
+ schemaVersion: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1566
+ flattenedFields: z.ZodOptional<z.ZodArray<z.ZodType<FieldStructure, unknown, z.core.$ZodTypeInternals<FieldStructure, unknown>>>>;
1567
+ }, z.core.$loose>;
1568
+ export type SanitizedGlobalConfig = z.infer<typeof SanitizedGlobalConfigSchema>;
1569
+ /**
1570
+ * Text field type
1571
+ */
1572
+ export type TextField = z.infer<typeof TextFieldSchema>;
1573
+ /**
1574
+ * Number field type
1575
+ */
1576
+ export type NumberField = z.infer<typeof NumberFieldSchema>;
1577
+ /**
1578
+ * Relationship field type
1579
+ */
1580
+ export type RelationshipField = z.infer<typeof RelationshipFieldSchema>;
1581
+ /**
1582
+ * Array field type
1583
+ */
1584
+ export type ArrayField = z.infer<typeof ArrayFieldSchema>;
1585
+ /**
1586
+ * Group field type
1587
+ */
1588
+ export type GroupField = z.infer<typeof GroupFieldSchema>;
1589
+ /**
1590
+ * Select field type
1591
+ */
1592
+ export type SelectField = z.infer<typeof SelectFieldSchema>;
1593
+ /**
1594
+ * Tabs field type
1595
+ */
1596
+ export type TabsField = z.infer<typeof TabsFieldSchema>;
1597
+ /**
1598
+ * Row field type
1599
+ */
1600
+ export type RowField = z.infer<typeof RowFieldSchema>;
1601
+ //# sourceMappingURL=structure.d.ts.map