@tinacms/schema-tools 0.0.0-00d7b85-20251222014449

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.
@@ -0,0 +1,10 @@
1
+ /**
2
+
3
+ */
4
+ export declare function hasDuplicates<T = any>(array?: T[]): boolean;
5
+ /**
6
+ *
7
+ * @param array
8
+ * @returns False if the array is undefined or has no duplicates.
9
+ */
10
+ export declare function findDuplicates<T = any>(array?: T[] | undefined): undefined | string;
@@ -0,0 +1,9 @@
1
+ /**
2
+
3
+ */
4
+ export * from './validate';
5
+ export * from './lastItem';
6
+ export * from './namer';
7
+ export * from './sequential';
8
+ export * from './hasDuplicates';
9
+ export * from './parseURL';
@@ -0,0 +1,4 @@
1
+ /**
2
+
3
+ */
4
+ export declare const lastItem: (arr: (number | string)[]) => string | number;
@@ -0,0 +1,19 @@
1
+ /**
2
+
3
+ */
4
+ export declare const NAMER: {
5
+ dataFilterTypeNameOn: (namespace: string[]) => string;
6
+ dataFilterTypeName: (namespace: string[]) => string;
7
+ dataMutationTypeNameOn: (namespace: string[]) => string;
8
+ dataMutationTypeName: (namespace: string[]) => string;
9
+ updateName: (namespace: string[]) => string;
10
+ createName: (namespace: string[]) => string;
11
+ queryName: (namespace: string[]) => string;
12
+ generateQueryListName: (namespace: string[]) => string;
13
+ fragmentName: (namespace: string[]) => string;
14
+ collectionTypeName: (namespace: string[]) => string;
15
+ documentTypeName: (namespace: string[]) => string;
16
+ dataTypeName: (namespace: string[]) => string;
17
+ referenceConnectionType: (namespace: string[]) => string;
18
+ referenceConnectionEdgesTypeName: (namespace: string[]) => string;
19
+ };
@@ -0,0 +1,9 @@
1
+ export declare const normalizePath: (filepath: string) => string;
2
+ /**
3
+ * Returns the given path such that:
4
+ * - The path separator is converted from '\' to '/' if necessary.
5
+ * - Duplicate '/' are removed
6
+ * - Leading and trailing '/' are cleared
7
+ * @param filepath Filepath to convert to its canonical form
8
+ */
9
+ export declare const canonicalPath: (filepath: string) => string;
@@ -0,0 +1,10 @@
1
+ /**
2
+
3
+ */
4
+ export declare const TINA_HOST = "content.tinajs.io";
5
+ export declare const parseURL: (url: string) => {
6
+ branch: string | null;
7
+ isLocalClient: boolean;
8
+ clientId: string | null;
9
+ host: string | null;
10
+ };
@@ -0,0 +1,7 @@
1
+ /**
2
+
3
+ */
4
+ import type { ZodError } from 'zod';
5
+ export declare const parseZodError: ({ zodError }: {
6
+ zodError: ZodError;
7
+ }) => string[];
@@ -0,0 +1,14 @@
1
+ /**
2
+
3
+ */
4
+ /**
5
+ * Iterate through an array of promises sequentially, ensuring the order
6
+ * is preserved.
7
+ *
8
+ * ```js
9
+ * await sequential(templates, async (template) => {
10
+ * await doSomething(template)
11
+ * })
12
+ * ```
13
+ */
14
+ export declare const sequential: <A, B>(items: A[] | undefined, callback: (args: A, idx: number) => Promise<B>) => Promise<B[]>;
@@ -0,0 +1,6 @@
1
+ /**
2
+
3
+ */
4
+ import * as yup from 'yup';
5
+ import type { AnySchema } from 'yup';
6
+ export declare function assertShape<T>(value: unknown, yupSchema: (args: typeof yup) => AnySchema, errorMessage?: string): asserts value is T;
@@ -0,0 +1,3 @@
1
+ import { z } from 'zod';
2
+ import type { TinaField as TinaFieldType } from '../types/index';
3
+ export declare const TinaFieldZod: z.ZodType<TinaFieldType>;
@@ -0,0 +1,8 @@
1
+ import type { Schema } from '../types/index';
2
+ export { validateTinaCloudSchemaConfig } from './tinaCloudSchemaConfig';
3
+ export declare class TinaSchemaValidationError extends Error {
4
+ constructor(message: string);
5
+ }
6
+ export declare const validateSchema: ({ schema }: {
7
+ schema: Schema;
8
+ }) => void;
@@ -0,0 +1,5 @@
1
+ /**
2
+
3
+ */
4
+ import { z } from 'zod';
5
+ export declare const name: z.ZodEffects<z.ZodString, string, string>;
@@ -0,0 +1,552 @@
1
+ import { z } from 'zod';
2
+ export declare const CollectionBaseSchema: z.ZodObject<{
3
+ label: z.ZodOptional<z.ZodString>;
4
+ name: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
5
+ path: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
6
+ format: z.ZodOptional<z.ZodEnum<["mdx", "md", "markdown", "json", "yaml", "yml", "toml"]>>;
7
+ isAuthCollection: z.ZodOptional<z.ZodBoolean>;
8
+ isDetached: z.ZodOptional<z.ZodBoolean>;
9
+ }, "strip", z.ZodTypeAny, {
10
+ name?: string;
11
+ label?: string;
12
+ path?: string;
13
+ format?: "mdx" | "md" | "markdown" | "json" | "yaml" | "yml" | "toml";
14
+ isDetached?: boolean;
15
+ isAuthCollection?: boolean;
16
+ }, {
17
+ name?: string;
18
+ label?: string;
19
+ path?: string;
20
+ format?: "mdx" | "md" | "markdown" | "json" | "yaml" | "yml" | "toml";
21
+ isDetached?: boolean;
22
+ isAuthCollection?: boolean;
23
+ }>;
24
+ export declare const TinaCloudSchemaZod: z.ZodEffects<z.ZodObject<{
25
+ collections: z.ZodArray<z.ZodEffects<z.ZodObject<{
26
+ label: z.ZodOptional<z.ZodString>;
27
+ name: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
28
+ path: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
29
+ format: z.ZodOptional<z.ZodEnum<["mdx", "md", "markdown", "json", "yaml", "yml", "toml"]>>;
30
+ isAuthCollection: z.ZodOptional<z.ZodBoolean>;
31
+ isDetached: z.ZodOptional<z.ZodBoolean>;
32
+ } & {
33
+ fields: z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodOptional<z.ZodArray<z.ZodType<import("..").TinaField, z.ZodTypeDef, import("..").TinaField>, "many">>, import("..").TinaField[], import("..").TinaField[]>, import("..").TinaField[], import("..").TinaField[]>, import("..").TinaField[], import("..").TinaField[]>, import("..").TinaField[], import("..").TinaField[]>;
34
+ templates: z.ZodEffects<z.ZodOptional<z.ZodArray<z.ZodEffects<z.ZodObject<{
35
+ label: z.ZodString;
36
+ name: z.ZodEffects<z.ZodString, string, string>;
37
+ fields: z.ZodArray<z.ZodType<import("..").TinaField, z.ZodTypeDef, import("..").TinaField>, "many">;
38
+ }, "strip", z.ZodTypeAny, {
39
+ name?: string;
40
+ fields?: import("..").TinaField[];
41
+ label?: string;
42
+ }, {
43
+ name?: string;
44
+ fields?: import("..").TinaField[];
45
+ label?: string;
46
+ }>, {
47
+ name?: string;
48
+ fields?: import("..").TinaField[];
49
+ label?: string;
50
+ }, {
51
+ name?: string;
52
+ fields?: import("..").TinaField[];
53
+ label?: string;
54
+ }>, "many">>, {
55
+ name?: string;
56
+ fields?: import("..").TinaField[];
57
+ label?: string;
58
+ }[], {
59
+ name?: string;
60
+ fields?: import("..").TinaField[];
61
+ label?: string;
62
+ }[]>;
63
+ }, "strip", z.ZodTypeAny, {
64
+ name?: string;
65
+ templates?: {
66
+ name?: string;
67
+ fields?: import("..").TinaField[];
68
+ label?: string;
69
+ }[];
70
+ fields?: import("..").TinaField[];
71
+ label?: string;
72
+ path?: string;
73
+ format?: "mdx" | "md" | "markdown" | "json" | "yaml" | "yml" | "toml";
74
+ isDetached?: boolean;
75
+ isAuthCollection?: boolean;
76
+ }, {
77
+ name?: string;
78
+ templates?: {
79
+ name?: string;
80
+ fields?: import("..").TinaField[];
81
+ label?: string;
82
+ }[];
83
+ fields?: import("..").TinaField[];
84
+ label?: string;
85
+ path?: string;
86
+ format?: "mdx" | "md" | "markdown" | "json" | "yaml" | "yml" | "toml";
87
+ isDetached?: boolean;
88
+ isAuthCollection?: boolean;
89
+ }>, {
90
+ name?: string;
91
+ templates?: {
92
+ name?: string;
93
+ fields?: import("..").TinaField[];
94
+ label?: string;
95
+ }[];
96
+ fields?: import("..").TinaField[];
97
+ label?: string;
98
+ path?: string;
99
+ format?: "mdx" | "md" | "markdown" | "json" | "yaml" | "yml" | "toml";
100
+ isDetached?: boolean;
101
+ isAuthCollection?: boolean;
102
+ }, {
103
+ name?: string;
104
+ templates?: {
105
+ name?: string;
106
+ fields?: import("..").TinaField[];
107
+ label?: string;
108
+ }[];
109
+ fields?: import("..").TinaField[];
110
+ label?: string;
111
+ path?: string;
112
+ format?: "mdx" | "md" | "markdown" | "json" | "yaml" | "yml" | "toml";
113
+ isDetached?: boolean;
114
+ isAuthCollection?: boolean;
115
+ }>, "many">;
116
+ config: z.ZodOptional<z.ZodObject<{
117
+ client: z.ZodOptional<z.ZodObject<{
118
+ referenceDepth: z.ZodOptional<z.ZodNumber>;
119
+ }, "strip", z.ZodTypeAny, {
120
+ referenceDepth?: number;
121
+ }, {
122
+ referenceDepth?: number;
123
+ }>>;
124
+ media: z.ZodOptional<z.ZodObject<{
125
+ tina: z.ZodOptional<z.ZodObject<{
126
+ publicFolder: z.ZodString;
127
+ mediaRoot: z.ZodString;
128
+ static: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
129
+ }, "strict", z.ZodTypeAny, {
130
+ publicFolder?: string;
131
+ mediaRoot?: string;
132
+ static?: boolean;
133
+ }, {
134
+ publicFolder?: string;
135
+ mediaRoot?: string;
136
+ static?: boolean;
137
+ }>>;
138
+ loadCustomStore: z.ZodOptional<z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnknown>>;
139
+ }, "strip", z.ZodTypeAny, {
140
+ tina?: {
141
+ publicFolder?: string;
142
+ mediaRoot?: string;
143
+ static?: boolean;
144
+ };
145
+ loadCustomStore?: (...args: unknown[]) => unknown;
146
+ }, {
147
+ tina?: {
148
+ publicFolder?: string;
149
+ mediaRoot?: string;
150
+ static?: boolean;
151
+ };
152
+ loadCustomStore?: (...args: unknown[]) => unknown;
153
+ }>>;
154
+ search: z.ZodOptional<z.ZodObject<{
155
+ tina: z.ZodOptional<z.ZodObject<{
156
+ indexerToken: z.ZodOptional<z.ZodString>;
157
+ stopwordLanguages: z.ZodOptional<z.ZodArray<z.ZodString, "atleastone">>;
158
+ tokenSplitRegex: z.ZodOptional<z.ZodString>;
159
+ fuzzyEnabled: z.ZodOptional<z.ZodBoolean>;
160
+ fuzzyOptions: z.ZodOptional<z.ZodObject<{
161
+ maxDistance: z.ZodOptional<z.ZodNumber>;
162
+ minSimilarity: z.ZodOptional<z.ZodNumber>;
163
+ maxResults: z.ZodOptional<z.ZodNumber>;
164
+ useTranspositions: z.ZodOptional<z.ZodBoolean>;
165
+ caseSensitive: z.ZodOptional<z.ZodBoolean>;
166
+ }, "strict", z.ZodTypeAny, {
167
+ maxDistance?: number;
168
+ minSimilarity?: number;
169
+ maxResults?: number;
170
+ useTranspositions?: boolean;
171
+ caseSensitive?: boolean;
172
+ }, {
173
+ maxDistance?: number;
174
+ minSimilarity?: number;
175
+ maxResults?: number;
176
+ useTranspositions?: boolean;
177
+ caseSensitive?: boolean;
178
+ }>>;
179
+ }, "strict", z.ZodTypeAny, {
180
+ indexerToken?: string;
181
+ stopwordLanguages?: [string, ...string[]];
182
+ tokenSplitRegex?: string;
183
+ fuzzyEnabled?: boolean;
184
+ fuzzyOptions?: {
185
+ maxDistance?: number;
186
+ minSimilarity?: number;
187
+ maxResults?: number;
188
+ useTranspositions?: boolean;
189
+ caseSensitive?: boolean;
190
+ };
191
+ }, {
192
+ indexerToken?: string;
193
+ stopwordLanguages?: [string, ...string[]];
194
+ tokenSplitRegex?: string;
195
+ fuzzyEnabled?: boolean;
196
+ fuzzyOptions?: {
197
+ maxDistance?: number;
198
+ minSimilarity?: number;
199
+ maxResults?: number;
200
+ useTranspositions?: boolean;
201
+ caseSensitive?: boolean;
202
+ };
203
+ }>>;
204
+ searchClient: z.ZodOptional<z.ZodAny>;
205
+ indexBatchSize: z.ZodOptional<z.ZodNumber>;
206
+ maxSearchIndexFieldLength: z.ZodOptional<z.ZodNumber>;
207
+ }, "strip", z.ZodTypeAny, {
208
+ maxSearchIndexFieldLength?: number;
209
+ tina?: {
210
+ indexerToken?: string;
211
+ stopwordLanguages?: [string, ...string[]];
212
+ tokenSplitRegex?: string;
213
+ fuzzyEnabled?: boolean;
214
+ fuzzyOptions?: {
215
+ maxDistance?: number;
216
+ minSimilarity?: number;
217
+ maxResults?: number;
218
+ useTranspositions?: boolean;
219
+ caseSensitive?: boolean;
220
+ };
221
+ };
222
+ searchClient?: any;
223
+ indexBatchSize?: number;
224
+ }, {
225
+ maxSearchIndexFieldLength?: number;
226
+ tina?: {
227
+ indexerToken?: string;
228
+ stopwordLanguages?: [string, ...string[]];
229
+ tokenSplitRegex?: string;
230
+ fuzzyEnabled?: boolean;
231
+ fuzzyOptions?: {
232
+ maxDistance?: number;
233
+ minSimilarity?: number;
234
+ maxResults?: number;
235
+ useTranspositions?: boolean;
236
+ caseSensitive?: boolean;
237
+ };
238
+ };
239
+ searchClient?: any;
240
+ indexBatchSize?: number;
241
+ }>>;
242
+ ui: z.ZodOptional<z.ZodObject<{
243
+ previewUrl: z.ZodOptional<z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnknown>>;
244
+ optOutOfUpdateCheck: z.ZodOptional<z.ZodBoolean>;
245
+ regexValidation: z.ZodOptional<z.ZodObject<{
246
+ folderNameRegex: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
247
+ }, "strip", z.ZodTypeAny, {
248
+ folderNameRegex?: string;
249
+ }, {
250
+ folderNameRegex?: string;
251
+ }>>;
252
+ }, "strip", z.ZodTypeAny, {
253
+ previewUrl?: (...args: unknown[]) => unknown;
254
+ optOutOfUpdateCheck?: boolean;
255
+ regexValidation?: {
256
+ folderNameRegex?: string;
257
+ };
258
+ }, {
259
+ previewUrl?: (...args: unknown[]) => unknown;
260
+ optOutOfUpdateCheck?: boolean;
261
+ regexValidation?: {
262
+ folderNameRegex?: string;
263
+ };
264
+ }>>;
265
+ }, "strip", z.ZodTypeAny, {
266
+ search?: {
267
+ maxSearchIndexFieldLength?: number;
268
+ tina?: {
269
+ indexerToken?: string;
270
+ stopwordLanguages?: [string, ...string[]];
271
+ tokenSplitRegex?: string;
272
+ fuzzyEnabled?: boolean;
273
+ fuzzyOptions?: {
274
+ maxDistance?: number;
275
+ minSimilarity?: number;
276
+ maxResults?: number;
277
+ useTranspositions?: boolean;
278
+ caseSensitive?: boolean;
279
+ };
280
+ };
281
+ searchClient?: any;
282
+ indexBatchSize?: number;
283
+ };
284
+ ui?: {
285
+ previewUrl?: (...args: unknown[]) => unknown;
286
+ optOutOfUpdateCheck?: boolean;
287
+ regexValidation?: {
288
+ folderNameRegex?: string;
289
+ };
290
+ };
291
+ client?: {
292
+ referenceDepth?: number;
293
+ };
294
+ media?: {
295
+ tina?: {
296
+ publicFolder?: string;
297
+ mediaRoot?: string;
298
+ static?: boolean;
299
+ };
300
+ loadCustomStore?: (...args: unknown[]) => unknown;
301
+ };
302
+ }, {
303
+ search?: {
304
+ maxSearchIndexFieldLength?: number;
305
+ tina?: {
306
+ indexerToken?: string;
307
+ stopwordLanguages?: [string, ...string[]];
308
+ tokenSplitRegex?: string;
309
+ fuzzyEnabled?: boolean;
310
+ fuzzyOptions?: {
311
+ maxDistance?: number;
312
+ minSimilarity?: number;
313
+ maxResults?: number;
314
+ useTranspositions?: boolean;
315
+ caseSensitive?: boolean;
316
+ };
317
+ };
318
+ searchClient?: any;
319
+ indexBatchSize?: number;
320
+ };
321
+ ui?: {
322
+ previewUrl?: (...args: unknown[]) => unknown;
323
+ optOutOfUpdateCheck?: boolean;
324
+ regexValidation?: {
325
+ folderNameRegex?: string;
326
+ };
327
+ };
328
+ client?: {
329
+ referenceDepth?: number;
330
+ };
331
+ media?: {
332
+ tina?: {
333
+ publicFolder?: string;
334
+ mediaRoot?: string;
335
+ static?: boolean;
336
+ };
337
+ loadCustomStore?: (...args: unknown[]) => unknown;
338
+ };
339
+ }>>;
340
+ }, "strip", z.ZodTypeAny, {
341
+ collections?: {
342
+ name?: string;
343
+ templates?: {
344
+ name?: string;
345
+ fields?: import("..").TinaField[];
346
+ label?: string;
347
+ }[];
348
+ fields?: import("..").TinaField[];
349
+ label?: string;
350
+ path?: string;
351
+ format?: "mdx" | "md" | "markdown" | "json" | "yaml" | "yml" | "toml";
352
+ isDetached?: boolean;
353
+ isAuthCollection?: boolean;
354
+ }[];
355
+ config?: {
356
+ search?: {
357
+ maxSearchIndexFieldLength?: number;
358
+ tina?: {
359
+ indexerToken?: string;
360
+ stopwordLanguages?: [string, ...string[]];
361
+ tokenSplitRegex?: string;
362
+ fuzzyEnabled?: boolean;
363
+ fuzzyOptions?: {
364
+ maxDistance?: number;
365
+ minSimilarity?: number;
366
+ maxResults?: number;
367
+ useTranspositions?: boolean;
368
+ caseSensitive?: boolean;
369
+ };
370
+ };
371
+ searchClient?: any;
372
+ indexBatchSize?: number;
373
+ };
374
+ ui?: {
375
+ previewUrl?: (...args: unknown[]) => unknown;
376
+ optOutOfUpdateCheck?: boolean;
377
+ regexValidation?: {
378
+ folderNameRegex?: string;
379
+ };
380
+ };
381
+ client?: {
382
+ referenceDepth?: number;
383
+ };
384
+ media?: {
385
+ tina?: {
386
+ publicFolder?: string;
387
+ mediaRoot?: string;
388
+ static?: boolean;
389
+ };
390
+ loadCustomStore?: (...args: unknown[]) => unknown;
391
+ };
392
+ };
393
+ }, {
394
+ collections?: {
395
+ name?: string;
396
+ templates?: {
397
+ name?: string;
398
+ fields?: import("..").TinaField[];
399
+ label?: string;
400
+ }[];
401
+ fields?: import("..").TinaField[];
402
+ label?: string;
403
+ path?: string;
404
+ format?: "mdx" | "md" | "markdown" | "json" | "yaml" | "yml" | "toml";
405
+ isDetached?: boolean;
406
+ isAuthCollection?: boolean;
407
+ }[];
408
+ config?: {
409
+ search?: {
410
+ maxSearchIndexFieldLength?: number;
411
+ tina?: {
412
+ indexerToken?: string;
413
+ stopwordLanguages?: [string, ...string[]];
414
+ tokenSplitRegex?: string;
415
+ fuzzyEnabled?: boolean;
416
+ fuzzyOptions?: {
417
+ maxDistance?: number;
418
+ minSimilarity?: number;
419
+ maxResults?: number;
420
+ useTranspositions?: boolean;
421
+ caseSensitive?: boolean;
422
+ };
423
+ };
424
+ searchClient?: any;
425
+ indexBatchSize?: number;
426
+ };
427
+ ui?: {
428
+ previewUrl?: (...args: unknown[]) => unknown;
429
+ optOutOfUpdateCheck?: boolean;
430
+ regexValidation?: {
431
+ folderNameRegex?: string;
432
+ };
433
+ };
434
+ client?: {
435
+ referenceDepth?: number;
436
+ };
437
+ media?: {
438
+ tina?: {
439
+ publicFolder?: string;
440
+ mediaRoot?: string;
441
+ static?: boolean;
442
+ };
443
+ loadCustomStore?: (...args: unknown[]) => unknown;
444
+ };
445
+ };
446
+ }>, {
447
+ collections?: {
448
+ name?: string;
449
+ templates?: {
450
+ name?: string;
451
+ fields?: import("..").TinaField[];
452
+ label?: string;
453
+ }[];
454
+ fields?: import("..").TinaField[];
455
+ label?: string;
456
+ path?: string;
457
+ format?: "mdx" | "md" | "markdown" | "json" | "yaml" | "yml" | "toml";
458
+ isDetached?: boolean;
459
+ isAuthCollection?: boolean;
460
+ }[];
461
+ config?: {
462
+ search?: {
463
+ maxSearchIndexFieldLength?: number;
464
+ tina?: {
465
+ indexerToken?: string;
466
+ stopwordLanguages?: [string, ...string[]];
467
+ tokenSplitRegex?: string;
468
+ fuzzyEnabled?: boolean;
469
+ fuzzyOptions?: {
470
+ maxDistance?: number;
471
+ minSimilarity?: number;
472
+ maxResults?: number;
473
+ useTranspositions?: boolean;
474
+ caseSensitive?: boolean;
475
+ };
476
+ };
477
+ searchClient?: any;
478
+ indexBatchSize?: number;
479
+ };
480
+ ui?: {
481
+ previewUrl?: (...args: unknown[]) => unknown;
482
+ optOutOfUpdateCheck?: boolean;
483
+ regexValidation?: {
484
+ folderNameRegex?: string;
485
+ };
486
+ };
487
+ client?: {
488
+ referenceDepth?: number;
489
+ };
490
+ media?: {
491
+ tina?: {
492
+ publicFolder?: string;
493
+ mediaRoot?: string;
494
+ static?: boolean;
495
+ };
496
+ loadCustomStore?: (...args: unknown[]) => unknown;
497
+ };
498
+ };
499
+ }, {
500
+ collections?: {
501
+ name?: string;
502
+ templates?: {
503
+ name?: string;
504
+ fields?: import("..").TinaField[];
505
+ label?: string;
506
+ }[];
507
+ fields?: import("..").TinaField[];
508
+ label?: string;
509
+ path?: string;
510
+ format?: "mdx" | "md" | "markdown" | "json" | "yaml" | "yml" | "toml";
511
+ isDetached?: boolean;
512
+ isAuthCollection?: boolean;
513
+ }[];
514
+ config?: {
515
+ search?: {
516
+ maxSearchIndexFieldLength?: number;
517
+ tina?: {
518
+ indexerToken?: string;
519
+ stopwordLanguages?: [string, ...string[]];
520
+ tokenSplitRegex?: string;
521
+ fuzzyEnabled?: boolean;
522
+ fuzzyOptions?: {
523
+ maxDistance?: number;
524
+ minSimilarity?: number;
525
+ maxResults?: number;
526
+ useTranspositions?: boolean;
527
+ caseSensitive?: boolean;
528
+ };
529
+ };
530
+ searchClient?: any;
531
+ indexBatchSize?: number;
532
+ };
533
+ ui?: {
534
+ previewUrl?: (...args: unknown[]) => unknown;
535
+ optOutOfUpdateCheck?: boolean;
536
+ regexValidation?: {
537
+ folderNameRegex?: string;
538
+ };
539
+ };
540
+ client?: {
541
+ referenceDepth?: number;
542
+ };
543
+ media?: {
544
+ tina?: {
545
+ publicFolder?: string;
546
+ mediaRoot?: string;
547
+ static?: boolean;
548
+ };
549
+ loadCustomStore?: (...args: unknown[]) => unknown;
550
+ };
551
+ };
552
+ }>;