@oak-digital/types-4-strapi-2 0.5.4 → 1.0.0-beta.1

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 (116) hide show
  1. package/.eslintrc.json +2 -1
  2. package/CHANGELOG.md +7 -0
  3. package/README.md +21 -8
  4. package/lib/attributes/Attributes.d.ts +4 -3
  5. package/lib/attributes/Attributes.js +102 -78
  6. package/lib/content-types/reader.js +49 -145
  7. package/lib/extra-types/ExtraType.d.ts +2 -2
  8. package/lib/extra-types/ExtraType.js +19 -38
  9. package/lib/extra-types/createExtraTypes.d.ts +1 -1
  10. package/lib/extra-types/createExtraTypes.js +11 -12
  11. package/lib/file/File.d.ts +1 -1
  12. package/lib/file/File.js +44 -43
  13. package/lib/index.js +57 -19
  14. package/lib/interface/BuiltinComponentInterface.js +9 -27
  15. package/lib/interface/BuiltinInterface.d.ts +0 -1
  16. package/lib/interface/BuiltinInterface.js +5 -26
  17. package/lib/interface/ComponentInterface.d.ts +2 -1
  18. package/lib/interface/ComponentInterface.js +30 -48
  19. package/lib/interface/Interface.d.ts +6 -2
  20. package/lib/interface/Interface.js +69 -70
  21. package/lib/interface/builtinInterfaces.d.ts +1941 -2
  22. package/lib/interface/builtinInterfaces.js +56 -46
  23. package/lib/plugins/PluginManager.d.ts +8 -2
  24. package/lib/plugins/PluginManager.js +28 -35
  25. package/lib/plugins/draft-and-publish/index.d.ts +1 -1
  26. package/lib/plugins/draft-and-publish/index.js +17 -21
  27. package/lib/plugins/i18n/index.d.ts +1 -1
  28. package/lib/plugins/i18n/index.js +17 -22
  29. package/lib/plugins/index.js +4 -4
  30. package/lib/plugins/types.d.ts +1 -1
  31. package/lib/plugins/types.js +1 -4
  32. package/lib/plugins/url-alias/index.js +12 -15
  33. package/lib/plugins/url-alias/type.js +21 -32
  34. package/lib/program/InterfaceManager.d.ts +374 -24
  35. package/lib/program/InterfaceManager.js +128 -376
  36. package/lib/readers/by-file.d.ts +321 -0
  37. package/lib/readers/by-file.js +116 -0
  38. package/lib/readers/load-strapi/index.d.ts +319 -0
  39. package/lib/readers/load-strapi/index.js +106 -0
  40. package/lib/readers/types/attributes.d.ts +1639 -0
  41. package/lib/readers/types/attributes.js +144 -0
  42. package/lib/readers/types/component.d.ts +723 -0
  43. package/lib/readers/types/component.js +11 -0
  44. package/lib/readers/types/content-type-reader.d.ts +16 -0
  45. package/lib/readers/types/content-type-reader.js +2 -0
  46. package/lib/readers/types/content-type.d.ts +766 -0
  47. package/lib/readers/types/content-type.js +16 -0
  48. package/lib/utils/casing/index.js +2 -2
  49. package/lib/utils/index.js +5 -39
  50. package/lib/writers/basic-writer.d.ts +24 -0
  51. package/lib/writers/basic-writer.js +75 -0
  52. package/lib/writers/types/writer.d.ts +4 -0
  53. package/lib/writers/types/writer.js +2 -0
  54. package/package.json +12 -9
  55. package/tests/strapi-project/.editorconfig +16 -0
  56. package/tests/strapi-project/.env.example +6 -0
  57. package/tests/strapi-project/README.md +57 -0
  58. package/tests/strapi-project/config/admin.ts +13 -0
  59. package/tests/strapi-project/config/api.ts +7 -0
  60. package/tests/strapi-project/config/database.ts +93 -0
  61. package/tests/strapi-project/config/middlewares.ts +12 -0
  62. package/tests/strapi-project/config/server.ts +10 -0
  63. package/tests/strapi-project/favicon.png +0 -0
  64. package/tests/strapi-project/package-lock.json +16125 -0
  65. package/tests/strapi-project/package.json +30 -0
  66. package/tests/strapi-project/public/robots.txt +3 -0
  67. package/tests/strapi-project/public/uploads/.gitkeep +0 -0
  68. package/tests/strapi-project/src/admin/app.example.tsx +35 -0
  69. package/tests/strapi-project/src/admin/webpack.config.example.js +9 -0
  70. package/tests/strapi-project/src/api/.gitkeep +0 -0
  71. package/tests/strapi-project/src/api/collection-1/content-types/collection-1/schema.json +18 -0
  72. package/tests/strapi-project/src/api/collection-1/content-types/generated-type/schema.json +18 -0
  73. package/tests/strapi-project/src/api/collection-1/controllers/collection-1.ts +7 -0
  74. package/tests/strapi-project/src/api/collection-1/controllers/generated-type.ts +7 -0
  75. package/tests/strapi-project/src/api/collection-1/routes/collection-1.ts +7 -0
  76. package/tests/strapi-project/src/api/collection-1/routes/generated-type.ts +7 -0
  77. package/tests/strapi-project/src/api/collection-1/services/collection-1.ts +7 -0
  78. package/tests/strapi-project/src/api/collection-1/services/generated-type.ts +7 -0
  79. package/tests/strapi-project/src/api/standalone-controller/controllers/standalone-controller.ts +13 -0
  80. package/tests/strapi-project/src/components/my-category/all-types.json +88 -0
  81. package/tests/strapi-project/src/components/other-category/sub-component.json +12 -0
  82. package/tests/strapi-project/src/extensions/.gitkeep +0 -0
  83. package/tests/strapi-project/src/index.ts +18 -0
  84. package/lib/.prettierrc.json +0 -7
  85. package/lib/case/index.d.ts +0 -4
  86. package/lib/case/index.js +0 -47
  87. package/lib/interface/Attributes.d.ts +0 -11
  88. package/lib/interface/Attributes.js +0 -167
  89. package/lib/interface/InterfaceManager.d.ts +0 -39
  90. package/lib/interface/InterfaceManager.js +0 -396
  91. package/lib/interface/interfaceCreator.js +0 -7
  92. package/lib/interface/interfaceWriter.d.ts +0 -2
  93. package/lib/interface/interfaceWriter.js +0 -46
  94. package/lib/interface/schemaReader.d.ts +0 -14
  95. package/lib/interface/schemaReader.js +0 -177
  96. package/lib/src/index.d.ts +0 -1
  97. package/lib/src/index.js +0 -25
  98. package/lib/src/interface/Attributes.d.ts +0 -11
  99. package/lib/src/interface/Attributes.js +0 -148
  100. package/lib/src/interface/BuiltinComponentInterface.d.ts +0 -5
  101. package/lib/src/interface/BuiltinComponentInterface.js +0 -36
  102. package/lib/src/interface/BuiltinInterface.d.ts +0 -5
  103. package/lib/src/interface/BuiltinInterface.js +0 -33
  104. package/lib/src/interface/ComponentInterface.d.ts +0 -8
  105. package/lib/src/interface/ComponentInterface.js +0 -58
  106. package/lib/src/interface/Interface.d.ts +0 -31
  107. package/lib/src/interface/Interface.js +0 -112
  108. package/lib/src/interface/InterfaceManager.d.ts +0 -25
  109. package/lib/src/interface/InterfaceManager.js +0 -288
  110. package/lib/src/interface/builtinInterfaces.d.ts +0 -4
  111. package/lib/src/interface/builtinInterfaces.js +0 -81
  112. package/lib/src/interface/schemaReader.d.ts +0 -14
  113. package/lib/src/interface/schemaReader.js +0 -172
  114. package/lib/src/utils/index.d.ts +0 -3
  115. package/lib/src/utils/index.js +0 -67
  116. /package/{lib/interface/interfaceCreator.d.ts → tests/strapi-project/database/migrations/.gitkeep} +0 -0
@@ -0,0 +1,723 @@
1
+ import { z } from 'zod';
2
+ export declare const strapiComponent: z.ZodObject<{
3
+ collectionName: z.ZodString;
4
+ attributes: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
5
+ __t4s_required: z.ZodOptional<z.ZodBoolean>;
6
+ pluginOptions: z.ZodAny;
7
+ required: z.ZodOptional<z.ZodBoolean>;
8
+ type: z.ZodEnum<["text", "string"]>;
9
+ }, "strip", z.ZodTypeAny, {
10
+ __t4s_required?: boolean;
11
+ pluginOptions?: any;
12
+ required?: boolean;
13
+ type?: "text" | "string";
14
+ }, {
15
+ __t4s_required?: boolean;
16
+ pluginOptions?: any;
17
+ required?: boolean;
18
+ type?: "text" | "string";
19
+ }>, z.ZodObject<{
20
+ __t4s_required: z.ZodOptional<z.ZodBoolean>;
21
+ pluginOptions: z.ZodAny;
22
+ required: z.ZodOptional<z.ZodBoolean>;
23
+ type: z.ZodLiteral<"email">;
24
+ }, "strip", z.ZodTypeAny, {
25
+ __t4s_required?: boolean;
26
+ pluginOptions?: any;
27
+ required?: boolean;
28
+ type?: "email";
29
+ }, {
30
+ __t4s_required?: boolean;
31
+ pluginOptions?: any;
32
+ required?: boolean;
33
+ type?: "email";
34
+ }>, z.ZodObject<{
35
+ __t4s_required: z.ZodOptional<z.ZodBoolean>;
36
+ pluginOptions: z.ZodAny;
37
+ required: z.ZodOptional<z.ZodBoolean>;
38
+ type: z.ZodLiteral<"uid">;
39
+ targetField: z.ZodOptional<z.ZodString>;
40
+ }, "strip", z.ZodTypeAny, {
41
+ __t4s_required?: boolean;
42
+ pluginOptions?: any;
43
+ required?: boolean;
44
+ type?: "uid";
45
+ targetField?: string;
46
+ }, {
47
+ __t4s_required?: boolean;
48
+ pluginOptions?: any;
49
+ required?: boolean;
50
+ type?: "uid";
51
+ targetField?: string;
52
+ }>, z.ZodObject<{
53
+ __t4s_required: z.ZodOptional<z.ZodBoolean>;
54
+ pluginOptions: z.ZodAny;
55
+ required: z.ZodOptional<z.ZodBoolean>;
56
+ type: z.ZodLiteral<"richtext">;
57
+ }, "strip", z.ZodTypeAny, {
58
+ __t4s_required?: boolean;
59
+ pluginOptions?: any;
60
+ required?: boolean;
61
+ type?: "richtext";
62
+ }, {
63
+ __t4s_required?: boolean;
64
+ pluginOptions?: any;
65
+ required?: boolean;
66
+ type?: "richtext";
67
+ }>, z.ZodObject<{
68
+ __t4s_required: z.ZodOptional<z.ZodBoolean>;
69
+ pluginOptions: z.ZodAny;
70
+ required: z.ZodOptional<z.ZodBoolean>;
71
+ type: z.ZodLiteral<"json">;
72
+ }, "strip", z.ZodTypeAny, {
73
+ __t4s_required?: boolean;
74
+ pluginOptions?: any;
75
+ required?: boolean;
76
+ type?: "json";
77
+ }, {
78
+ __t4s_required?: boolean;
79
+ pluginOptions?: any;
80
+ required?: boolean;
81
+ type?: "json";
82
+ }>, z.ZodObject<{
83
+ __t4s_required: z.ZodOptional<z.ZodBoolean>;
84
+ pluginOptions: z.ZodAny;
85
+ required: z.ZodOptional<z.ZodBoolean>;
86
+ type: z.ZodLiteral<"password">;
87
+ }, "strip", z.ZodTypeAny, {
88
+ __t4s_required?: boolean;
89
+ pluginOptions?: any;
90
+ required?: boolean;
91
+ type?: "password";
92
+ }, {
93
+ __t4s_required?: boolean;
94
+ pluginOptions?: any;
95
+ required?: boolean;
96
+ type?: "password";
97
+ }>, z.ZodUnion<[z.ZodObject<{
98
+ __t4s_required: z.ZodOptional<z.ZodBoolean>;
99
+ pluginOptions: z.ZodAny;
100
+ required: z.ZodOptional<z.ZodBoolean>;
101
+ type: z.ZodLiteral<"integer">;
102
+ }, "strip", z.ZodTypeAny, {
103
+ __t4s_required?: boolean;
104
+ pluginOptions?: any;
105
+ required?: boolean;
106
+ type?: "integer";
107
+ }, {
108
+ __t4s_required?: boolean;
109
+ pluginOptions?: any;
110
+ required?: boolean;
111
+ type?: "integer";
112
+ }>, z.ZodObject<{
113
+ __t4s_required: z.ZodOptional<z.ZodBoolean>;
114
+ pluginOptions: z.ZodAny;
115
+ required: z.ZodOptional<z.ZodBoolean>;
116
+ type: z.ZodLiteral<"float">;
117
+ }, "strip", z.ZodTypeAny, {
118
+ __t4s_required?: boolean;
119
+ pluginOptions?: any;
120
+ required?: boolean;
121
+ type?: "float";
122
+ }, {
123
+ __t4s_required?: boolean;
124
+ pluginOptions?: any;
125
+ required?: boolean;
126
+ type?: "float";
127
+ }>, z.ZodObject<{
128
+ __t4s_required: z.ZodOptional<z.ZodBoolean>;
129
+ pluginOptions: z.ZodAny;
130
+ required: z.ZodOptional<z.ZodBoolean>;
131
+ type: z.ZodLiteral<"biginteger">;
132
+ }, "strip", z.ZodTypeAny, {
133
+ __t4s_required?: boolean;
134
+ pluginOptions?: any;
135
+ required?: boolean;
136
+ type?: "biginteger";
137
+ }, {
138
+ __t4s_required?: boolean;
139
+ pluginOptions?: any;
140
+ required?: boolean;
141
+ type?: "biginteger";
142
+ }>, z.ZodObject<{
143
+ __t4s_required: z.ZodOptional<z.ZodBoolean>;
144
+ pluginOptions: z.ZodAny;
145
+ required: z.ZodOptional<z.ZodBoolean>;
146
+ type: z.ZodLiteral<"decimal">;
147
+ }, "strip", z.ZodTypeAny, {
148
+ __t4s_required?: boolean;
149
+ pluginOptions?: any;
150
+ required?: boolean;
151
+ type?: "decimal";
152
+ }, {
153
+ __t4s_required?: boolean;
154
+ pluginOptions?: any;
155
+ required?: boolean;
156
+ type?: "decimal";
157
+ }>]>, z.ZodObject<{
158
+ __t4s_required: z.ZodOptional<z.ZodBoolean>;
159
+ pluginOptions: z.ZodAny;
160
+ required: z.ZodOptional<z.ZodBoolean>;
161
+ type: z.ZodLiteral<"enumeration">;
162
+ enum: z.ZodArray<z.ZodString, "many">;
163
+ }, "strip", z.ZodTypeAny, {
164
+ __t4s_required?: boolean;
165
+ pluginOptions?: any;
166
+ required?: boolean;
167
+ type?: "enumeration";
168
+ enum?: string[];
169
+ }, {
170
+ __t4s_required?: boolean;
171
+ pluginOptions?: any;
172
+ required?: boolean;
173
+ type?: "enumeration";
174
+ enum?: string[];
175
+ }>, z.ZodUnion<[z.ZodObject<{
176
+ __t4s_required: z.ZodOptional<z.ZodBoolean>;
177
+ pluginOptions: z.ZodAny;
178
+ required: z.ZodOptional<z.ZodBoolean>;
179
+ type: z.ZodLiteral<"date">;
180
+ }, "strip", z.ZodTypeAny, {
181
+ __t4s_required?: boolean;
182
+ pluginOptions?: any;
183
+ required?: boolean;
184
+ type?: "date";
185
+ }, {
186
+ __t4s_required?: boolean;
187
+ pluginOptions?: any;
188
+ required?: boolean;
189
+ type?: "date";
190
+ }>, z.ZodObject<{
191
+ __t4s_required: z.ZodOptional<z.ZodBoolean>;
192
+ pluginOptions: z.ZodAny;
193
+ required: z.ZodOptional<z.ZodBoolean>;
194
+ type: z.ZodLiteral<"datetime">;
195
+ }, "strip", z.ZodTypeAny, {
196
+ __t4s_required?: boolean;
197
+ pluginOptions?: any;
198
+ required?: boolean;
199
+ type?: "datetime";
200
+ }, {
201
+ __t4s_required?: boolean;
202
+ pluginOptions?: any;
203
+ required?: boolean;
204
+ type?: "datetime";
205
+ }>, z.ZodObject<{
206
+ __t4s_required: z.ZodOptional<z.ZodBoolean>;
207
+ pluginOptions: z.ZodAny;
208
+ required: z.ZodOptional<z.ZodBoolean>;
209
+ type: z.ZodLiteral<"time">;
210
+ }, "strip", z.ZodTypeAny, {
211
+ __t4s_required?: boolean;
212
+ pluginOptions?: any;
213
+ required?: boolean;
214
+ type?: "time";
215
+ }, {
216
+ __t4s_required?: boolean;
217
+ pluginOptions?: any;
218
+ required?: boolean;
219
+ type?: "time";
220
+ }>]>, z.ZodObject<{
221
+ __t4s_required: z.ZodOptional<z.ZodBoolean>;
222
+ pluginOptions: z.ZodAny;
223
+ required: z.ZodOptional<z.ZodBoolean>;
224
+ type: z.ZodLiteral<"media">;
225
+ multiple: z.ZodOptional<z.ZodBoolean>;
226
+ allowedTypes: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodEnum<["images", "videos", "audios", "files"]>, "many">>>;
227
+ }, "strip", z.ZodTypeAny, {
228
+ __t4s_required?: boolean;
229
+ pluginOptions?: any;
230
+ required?: boolean;
231
+ type?: "media";
232
+ multiple?: boolean;
233
+ allowedTypes?: ("images" | "videos" | "audios" | "files")[];
234
+ }, {
235
+ __t4s_required?: boolean;
236
+ pluginOptions?: any;
237
+ required?: boolean;
238
+ type?: "media";
239
+ multiple?: boolean;
240
+ allowedTypes?: ("images" | "videos" | "audios" | "files")[];
241
+ }>, z.ZodObject<{
242
+ __t4s_required: z.ZodOptional<z.ZodBoolean>;
243
+ pluginOptions: z.ZodAny;
244
+ required: z.ZodOptional<z.ZodBoolean>;
245
+ type: z.ZodLiteral<"boolean">;
246
+ }, "strip", z.ZodTypeAny, {
247
+ __t4s_required?: boolean;
248
+ pluginOptions?: any;
249
+ required?: boolean;
250
+ type?: "boolean";
251
+ }, {
252
+ __t4s_required?: boolean;
253
+ pluginOptions?: any;
254
+ required?: boolean;
255
+ type?: "boolean";
256
+ }>, z.ZodUnion<[z.ZodObject<{
257
+ __t4s_required: z.ZodOptional<z.ZodBoolean>;
258
+ pluginOptions: z.ZodAny;
259
+ required: z.ZodOptional<z.ZodBoolean>;
260
+ type: z.ZodLiteral<"relation">;
261
+ target: z.ZodString;
262
+ relation: z.ZodLiteral<"oneToOne">;
263
+ }, "strip", z.ZodTypeAny, {
264
+ __t4s_required?: boolean;
265
+ pluginOptions?: any;
266
+ required?: boolean;
267
+ type?: "relation";
268
+ target?: string;
269
+ relation?: "oneToOne";
270
+ }, {
271
+ __t4s_required?: boolean;
272
+ pluginOptions?: any;
273
+ required?: boolean;
274
+ type?: "relation";
275
+ target?: string;
276
+ relation?: "oneToOne";
277
+ }>, z.ZodObject<{
278
+ __t4s_required: z.ZodOptional<z.ZodBoolean>;
279
+ pluginOptions: z.ZodAny;
280
+ required: z.ZodOptional<z.ZodBoolean>;
281
+ type: z.ZodLiteral<"relation">;
282
+ target: z.ZodString;
283
+ relation: z.ZodLiteral<"oneToOne">;
284
+ inversedBy: z.ZodString;
285
+ }, "strip", z.ZodTypeAny, {
286
+ __t4s_required?: boolean;
287
+ pluginOptions?: any;
288
+ required?: boolean;
289
+ type?: "relation";
290
+ target?: string;
291
+ relation?: "oneToOne";
292
+ inversedBy?: string;
293
+ }, {
294
+ __t4s_required?: boolean;
295
+ pluginOptions?: any;
296
+ required?: boolean;
297
+ type?: "relation";
298
+ target?: string;
299
+ relation?: "oneToOne";
300
+ inversedBy?: string;
301
+ }>, z.ZodObject<{
302
+ __t4s_required: z.ZodOptional<z.ZodBoolean>;
303
+ pluginOptions: z.ZodAny;
304
+ required: z.ZodOptional<z.ZodBoolean>;
305
+ type: z.ZodLiteral<"relation">;
306
+ target: z.ZodString;
307
+ mappedBy: z.ZodString;
308
+ relation: z.ZodLiteral<"oneToMany">;
309
+ }, "strip", z.ZodTypeAny, {
310
+ __t4s_required?: boolean;
311
+ pluginOptions?: any;
312
+ required?: boolean;
313
+ type?: "relation";
314
+ target?: string;
315
+ mappedBy?: string;
316
+ relation?: "oneToMany";
317
+ }, {
318
+ __t4s_required?: boolean;
319
+ pluginOptions?: any;
320
+ required?: boolean;
321
+ type?: "relation";
322
+ target?: string;
323
+ mappedBy?: string;
324
+ relation?: "oneToMany";
325
+ }>, z.ZodObject<{
326
+ __t4s_required: z.ZodOptional<z.ZodBoolean>;
327
+ pluginOptions: z.ZodAny;
328
+ required: z.ZodOptional<z.ZodBoolean>;
329
+ type: z.ZodLiteral<"relation">;
330
+ target: z.ZodString;
331
+ relation: z.ZodLiteral<"manyToOne">;
332
+ inversedBy: z.ZodString;
333
+ }, "strip", z.ZodTypeAny, {
334
+ __t4s_required?: boolean;
335
+ pluginOptions?: any;
336
+ required?: boolean;
337
+ type?: "relation";
338
+ target?: string;
339
+ relation?: "manyToOne";
340
+ inversedBy?: string;
341
+ }, {
342
+ __t4s_required?: boolean;
343
+ pluginOptions?: any;
344
+ required?: boolean;
345
+ type?: "relation";
346
+ target?: string;
347
+ relation?: "manyToOne";
348
+ inversedBy?: string;
349
+ }>, z.ZodObject<{
350
+ __t4s_required: z.ZodOptional<z.ZodBoolean>;
351
+ pluginOptions: z.ZodAny;
352
+ required: z.ZodOptional<z.ZodBoolean>;
353
+ type: z.ZodLiteral<"relation">;
354
+ target: z.ZodString;
355
+ relation: z.ZodLiteral<"manyToMany">;
356
+ inversedBy: z.ZodOptional<z.ZodString>;
357
+ mappedBy: z.ZodOptional<z.ZodString>;
358
+ }, "strip", z.ZodTypeAny, {
359
+ __t4s_required?: boolean;
360
+ pluginOptions?: any;
361
+ required?: boolean;
362
+ type?: "relation";
363
+ target?: string;
364
+ relation?: "manyToMany";
365
+ inversedBy?: string;
366
+ mappedBy?: string;
367
+ }, {
368
+ __t4s_required?: boolean;
369
+ pluginOptions?: any;
370
+ required?: boolean;
371
+ type?: "relation";
372
+ target?: string;
373
+ relation?: "manyToMany";
374
+ inversedBy?: string;
375
+ mappedBy?: string;
376
+ }>, z.ZodObject<{
377
+ __t4s_required: z.ZodOptional<z.ZodBoolean>;
378
+ pluginOptions: z.ZodAny;
379
+ required: z.ZodOptional<z.ZodBoolean>;
380
+ type: z.ZodLiteral<"relation">;
381
+ target: z.ZodString;
382
+ relation: z.ZodLiteral<"oneToMany">;
383
+ }, "strip", z.ZodTypeAny, {
384
+ __t4s_required?: boolean;
385
+ pluginOptions?: any;
386
+ required?: boolean;
387
+ type?: "relation";
388
+ target?: string;
389
+ relation?: "oneToMany";
390
+ }, {
391
+ __t4s_required?: boolean;
392
+ pluginOptions?: any;
393
+ required?: boolean;
394
+ type?: "relation";
395
+ target?: string;
396
+ relation?: "oneToMany";
397
+ }>, z.ZodObject<{
398
+ type: z.ZodLiteral<"relation">;
399
+ relation: z.ZodLiteral<"morphToMany">;
400
+ }, "strip", z.ZodTypeAny, {
401
+ type?: "relation";
402
+ relation?: "morphToMany";
403
+ }, {
404
+ type?: "relation";
405
+ relation?: "morphToMany";
406
+ }>]>, z.ZodObject<{
407
+ __t4s_required: z.ZodOptional<z.ZodBoolean>;
408
+ pluginOptions: z.ZodAny;
409
+ required: z.ZodOptional<z.ZodBoolean>;
410
+ type: z.ZodLiteral<"component">;
411
+ repeatable: z.ZodOptional<z.ZodBoolean>;
412
+ component: z.ZodString;
413
+ }, "strip", z.ZodTypeAny, {
414
+ __t4s_required?: boolean;
415
+ pluginOptions?: any;
416
+ required?: boolean;
417
+ type?: "component";
418
+ repeatable?: boolean;
419
+ component?: string;
420
+ }, {
421
+ __t4s_required?: boolean;
422
+ pluginOptions?: any;
423
+ required?: boolean;
424
+ type?: "component";
425
+ repeatable?: boolean;
426
+ component?: string;
427
+ }>]>>;
428
+ options: z.ZodOptional<z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>>;
429
+ uid: z.ZodOptional<z.ZodString>;
430
+ }, "strip", z.ZodTypeAny, {
431
+ collectionName?: string;
432
+ attributes?: Record<string, {
433
+ __t4s_required?: boolean;
434
+ pluginOptions?: any;
435
+ required?: boolean;
436
+ type?: "text" | "string";
437
+ } | {
438
+ __t4s_required?: boolean;
439
+ pluginOptions?: any;
440
+ required?: boolean;
441
+ type?: "email";
442
+ } | {
443
+ __t4s_required?: boolean;
444
+ pluginOptions?: any;
445
+ required?: boolean;
446
+ type?: "uid";
447
+ targetField?: string;
448
+ } | {
449
+ __t4s_required?: boolean;
450
+ pluginOptions?: any;
451
+ required?: boolean;
452
+ type?: "richtext";
453
+ } | {
454
+ __t4s_required?: boolean;
455
+ pluginOptions?: any;
456
+ required?: boolean;
457
+ type?: "json";
458
+ } | {
459
+ __t4s_required?: boolean;
460
+ pluginOptions?: any;
461
+ required?: boolean;
462
+ type?: "password";
463
+ } | {
464
+ __t4s_required?: boolean;
465
+ pluginOptions?: any;
466
+ required?: boolean;
467
+ type?: "integer";
468
+ } | {
469
+ __t4s_required?: boolean;
470
+ pluginOptions?: any;
471
+ required?: boolean;
472
+ type?: "float";
473
+ } | {
474
+ __t4s_required?: boolean;
475
+ pluginOptions?: any;
476
+ required?: boolean;
477
+ type?: "biginteger";
478
+ } | {
479
+ __t4s_required?: boolean;
480
+ pluginOptions?: any;
481
+ required?: boolean;
482
+ type?: "decimal";
483
+ } | {
484
+ __t4s_required?: boolean;
485
+ pluginOptions?: any;
486
+ required?: boolean;
487
+ type?: "enumeration";
488
+ enum?: string[];
489
+ } | {
490
+ __t4s_required?: boolean;
491
+ pluginOptions?: any;
492
+ required?: boolean;
493
+ type?: "date";
494
+ } | {
495
+ __t4s_required?: boolean;
496
+ pluginOptions?: any;
497
+ required?: boolean;
498
+ type?: "datetime";
499
+ } | {
500
+ __t4s_required?: boolean;
501
+ pluginOptions?: any;
502
+ required?: boolean;
503
+ type?: "time";
504
+ } | {
505
+ __t4s_required?: boolean;
506
+ pluginOptions?: any;
507
+ required?: boolean;
508
+ type?: "media";
509
+ multiple?: boolean;
510
+ allowedTypes?: ("images" | "videos" | "audios" | "files")[];
511
+ } | {
512
+ __t4s_required?: boolean;
513
+ pluginOptions?: any;
514
+ required?: boolean;
515
+ type?: "boolean";
516
+ } | {
517
+ __t4s_required?: boolean;
518
+ pluginOptions?: any;
519
+ required?: boolean;
520
+ type?: "relation";
521
+ target?: string;
522
+ relation?: "oneToOne";
523
+ } | {
524
+ __t4s_required?: boolean;
525
+ pluginOptions?: any;
526
+ required?: boolean;
527
+ type?: "relation";
528
+ target?: string;
529
+ relation?: "oneToOne";
530
+ inversedBy?: string;
531
+ } | {
532
+ __t4s_required?: boolean;
533
+ pluginOptions?: any;
534
+ required?: boolean;
535
+ type?: "relation";
536
+ target?: string;
537
+ mappedBy?: string;
538
+ relation?: "oneToMany";
539
+ } | {
540
+ __t4s_required?: boolean;
541
+ pluginOptions?: any;
542
+ required?: boolean;
543
+ type?: "relation";
544
+ target?: string;
545
+ relation?: "manyToOne";
546
+ inversedBy?: string;
547
+ } | {
548
+ __t4s_required?: boolean;
549
+ pluginOptions?: any;
550
+ required?: boolean;
551
+ type?: "relation";
552
+ target?: string;
553
+ relation?: "manyToMany";
554
+ inversedBy?: string;
555
+ mappedBy?: string;
556
+ } | {
557
+ __t4s_required?: boolean;
558
+ pluginOptions?: any;
559
+ required?: boolean;
560
+ type?: "relation";
561
+ target?: string;
562
+ relation?: "oneToMany";
563
+ } | {
564
+ type?: "relation";
565
+ relation?: "morphToMany";
566
+ } | {
567
+ __t4s_required?: boolean;
568
+ pluginOptions?: any;
569
+ required?: boolean;
570
+ type?: "component";
571
+ repeatable?: boolean;
572
+ component?: string;
573
+ }>;
574
+ options?: {};
575
+ uid?: string;
576
+ }, {
577
+ collectionName?: string;
578
+ attributes?: Record<string, {
579
+ __t4s_required?: boolean;
580
+ pluginOptions?: any;
581
+ required?: boolean;
582
+ type?: "text" | "string";
583
+ } | {
584
+ __t4s_required?: boolean;
585
+ pluginOptions?: any;
586
+ required?: boolean;
587
+ type?: "email";
588
+ } | {
589
+ __t4s_required?: boolean;
590
+ pluginOptions?: any;
591
+ required?: boolean;
592
+ type?: "uid";
593
+ targetField?: string;
594
+ } | {
595
+ __t4s_required?: boolean;
596
+ pluginOptions?: any;
597
+ required?: boolean;
598
+ type?: "richtext";
599
+ } | {
600
+ __t4s_required?: boolean;
601
+ pluginOptions?: any;
602
+ required?: boolean;
603
+ type?: "json";
604
+ } | {
605
+ __t4s_required?: boolean;
606
+ pluginOptions?: any;
607
+ required?: boolean;
608
+ type?: "password";
609
+ } | {
610
+ __t4s_required?: boolean;
611
+ pluginOptions?: any;
612
+ required?: boolean;
613
+ type?: "integer";
614
+ } | {
615
+ __t4s_required?: boolean;
616
+ pluginOptions?: any;
617
+ required?: boolean;
618
+ type?: "float";
619
+ } | {
620
+ __t4s_required?: boolean;
621
+ pluginOptions?: any;
622
+ required?: boolean;
623
+ type?: "biginteger";
624
+ } | {
625
+ __t4s_required?: boolean;
626
+ pluginOptions?: any;
627
+ required?: boolean;
628
+ type?: "decimal";
629
+ } | {
630
+ __t4s_required?: boolean;
631
+ pluginOptions?: any;
632
+ required?: boolean;
633
+ type?: "enumeration";
634
+ enum?: string[];
635
+ } | {
636
+ __t4s_required?: boolean;
637
+ pluginOptions?: any;
638
+ required?: boolean;
639
+ type?: "date";
640
+ } | {
641
+ __t4s_required?: boolean;
642
+ pluginOptions?: any;
643
+ required?: boolean;
644
+ type?: "datetime";
645
+ } | {
646
+ __t4s_required?: boolean;
647
+ pluginOptions?: any;
648
+ required?: boolean;
649
+ type?: "time";
650
+ } | {
651
+ __t4s_required?: boolean;
652
+ pluginOptions?: any;
653
+ required?: boolean;
654
+ type?: "media";
655
+ multiple?: boolean;
656
+ allowedTypes?: ("images" | "videos" | "audios" | "files")[];
657
+ } | {
658
+ __t4s_required?: boolean;
659
+ pluginOptions?: any;
660
+ required?: boolean;
661
+ type?: "boolean";
662
+ } | {
663
+ __t4s_required?: boolean;
664
+ pluginOptions?: any;
665
+ required?: boolean;
666
+ type?: "relation";
667
+ target?: string;
668
+ relation?: "oneToOne";
669
+ } | {
670
+ __t4s_required?: boolean;
671
+ pluginOptions?: any;
672
+ required?: boolean;
673
+ type?: "relation";
674
+ target?: string;
675
+ relation?: "oneToOne";
676
+ inversedBy?: string;
677
+ } | {
678
+ __t4s_required?: boolean;
679
+ pluginOptions?: any;
680
+ required?: boolean;
681
+ type?: "relation";
682
+ target?: string;
683
+ mappedBy?: string;
684
+ relation?: "oneToMany";
685
+ } | {
686
+ __t4s_required?: boolean;
687
+ pluginOptions?: any;
688
+ required?: boolean;
689
+ type?: "relation";
690
+ target?: string;
691
+ relation?: "manyToOne";
692
+ inversedBy?: string;
693
+ } | {
694
+ __t4s_required?: boolean;
695
+ pluginOptions?: any;
696
+ required?: boolean;
697
+ type?: "relation";
698
+ target?: string;
699
+ relation?: "manyToMany";
700
+ inversedBy?: string;
701
+ mappedBy?: string;
702
+ } | {
703
+ __t4s_required?: boolean;
704
+ pluginOptions?: any;
705
+ required?: boolean;
706
+ type?: "relation";
707
+ target?: string;
708
+ relation?: "oneToMany";
709
+ } | {
710
+ type?: "relation";
711
+ relation?: "morphToMany";
712
+ } | {
713
+ __t4s_required?: boolean;
714
+ pluginOptions?: any;
715
+ required?: boolean;
716
+ type?: "component";
717
+ repeatable?: boolean;
718
+ component?: string;
719
+ }>;
720
+ options?: {};
721
+ uid?: string;
722
+ }>;
723
+ export declare type StrapiComponent = z.infer<typeof strapiComponent>;