@pas7/llm-seo 0.1.6

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,824 @@
1
+ import { z } from 'zod';
2
+
3
+ /**
4
+ * Configuration schema for llm-seo.
5
+ * Full LlmsSeoConfig schema with all required fields and validation rules.
6
+ */
7
+
8
+ /**
9
+ * Schema for site configuration.
10
+ */
11
+ declare const SiteConfigSchema: z.ZodObject<{
12
+ /** Site base URL - must be valid URL with http/https, no trailing slash */
13
+ baseUrl: z.ZodEffects<z.ZodString, string, string>;
14
+ /** Default locale - must be in locales if provided */
15
+ defaultLocale: z.ZodOptional<z.ZodString>;
16
+ }, "strip", z.ZodTypeAny, {
17
+ baseUrl: string;
18
+ defaultLocale?: string | undefined;
19
+ }, {
20
+ baseUrl: string;
21
+ defaultLocale?: string | undefined;
22
+ }>;
23
+ /**
24
+ * Type for site configuration.
25
+ */
26
+ type SiteConfig = z.infer<typeof SiteConfigSchema>;
27
+ /**
28
+ * Schema for brand configuration.
29
+ */
30
+ declare const BrandConfigSchema: z.ZodObject<{
31
+ /** Brand name - required */
32
+ name: z.ZodString;
33
+ /** Optional tagline */
34
+ tagline: z.ZodOptional<z.ZodString>;
35
+ /** Optional description */
36
+ description: z.ZodOptional<z.ZodString>;
37
+ /** Optional organization name */
38
+ org: z.ZodOptional<z.ZodString>;
39
+ /** Supported locales - e.g., ["en", "uk", "de"] */
40
+ locales: z.ZodArray<z.ZodString, "many">;
41
+ }, "strip", z.ZodTypeAny, {
42
+ locales: string[];
43
+ name: string;
44
+ description?: string | undefined;
45
+ tagline?: string | undefined;
46
+ org?: string | undefined;
47
+ }, {
48
+ locales: string[];
49
+ name: string;
50
+ description?: string | undefined;
51
+ tagline?: string | undefined;
52
+ org?: string | undefined;
53
+ }>;
54
+ /**
55
+ * Type for brand configuration.
56
+ */
57
+ type BrandConfig = z.infer<typeof BrandConfigSchema>;
58
+ /**
59
+ * Schema for sections configuration.
60
+ */
61
+ declare const SectionsConfigSchema: z.ZodObject<{
62
+ /** Hub paths - e.g., ["/services", "/blog", "/projects"] */
63
+ hubs: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
64
+ }, "strip", z.ZodTypeAny, {
65
+ hubs: string[];
66
+ }, {
67
+ hubs?: string[] | undefined;
68
+ }>;
69
+ /**
70
+ * Type for sections configuration.
71
+ */
72
+ type SectionsConfig = z.infer<typeof SectionsConfigSchema>;
73
+ /**
74
+ * Schema for social links configuration.
75
+ */
76
+ declare const SocialConfigSchema: z.ZodObject<{
77
+ /** Twitter handle or URL */
78
+ twitter: z.ZodOptional<z.ZodString>;
79
+ /** LinkedIn URL */
80
+ linkedin: z.ZodOptional<z.ZodString>;
81
+ /** GitHub URL */
82
+ github: z.ZodOptional<z.ZodString>;
83
+ }, "strip", z.ZodTypeAny, {
84
+ twitter?: string | undefined;
85
+ linkedin?: string | undefined;
86
+ github?: string | undefined;
87
+ }, {
88
+ twitter?: string | undefined;
89
+ linkedin?: string | undefined;
90
+ github?: string | undefined;
91
+ }>;
92
+ /**
93
+ * Type for social links configuration.
94
+ */
95
+ type SocialConfig = z.infer<typeof SocialConfigSchema>;
96
+ /**
97
+ * Schema for contact configuration.
98
+ * At least email or one social field required.
99
+ */
100
+ declare const ContactConfigSchema: z.ZodObject<{
101
+ /** Contact email */
102
+ email: z.ZodOptional<z.ZodString>;
103
+ /** Social links */
104
+ social: z.ZodOptional<z.ZodObject<{
105
+ /** Twitter handle or URL */
106
+ twitter: z.ZodOptional<z.ZodString>;
107
+ /** LinkedIn URL */
108
+ linkedin: z.ZodOptional<z.ZodString>;
109
+ /** GitHub URL */
110
+ github: z.ZodOptional<z.ZodString>;
111
+ }, "strip", z.ZodTypeAny, {
112
+ twitter?: string | undefined;
113
+ linkedin?: string | undefined;
114
+ github?: string | undefined;
115
+ }, {
116
+ twitter?: string | undefined;
117
+ linkedin?: string | undefined;
118
+ github?: string | undefined;
119
+ }>>;
120
+ /** Phone number */
121
+ phone: z.ZodOptional<z.ZodString>;
122
+ }, "strip", z.ZodTypeAny, {
123
+ email?: string | undefined;
124
+ social?: {
125
+ twitter?: string | undefined;
126
+ linkedin?: string | undefined;
127
+ github?: string | undefined;
128
+ } | undefined;
129
+ phone?: string | undefined;
130
+ }, {
131
+ email?: string | undefined;
132
+ social?: {
133
+ twitter?: string | undefined;
134
+ linkedin?: string | undefined;
135
+ github?: string | undefined;
136
+ } | undefined;
137
+ phone?: string | undefined;
138
+ }>;
139
+ /**
140
+ * Type for contact configuration.
141
+ */
142
+ type ContactConfig = z.infer<typeof ContactConfigSchema>;
143
+ /**
144
+ * Schema for restricted claims configuration.
145
+ */
146
+ declare const RestrictedClaimsConfigSchema: z.ZodObject<{
147
+ /** Enable restricted claims checking */
148
+ enable: z.ZodBoolean;
149
+ /** Forbidden words/phrases - e.g., ["best", "#1", "guaranteed"] */
150
+ forbidden: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
151
+ /** Allowlisted phrases */
152
+ whitelist: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
153
+ }, "strip", z.ZodTypeAny, {
154
+ enable: boolean;
155
+ forbidden?: string[] | undefined;
156
+ whitelist?: string[] | undefined;
157
+ }, {
158
+ enable: boolean;
159
+ forbidden?: string[] | undefined;
160
+ whitelist?: string[] | undefined;
161
+ }>;
162
+ /**
163
+ * Type for restricted claims configuration.
164
+ */
165
+ type RestrictedClaimsConfig = z.infer<typeof RestrictedClaimsConfigSchema>;
166
+ /**
167
+ * Schema for policy configuration.
168
+ */
169
+ declare const PolicyConfigSchema: z.ZodObject<{
170
+ /** Geographic policy statement */
171
+ geoPolicy: z.ZodOptional<z.ZodString>;
172
+ /** Citation rules */
173
+ citationRules: z.ZodOptional<z.ZodString>;
174
+ /** Restricted claims configuration */
175
+ restrictedClaims: z.ZodOptional<z.ZodObject<{
176
+ /** Enable restricted claims checking */
177
+ enable: z.ZodBoolean;
178
+ /** Forbidden words/phrases - e.g., ["best", "#1", "guaranteed"] */
179
+ forbidden: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
180
+ /** Allowlisted phrases */
181
+ whitelist: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
182
+ }, "strip", z.ZodTypeAny, {
183
+ enable: boolean;
184
+ forbidden?: string[] | undefined;
185
+ whitelist?: string[] | undefined;
186
+ }, {
187
+ enable: boolean;
188
+ forbidden?: string[] | undefined;
189
+ whitelist?: string[] | undefined;
190
+ }>>;
191
+ }, "strip", z.ZodTypeAny, {
192
+ geoPolicy?: string | undefined;
193
+ citationRules?: string | undefined;
194
+ restrictedClaims?: {
195
+ enable: boolean;
196
+ forbidden?: string[] | undefined;
197
+ whitelist?: string[] | undefined;
198
+ } | undefined;
199
+ }, {
200
+ geoPolicy?: string | undefined;
201
+ citationRules?: string | undefined;
202
+ restrictedClaims?: {
203
+ enable: boolean;
204
+ forbidden?: string[] | undefined;
205
+ whitelist?: string[] | undefined;
206
+ } | undefined;
207
+ }>;
208
+ /**
209
+ * Type for policy configuration.
210
+ */
211
+ type PolicyConfig = z.infer<typeof PolicyConfigSchema>;
212
+ /**
213
+ * Schema for booking configuration.
214
+ */
215
+ declare const BookingConfigSchema: z.ZodObject<{
216
+ /** Booking URL - e.g., Cal.com link */
217
+ url: z.ZodOptional<z.ZodString>;
218
+ /** Booking label - e.g., "Book a consultation" */
219
+ label: z.ZodOptional<z.ZodString>;
220
+ }, "strip", z.ZodTypeAny, {
221
+ url?: string | undefined;
222
+ label?: string | undefined;
223
+ }, {
224
+ url?: string | undefined;
225
+ label?: string | undefined;
226
+ }>;
227
+ /**
228
+ * Type for booking configuration.
229
+ */
230
+ type BookingConfig = z.infer<typeof BookingConfigSchema>;
231
+ /**
232
+ * Schema for machine hints configuration.
233
+ */
234
+ declare const MachineHintsConfigSchema: z.ZodObject<{
235
+ /** URL to robots.txt */
236
+ robots: z.ZodOptional<z.ZodString>;
237
+ /** URL to sitemap.xml */
238
+ sitemap: z.ZodOptional<z.ZodString>;
239
+ /** URL to llms.txt */
240
+ llmsTxt: z.ZodOptional<z.ZodString>;
241
+ /** URL to llms-full.txt */
242
+ llmsFullTxt: z.ZodOptional<z.ZodString>;
243
+ }, "strip", z.ZodTypeAny, {
244
+ robots?: string | undefined;
245
+ sitemap?: string | undefined;
246
+ llmsTxt?: string | undefined;
247
+ llmsFullTxt?: string | undefined;
248
+ }, {
249
+ robots?: string | undefined;
250
+ sitemap?: string | undefined;
251
+ llmsTxt?: string | undefined;
252
+ llmsFullTxt?: string | undefined;
253
+ }>;
254
+ /**
255
+ * Type for machine hints configuration.
256
+ */
257
+ type MachineHintsConfig = z.infer<typeof MachineHintsConfigSchema>;
258
+ /**
259
+ * Schema for output paths configuration.
260
+ */
261
+ declare const OutputPathsConfigSchema: z.ZodObject<{
262
+ /** Path to llms.txt output - e.g., "public/llms.txt" */
263
+ llmsTxt: z.ZodString;
264
+ /** Path to llms-full.txt output - e.g., "public/llms-full.txt" */
265
+ llmsFullTxt: z.ZodString;
266
+ /** Path to citations.json output - e.g., "public/citations.json" */
267
+ citations: z.ZodOptional<z.ZodString>;
268
+ }, "strip", z.ZodTypeAny, {
269
+ llmsTxt: string;
270
+ llmsFullTxt: string;
271
+ citations?: string | undefined;
272
+ }, {
273
+ llmsTxt: string;
274
+ llmsFullTxt: string;
275
+ citations?: string | undefined;
276
+ }>;
277
+ /**
278
+ * Type for output paths configuration.
279
+ */
280
+ type OutputPathsConfig = z.infer<typeof OutputPathsConfigSchema>;
281
+ /**
282
+ * Schema for output configuration.
283
+ */
284
+ declare const OutputConfigSchema: z.ZodObject<{
285
+ /** Output paths */
286
+ paths: z.ZodObject<{
287
+ /** Path to llms.txt output - e.g., "public/llms.txt" */
288
+ llmsTxt: z.ZodString;
289
+ /** Path to llms-full.txt output - e.g., "public/llms-full.txt" */
290
+ llmsFullTxt: z.ZodString;
291
+ /** Path to citations.json output - e.g., "public/citations.json" */
292
+ citations: z.ZodOptional<z.ZodString>;
293
+ }, "strip", z.ZodTypeAny, {
294
+ llmsTxt: string;
295
+ llmsFullTxt: string;
296
+ citations?: string | undefined;
297
+ }, {
298
+ llmsTxt: string;
299
+ llmsFullTxt: string;
300
+ citations?: string | undefined;
301
+ }>;
302
+ }, "strip", z.ZodTypeAny, {
303
+ paths: {
304
+ llmsTxt: string;
305
+ llmsFullTxt: string;
306
+ citations?: string | undefined;
307
+ };
308
+ }, {
309
+ paths: {
310
+ llmsTxt: string;
311
+ llmsFullTxt: string;
312
+ citations?: string | undefined;
313
+ };
314
+ }>;
315
+ /**
316
+ * Type for output configuration.
317
+ */
318
+ type OutputConfig = z.infer<typeof OutputConfigSchema>;
319
+ /**
320
+ * Schema for format configuration.
321
+ */
322
+ declare const FormatConfigSchema: z.ZodObject<{
323
+ /** Trailing slash handling */
324
+ trailingSlash: z.ZodDefault<z.ZodEnum<["always", "never", "preserve"]>>;
325
+ /** Line endings format */
326
+ lineEndings: z.ZodDefault<z.ZodEnum<["lf", "crlf"]>>;
327
+ /** Locale URL strategy */
328
+ localeStrategy: z.ZodOptional<z.ZodEnum<["prefix", "subdomain", "none"]>>;
329
+ }, "strip", z.ZodTypeAny, {
330
+ trailingSlash: "always" | "never" | "preserve";
331
+ lineEndings: "lf" | "crlf";
332
+ localeStrategy?: "subdomain" | "prefix" | "none" | undefined;
333
+ }, {
334
+ trailingSlash?: "always" | "never" | "preserve" | undefined;
335
+ localeStrategy?: "subdomain" | "prefix" | "none" | undefined;
336
+ lineEndings?: "lf" | "crlf" | undefined;
337
+ }>;
338
+ /**
339
+ * Type for format configuration.
340
+ */
341
+ type FormatConfig = z.infer<typeof FormatConfigSchema>;
342
+ /**
343
+ * Full LlmsSeoConfig schema with all required fields.
344
+ */
345
+ declare const LlmsSeoConfigSchema: z.ZodObject<{
346
+ /** Site configuration */
347
+ site: z.ZodObject<{
348
+ /** Site base URL - must be valid URL with http/https, no trailing slash */
349
+ baseUrl: z.ZodEffects<z.ZodString, string, string>;
350
+ /** Default locale - must be in locales if provided */
351
+ defaultLocale: z.ZodOptional<z.ZodString>;
352
+ }, "strip", z.ZodTypeAny, {
353
+ baseUrl: string;
354
+ defaultLocale?: string | undefined;
355
+ }, {
356
+ baseUrl: string;
357
+ defaultLocale?: string | undefined;
358
+ }>;
359
+ /** Brand configuration */
360
+ brand: z.ZodObject<{
361
+ /** Brand name - required */
362
+ name: z.ZodString;
363
+ /** Optional tagline */
364
+ tagline: z.ZodOptional<z.ZodString>;
365
+ /** Optional description */
366
+ description: z.ZodOptional<z.ZodString>;
367
+ /** Optional organization name */
368
+ org: z.ZodOptional<z.ZodString>;
369
+ /** Supported locales - e.g., ["en", "uk", "de"] */
370
+ locales: z.ZodArray<z.ZodString, "many">;
371
+ }, "strip", z.ZodTypeAny, {
372
+ locales: string[];
373
+ name: string;
374
+ description?: string | undefined;
375
+ tagline?: string | undefined;
376
+ org?: string | undefined;
377
+ }, {
378
+ locales: string[];
379
+ name: string;
380
+ description?: string | undefined;
381
+ tagline?: string | undefined;
382
+ org?: string | undefined;
383
+ }>;
384
+ /** Sections configuration */
385
+ sections: z.ZodOptional<z.ZodObject<{
386
+ /** Hub paths - e.g., ["/services", "/blog", "/projects"] */
387
+ hubs: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
388
+ }, "strip", z.ZodTypeAny, {
389
+ hubs: string[];
390
+ }, {
391
+ hubs?: string[] | undefined;
392
+ }>>;
393
+ /** Manifests configuration */
394
+ manifests: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
395
+ /** Contact configuration */
396
+ contact: z.ZodOptional<z.ZodObject<{
397
+ /** Contact email */
398
+ email: z.ZodOptional<z.ZodString>;
399
+ /** Social links */
400
+ social: z.ZodOptional<z.ZodObject<{
401
+ /** Twitter handle or URL */
402
+ twitter: z.ZodOptional<z.ZodString>;
403
+ /** LinkedIn URL */
404
+ linkedin: z.ZodOptional<z.ZodString>;
405
+ /** GitHub URL */
406
+ github: z.ZodOptional<z.ZodString>;
407
+ }, "strip", z.ZodTypeAny, {
408
+ twitter?: string | undefined;
409
+ linkedin?: string | undefined;
410
+ github?: string | undefined;
411
+ }, {
412
+ twitter?: string | undefined;
413
+ linkedin?: string | undefined;
414
+ github?: string | undefined;
415
+ }>>;
416
+ /** Phone number */
417
+ phone: z.ZodOptional<z.ZodString>;
418
+ }, "strip", z.ZodTypeAny, {
419
+ email?: string | undefined;
420
+ social?: {
421
+ twitter?: string | undefined;
422
+ linkedin?: string | undefined;
423
+ github?: string | undefined;
424
+ } | undefined;
425
+ phone?: string | undefined;
426
+ }, {
427
+ email?: string | undefined;
428
+ social?: {
429
+ twitter?: string | undefined;
430
+ linkedin?: string | undefined;
431
+ github?: string | undefined;
432
+ } | undefined;
433
+ phone?: string | undefined;
434
+ }>>;
435
+ /** Policy configuration */
436
+ policy: z.ZodOptional<z.ZodObject<{
437
+ /** Geographic policy statement */
438
+ geoPolicy: z.ZodOptional<z.ZodString>;
439
+ /** Citation rules */
440
+ citationRules: z.ZodOptional<z.ZodString>;
441
+ /** Restricted claims configuration */
442
+ restrictedClaims: z.ZodOptional<z.ZodObject<{
443
+ /** Enable restricted claims checking */
444
+ enable: z.ZodBoolean;
445
+ /** Forbidden words/phrases - e.g., ["best", "#1", "guaranteed"] */
446
+ forbidden: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
447
+ /** Allowlisted phrases */
448
+ whitelist: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
449
+ }, "strip", z.ZodTypeAny, {
450
+ enable: boolean;
451
+ forbidden?: string[] | undefined;
452
+ whitelist?: string[] | undefined;
453
+ }, {
454
+ enable: boolean;
455
+ forbidden?: string[] | undefined;
456
+ whitelist?: string[] | undefined;
457
+ }>>;
458
+ }, "strip", z.ZodTypeAny, {
459
+ geoPolicy?: string | undefined;
460
+ citationRules?: string | undefined;
461
+ restrictedClaims?: {
462
+ enable: boolean;
463
+ forbidden?: string[] | undefined;
464
+ whitelist?: string[] | undefined;
465
+ } | undefined;
466
+ }, {
467
+ geoPolicy?: string | undefined;
468
+ citationRules?: string | undefined;
469
+ restrictedClaims?: {
470
+ enable: boolean;
471
+ forbidden?: string[] | undefined;
472
+ whitelist?: string[] | undefined;
473
+ } | undefined;
474
+ }>>;
475
+ /** Booking configuration */
476
+ booking: z.ZodOptional<z.ZodObject<{
477
+ /** Booking URL - e.g., Cal.com link */
478
+ url: z.ZodOptional<z.ZodString>;
479
+ /** Booking label - e.g., "Book a consultation" */
480
+ label: z.ZodOptional<z.ZodString>;
481
+ }, "strip", z.ZodTypeAny, {
482
+ url?: string | undefined;
483
+ label?: string | undefined;
484
+ }, {
485
+ url?: string | undefined;
486
+ label?: string | undefined;
487
+ }>>;
488
+ /** Machine hints configuration */
489
+ machineHints: z.ZodOptional<z.ZodObject<{
490
+ /** URL to robots.txt */
491
+ robots: z.ZodOptional<z.ZodString>;
492
+ /** URL to sitemap.xml */
493
+ sitemap: z.ZodOptional<z.ZodString>;
494
+ /** URL to llms.txt */
495
+ llmsTxt: z.ZodOptional<z.ZodString>;
496
+ /** URL to llms-full.txt */
497
+ llmsFullTxt: z.ZodOptional<z.ZodString>;
498
+ }, "strip", z.ZodTypeAny, {
499
+ robots?: string | undefined;
500
+ sitemap?: string | undefined;
501
+ llmsTxt?: string | undefined;
502
+ llmsFullTxt?: string | undefined;
503
+ }, {
504
+ robots?: string | undefined;
505
+ sitemap?: string | undefined;
506
+ llmsTxt?: string | undefined;
507
+ llmsFullTxt?: string | undefined;
508
+ }>>;
509
+ /** Output configuration */
510
+ output: z.ZodObject<{
511
+ /** Output paths */
512
+ paths: z.ZodObject<{
513
+ /** Path to llms.txt output - e.g., "public/llms.txt" */
514
+ llmsTxt: z.ZodString;
515
+ /** Path to llms-full.txt output - e.g., "public/llms-full.txt" */
516
+ llmsFullTxt: z.ZodString;
517
+ /** Path to citations.json output - e.g., "public/citations.json" */
518
+ citations: z.ZodOptional<z.ZodString>;
519
+ }, "strip", z.ZodTypeAny, {
520
+ llmsTxt: string;
521
+ llmsFullTxt: string;
522
+ citations?: string | undefined;
523
+ }, {
524
+ llmsTxt: string;
525
+ llmsFullTxt: string;
526
+ citations?: string | undefined;
527
+ }>;
528
+ }, "strip", z.ZodTypeAny, {
529
+ paths: {
530
+ llmsTxt: string;
531
+ llmsFullTxt: string;
532
+ citations?: string | undefined;
533
+ };
534
+ }, {
535
+ paths: {
536
+ llmsTxt: string;
537
+ llmsFullTxt: string;
538
+ citations?: string | undefined;
539
+ };
540
+ }>;
541
+ /** Format configuration */
542
+ format: z.ZodOptional<z.ZodObject<{
543
+ /** Trailing slash handling */
544
+ trailingSlash: z.ZodDefault<z.ZodEnum<["always", "never", "preserve"]>>;
545
+ /** Line endings format */
546
+ lineEndings: z.ZodDefault<z.ZodEnum<["lf", "crlf"]>>;
547
+ /** Locale URL strategy */
548
+ localeStrategy: z.ZodOptional<z.ZodEnum<["prefix", "subdomain", "none"]>>;
549
+ }, "strip", z.ZodTypeAny, {
550
+ trailingSlash: "always" | "never" | "preserve";
551
+ lineEndings: "lf" | "crlf";
552
+ localeStrategy?: "subdomain" | "prefix" | "none" | undefined;
553
+ }, {
554
+ trailingSlash?: "always" | "never" | "preserve" | undefined;
555
+ localeStrategy?: "subdomain" | "prefix" | "none" | undefined;
556
+ lineEndings?: "lf" | "crlf" | undefined;
557
+ }>>;
558
+ }, "strip", z.ZodTypeAny, {
559
+ site: {
560
+ baseUrl: string;
561
+ defaultLocale?: string | undefined;
562
+ };
563
+ brand: {
564
+ locales: string[];
565
+ name: string;
566
+ description?: string | undefined;
567
+ tagline?: string | undefined;
568
+ org?: string | undefined;
569
+ };
570
+ manifests: Record<string, unknown>;
571
+ output: {
572
+ paths: {
573
+ llmsTxt: string;
574
+ llmsFullTxt: string;
575
+ citations?: string | undefined;
576
+ };
577
+ };
578
+ sections?: {
579
+ hubs: string[];
580
+ } | undefined;
581
+ contact?: {
582
+ email?: string | undefined;
583
+ social?: {
584
+ twitter?: string | undefined;
585
+ linkedin?: string | undefined;
586
+ github?: string | undefined;
587
+ } | undefined;
588
+ phone?: string | undefined;
589
+ } | undefined;
590
+ policy?: {
591
+ geoPolicy?: string | undefined;
592
+ citationRules?: string | undefined;
593
+ restrictedClaims?: {
594
+ enable: boolean;
595
+ forbidden?: string[] | undefined;
596
+ whitelist?: string[] | undefined;
597
+ } | undefined;
598
+ } | undefined;
599
+ booking?: {
600
+ url?: string | undefined;
601
+ label?: string | undefined;
602
+ } | undefined;
603
+ machineHints?: {
604
+ robots?: string | undefined;
605
+ sitemap?: string | undefined;
606
+ llmsTxt?: string | undefined;
607
+ llmsFullTxt?: string | undefined;
608
+ } | undefined;
609
+ format?: {
610
+ trailingSlash: "always" | "never" | "preserve";
611
+ lineEndings: "lf" | "crlf";
612
+ localeStrategy?: "subdomain" | "prefix" | "none" | undefined;
613
+ } | undefined;
614
+ }, {
615
+ site: {
616
+ baseUrl: string;
617
+ defaultLocale?: string | undefined;
618
+ };
619
+ brand: {
620
+ locales: string[];
621
+ name: string;
622
+ description?: string | undefined;
623
+ tagline?: string | undefined;
624
+ org?: string | undefined;
625
+ };
626
+ output: {
627
+ paths: {
628
+ llmsTxt: string;
629
+ llmsFullTxt: string;
630
+ citations?: string | undefined;
631
+ };
632
+ };
633
+ sections?: {
634
+ hubs?: string[] | undefined;
635
+ } | undefined;
636
+ manifests?: Record<string, unknown> | undefined;
637
+ contact?: {
638
+ email?: string | undefined;
639
+ social?: {
640
+ twitter?: string | undefined;
641
+ linkedin?: string | undefined;
642
+ github?: string | undefined;
643
+ } | undefined;
644
+ phone?: string | undefined;
645
+ } | undefined;
646
+ policy?: {
647
+ geoPolicy?: string | undefined;
648
+ citationRules?: string | undefined;
649
+ restrictedClaims?: {
650
+ enable: boolean;
651
+ forbidden?: string[] | undefined;
652
+ whitelist?: string[] | undefined;
653
+ } | undefined;
654
+ } | undefined;
655
+ booking?: {
656
+ url?: string | undefined;
657
+ label?: string | undefined;
658
+ } | undefined;
659
+ machineHints?: {
660
+ robots?: string | undefined;
661
+ sitemap?: string | undefined;
662
+ llmsTxt?: string | undefined;
663
+ llmsFullTxt?: string | undefined;
664
+ } | undefined;
665
+ format?: {
666
+ trailingSlash?: "always" | "never" | "preserve" | undefined;
667
+ localeStrategy?: "subdomain" | "prefix" | "none" | undefined;
668
+ lineEndings?: "lf" | "crlf" | undefined;
669
+ } | undefined;
670
+ }>;
671
+ /**
672
+ * Type for full LlmsSeoConfig.
673
+ */
674
+ type LlmsSeoConfig = z.infer<typeof LlmsSeoConfigSchema>;
675
+ declare const ConfigSchema: z.ZodObject<{
676
+ baseUrl: z.ZodString;
677
+ title: z.ZodString;
678
+ description: z.ZodOptional<z.ZodString>;
679
+ outputDir: z.ZodDefault<z.ZodString>;
680
+ includeOptionalSections: z.ZodDefault<z.ZodBoolean>;
681
+ maxContentLength: z.ZodDefault<z.ZodNumber>;
682
+ }, "strip", z.ZodTypeAny, {
683
+ baseUrl: string;
684
+ title: string;
685
+ outputDir: string;
686
+ includeOptionalSections: boolean;
687
+ maxContentLength: number;
688
+ description?: string | undefined;
689
+ }, {
690
+ baseUrl: string;
691
+ title: string;
692
+ description?: string | undefined;
693
+ outputDir?: string | undefined;
694
+ includeOptionalSections?: boolean | undefined;
695
+ maxContentLength?: number | undefined;
696
+ }>;
697
+ type Config = z.infer<typeof ConfigSchema>;
698
+ declare const LocaleConfigSchema: z.ZodObject<{
699
+ default: z.ZodString;
700
+ supported: z.ZodArray<z.ZodString, "many">;
701
+ strategy: z.ZodEnum<["subdirectory", "subdomain", "domain"]>;
702
+ }, "strip", z.ZodTypeAny, {
703
+ default: string;
704
+ supported: string[];
705
+ strategy: "subdirectory" | "subdomain" | "domain";
706
+ }, {
707
+ default: string;
708
+ supported: string[];
709
+ strategy: "subdirectory" | "subdomain" | "domain";
710
+ }>;
711
+ type LocaleConfigSchemaType = z.infer<typeof LocaleConfigSchema>;
712
+ declare const CheckConfigSchema: z.ZodObject<{
713
+ strict: z.ZodDefault<z.ZodBoolean>;
714
+ maxTitleLength: z.ZodDefault<z.ZodNumber>;
715
+ maxDescriptionLength: z.ZodDefault<z.ZodNumber>;
716
+ enableLint: z.ZodDefault<z.ZodBoolean>;
717
+ }, "strip", z.ZodTypeAny, {
718
+ strict: boolean;
719
+ maxTitleLength: number;
720
+ maxDescriptionLength: number;
721
+ enableLint: boolean;
722
+ }, {
723
+ strict?: boolean | undefined;
724
+ maxTitleLength?: number | undefined;
725
+ maxDescriptionLength?: number | undefined;
726
+ enableLint?: boolean | undefined;
727
+ }>;
728
+ type CheckConfig = z.infer<typeof CheckConfigSchema>;
729
+ declare const FullConfigSchema: z.ZodObject<{
730
+ site: z.ZodObject<{
731
+ baseUrl: z.ZodString;
732
+ title: z.ZodString;
733
+ description: z.ZodOptional<z.ZodString>;
734
+ outputDir: z.ZodDefault<z.ZodString>;
735
+ includeOptionalSections: z.ZodDefault<z.ZodBoolean>;
736
+ maxContentLength: z.ZodDefault<z.ZodNumber>;
737
+ }, "strip", z.ZodTypeAny, {
738
+ baseUrl: string;
739
+ title: string;
740
+ outputDir: string;
741
+ includeOptionalSections: boolean;
742
+ maxContentLength: number;
743
+ description?: string | undefined;
744
+ }, {
745
+ baseUrl: string;
746
+ title: string;
747
+ description?: string | undefined;
748
+ outputDir?: string | undefined;
749
+ includeOptionalSections?: boolean | undefined;
750
+ maxContentLength?: number | undefined;
751
+ }>;
752
+ locale: z.ZodOptional<z.ZodObject<{
753
+ default: z.ZodString;
754
+ supported: z.ZodArray<z.ZodString, "many">;
755
+ strategy: z.ZodEnum<["subdirectory", "subdomain", "domain"]>;
756
+ }, "strip", z.ZodTypeAny, {
757
+ default: string;
758
+ supported: string[];
759
+ strategy: "subdirectory" | "subdomain" | "domain";
760
+ }, {
761
+ default: string;
762
+ supported: string[];
763
+ strategy: "subdirectory" | "subdomain" | "domain";
764
+ }>>;
765
+ check: z.ZodOptional<z.ZodObject<{
766
+ strict: z.ZodDefault<z.ZodBoolean>;
767
+ maxTitleLength: z.ZodDefault<z.ZodNumber>;
768
+ maxDescriptionLength: z.ZodDefault<z.ZodNumber>;
769
+ enableLint: z.ZodDefault<z.ZodBoolean>;
770
+ }, "strip", z.ZodTypeAny, {
771
+ strict: boolean;
772
+ maxTitleLength: number;
773
+ maxDescriptionLength: number;
774
+ enableLint: boolean;
775
+ }, {
776
+ strict?: boolean | undefined;
777
+ maxTitleLength?: number | undefined;
778
+ maxDescriptionLength?: number | undefined;
779
+ enableLint?: boolean | undefined;
780
+ }>>;
781
+ }, "strip", z.ZodTypeAny, {
782
+ site: {
783
+ baseUrl: string;
784
+ title: string;
785
+ outputDir: string;
786
+ includeOptionalSections: boolean;
787
+ maxContentLength: number;
788
+ description?: string | undefined;
789
+ };
790
+ locale?: {
791
+ default: string;
792
+ supported: string[];
793
+ strategy: "subdirectory" | "subdomain" | "domain";
794
+ } | undefined;
795
+ check?: {
796
+ strict: boolean;
797
+ maxTitleLength: number;
798
+ maxDescriptionLength: number;
799
+ enableLint: boolean;
800
+ } | undefined;
801
+ }, {
802
+ site: {
803
+ baseUrl: string;
804
+ title: string;
805
+ description?: string | undefined;
806
+ outputDir?: string | undefined;
807
+ includeOptionalSections?: boolean | undefined;
808
+ maxContentLength?: number | undefined;
809
+ };
810
+ locale?: {
811
+ default: string;
812
+ supported: string[];
813
+ strategy: "subdirectory" | "subdomain" | "domain";
814
+ } | undefined;
815
+ check?: {
816
+ strict?: boolean | undefined;
817
+ maxTitleLength?: number | undefined;
818
+ maxDescriptionLength?: number | undefined;
819
+ enableLint?: boolean | undefined;
820
+ } | undefined;
821
+ }>;
822
+ type FullConfig = z.infer<typeof FullConfigSchema>;
823
+
824
+ export { type BookingConfig as B, type CheckConfig as C, type FullConfig as F, type LlmsSeoConfig as L, type MachineHintsConfig as M, type OutputConfig as O, type PolicyConfig as P, type RestrictedClaimsConfig as R, type SectionsConfig as S, CheckConfigSchema as a, type Config as b, ConfigSchema as c, FullConfigSchema as d, BookingConfigSchema as e, type BrandConfig as f, BrandConfigSchema as g, type ContactConfig as h, ContactConfigSchema as i, type FormatConfig as j, FormatConfigSchema as k, LlmsSeoConfigSchema as l, type LocaleConfigSchemaType as m, LocaleConfigSchema as n, MachineHintsConfigSchema as o, OutputConfigSchema as p, type OutputPathsConfig as q, OutputPathsConfigSchema as r, PolicyConfigSchema as s, RestrictedClaimsConfigSchema as t, SectionsConfigSchema as u, type SiteConfig as v, SiteConfigSchema as w, type SocialConfig as x, SocialConfigSchema as y };