@getvitops/generator 8.0.1 → 8.2.0-alpha.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 (45) hide show
  1. package/CHANGELOG.md +382 -17
  2. package/assets/css/layout-utilities.css +13 -0
  3. package/assets/css/layout.css +31 -0
  4. package/assets/css/patterns/banner.css +7 -0
  5. package/assets/css/patterns/cluster.css +19 -0
  6. package/assets/css/patterns/comment.css +18 -0
  7. package/assets/css/patterns/gallery.css +16 -0
  8. package/assets/css/patterns/list.css +17 -0
  9. package/assets/css/patterns/marquee.css +6 -0
  10. package/assets/css/patterns/masonry.css +18 -0
  11. package/assets/js/consent.js +1 -1
  12. package/assets/js/deferred.js +1 -1
  13. package/assets/js/editor.js +2 -2
  14. package/assets/js/elements.js +4 -4
  15. package/assets/js/polyfills/adoptedStyleSheets.js +1 -1
  16. package/assets/js/polyfills/css-anchor-positioning-fn.js +4 -4
  17. package/assets/js/polyfills/global.esm.js +1 -1
  18. package/assets/js/polyfills/invokers-polyfill.js +1 -1
  19. package/assets/js/polyfills/popover.js +2 -2
  20. package/assets/js/polyfills/webcomponents-bundle.js +9 -9
  21. package/config.schema.json +333 -118
  22. package/dist/config-DvbYx3Gi.mjs +1971 -0
  23. package/dist/config-DvbYx3Gi.mjs.map +1 -0
  24. package/dist/config.d.mts +2544 -0
  25. package/dist/config.d.mts.map +1 -0
  26. package/dist/config.mjs +3 -0
  27. package/dist/icons-sprite-Bf_KmKeX.d.mts +267 -0
  28. package/dist/icons-sprite-Bf_KmKeX.d.mts.map +1 -0
  29. package/dist/icons-sprite.d.mts +2 -0
  30. package/dist/icons-sprite.mjs +129 -0
  31. package/dist/icons-sprite.mjs.map +1 -0
  32. package/dist/index.d.mts +60 -2857
  33. package/dist/index.d.mts.map +1 -1
  34. package/dist/index.mjs +95 -2386
  35. package/dist/index.mjs.map +1 -1
  36. package/dist/schema-Dmq1J7S3.d.mts +292 -0
  37. package/dist/schema-Dmq1J7S3.d.mts.map +1 -0
  38. package/dist/tokens-8SXMDAd1.d.mts +229 -0
  39. package/dist/tokens-8SXMDAd1.d.mts.map +1 -0
  40. package/dist/tokens-zi594IZ3.mjs +697 -0
  41. package/dist/tokens-zi594IZ3.mjs.map +1 -0
  42. package/dist/tokens.d.mts +2 -0
  43. package/dist/tokens.mjs +3 -0
  44. package/package.json +17 -5
  45. package/schema.json +12 -28
@@ -0,0 +1,2544 @@
1
+ import { t as DesignSystem } from "./schema-Dmq1J7S3.mjs";
2
+ import * as z from "@zod/mini";
3
+ //#region src/config.d.ts
4
+ declare const PostalAddressSchema: z.ZodMiniObject<{
5
+ streetAddress: z.ZodMiniString<string>;
6
+ addressLocality: z.ZodMiniString<string>;
7
+ addressRegion: z.ZodMiniOptional<z.ZodMiniString<string>>;
8
+ postalCode: z.ZodMiniOptional<z.ZodMiniString<string>>;
9
+ addressCountry: z.ZodMiniString<string>;
10
+ }, z.core.$strict>;
11
+ declare const ContactObjectSchema: z.ZodMiniObject<{
12
+ name: z.ZodMiniOptional<z.ZodMiniString<string>>;
13
+ email: z.ZodMiniOptional<z.ZodMiniEmail>;
14
+ phone: z.ZodMiniOptional<z.ZodMiniString<string>>;
15
+ address: z.ZodMiniOptional<z.ZodMiniObject<{
16
+ streetAddress: z.ZodMiniString<string>;
17
+ addressLocality: z.ZodMiniString<string>;
18
+ addressRegion: z.ZodMiniOptional<z.ZodMiniString<string>>;
19
+ postalCode: z.ZodMiniOptional<z.ZodMiniString<string>>;
20
+ addressCountry: z.ZodMiniString<string>;
21
+ }, z.core.$strict>>;
22
+ }, z.core.$strict>;
23
+ export type PostalAddress = z.infer<typeof PostalAddressSchema>;
24
+ export type ContactObject = z.infer<typeof ContactObjectSchema>;
25
+ /**
26
+ * One domain to onboard into Google Search Console via `vitops search setup`.
27
+ *
28
+ * The verification token is fetched live from the Site Verification API at run
29
+ * time and written to DNS — it is never stored here. What the config records is
30
+ * the *intent*: which domains to onboard, and who should co-own them.
31
+ */
32
+ declare const SearchConsoleSetupSchema: z.ZodMiniObject<{
33
+ delegatedOwners: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniEmail>>;
34
+ fullUserGroup: z.ZodMiniOptional<z.ZodMiniEmail>;
35
+ }, z.core.$strict>;
36
+ /**
37
+ * A runtime, per-visitor content experiment — deliberately separate from
38
+ * `abTesting.variants` above, which targets a whole build/environment via
39
+ * `overrides`. This is the opposite granularity: one page, cookie-pinned per
40
+ * visitor, with the two variants written directly in the page itself (no
41
+ * config-schema representation of "the content"). `site.experiments` is a
42
+ * record so running more than one experiment on different pages at once is
43
+ * just another key — nothing here assumes only one is active.
44
+ */
45
+ declare const ExperimentSchema: z.ZodMiniObject<{
46
+ enabled: z.ZodMiniBoolean<boolean>;
47
+ category: z.ZodMiniOptional<z.ZodMiniEnum<{
48
+ analytics: "analytics";
49
+ marketing: "marketing";
50
+ }>>;
51
+ cookieName: z.ZodMiniOptional<z.ZodMiniString<string>>;
52
+ cookieMaxAge: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
53
+ splitRatio: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
54
+ variants: z.ZodMiniTuple<readonly [z.ZodMiniString<string>, z.ZodMiniString<string>], null>;
55
+ }, z.core.$strict>;
56
+ export declare const SiteFontSchema: z.ZodMiniObject<{
57
+ name: z.ZodMiniString<string>;
58
+ provider: z.ZodMiniEnum<{
59
+ google: "google";
60
+ fontsource: "fontsource";
61
+ adobe: "adobe";
62
+ bunny: "bunny";
63
+ fontshare: "fontshare";
64
+ googleicons: "googleicons";
65
+ npm: "npm";
66
+ local: "local";
67
+ }>;
68
+ cssVariable: z.ZodMiniString<string>;
69
+ weights: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniUnion<readonly [z.ZodMiniNumber<number>, z.ZodMiniString<string>]>>>;
70
+ styles: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniEnum<{
71
+ normal: "normal";
72
+ italic: "italic";
73
+ }>>>;
74
+ subsets: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
75
+ fallbacks: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
76
+ optimizedFallbacks: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
77
+ display: z.ZodMiniOptional<z.ZodMiniEnum<{
78
+ optional: "optional";
79
+ auto: "auto";
80
+ block: "block";
81
+ swap: "swap";
82
+ fallback: "fallback";
83
+ }>>;
84
+ formats: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
85
+ unicodeRange: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
86
+ variants: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniObject<{
87
+ src: z.ZodMiniArray<z.ZodMiniString<string>>;
88
+ weight: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniNumber<number>, z.ZodMiniString<string>]>>;
89
+ style: z.ZodMiniOptional<z.ZodMiniEnum<{
90
+ normal: "normal";
91
+ italic: "italic";
92
+ }>>;
93
+ unicodeRange: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
94
+ display: z.ZodMiniOptional<z.ZodMiniEnum<{
95
+ optional: "optional";
96
+ auto: "auto";
97
+ block: "block";
98
+ swap: "swap";
99
+ fallback: "fallback";
100
+ }>>;
101
+ }, z.core.$strict>>>;
102
+ preload: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniArray<z.ZodMiniObject<{
103
+ weight: z.ZodMiniUnion<readonly [z.ZodMiniNumber<number>, z.ZodMiniString<string>]>;
104
+ style: z.ZodMiniOptional<z.ZodMiniEnum<{
105
+ normal: "normal";
106
+ italic: "italic";
107
+ }>>;
108
+ }, z.core.$strict>>]>>;
109
+ }, z.core.$strict>;
110
+ /**
111
+ * What `vitops search notify` needs to tell search engines a deploy happened.
112
+ *
113
+ * Scoped by what search engines actually accept, which is narrower than it looks:
114
+ * Google exposes **no** "request indexing" API (the Search Console button is not in
115
+ * its API, and URL Inspection is read-only), and it removed the sitemap ping
116
+ * endpoint in 2023. So the sanctioned set is: an accurate sitemap, a Search Console
117
+ * sitemap resubmit, an IndexNow ping — which Google does *not* honour but Bing,
118
+ * Yandex, Naver, Seznam and Yep do — and a read-only inspection pass to find out
119
+ * what Google actually did.
120
+ *
121
+ * Facts only, the same rule the legal block follows: this records what the site has
122
+ * (a key, a property, which pages matter), never what to say about it.
123
+ */
124
+ declare const IndexNowSchema: z.ZodMiniObject<{
125
+ key: z.ZodMiniString<string>;
126
+ keyLocation: z.ZodMiniOptional<z.ZodMiniURL>;
127
+ endpoint: z.ZodMiniOptional<z.ZodMiniURL>;
128
+ }, z.core.$strict>;
129
+ declare const SearchConsoleSchema: z.ZodMiniObject<{
130
+ siteUrl: z.ZodMiniString<string>;
131
+ resubmitSitemap: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
132
+ }, z.core.$strict>;
133
+ declare const IndexingSchema: z.ZodMiniObject<{
134
+ sitemapUrl: z.ZodMiniOptional<z.ZodMiniURL>;
135
+ indexNow: z.ZodMiniOptional<z.ZodMiniObject<{
136
+ key: z.ZodMiniString<string>;
137
+ keyLocation: z.ZodMiniOptional<z.ZodMiniURL>;
138
+ endpoint: z.ZodMiniOptional<z.ZodMiniURL>;
139
+ }, z.core.$strict>>;
140
+ searchConsole: z.ZodMiniOptional<z.ZodMiniObject<{
141
+ siteUrl: z.ZodMiniString<string>;
142
+ resubmitSitemap: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
143
+ }, z.core.$strict>>;
144
+ priorityUrls: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniURL>>;
145
+ }, z.core.$strict>;
146
+ /**
147
+ * The ad platforms `vitops ads` can link a site to.
148
+ *
149
+ * A closed enum, mirroring `AD_PROVIDER_KEYS` in `@getvitops/utils/ads` — that
150
+ * module owns what each platform *can do* (whether it verifies a domain, what its
151
+ * tag is, which click ID it stamps), this owns what a config may *say*. Mirrored
152
+ * rather than derived because a `z.enum` needs literals to reach the published JSON
153
+ * Schema; `config.test.ts` asserts the two lists are the same set, so a provider
154
+ * added to one and not the other fails the build rather than silently getting no
155
+ * verification step and no tag.
156
+ */
157
+ export declare const AD_PROVIDERS: readonly ["google", "meta", "linkedin", "reddit", "tiktok", "microsoft", "pinterest", "snapchat"];
158
+ export type AdProvider = (typeof AD_PROVIDERS)[number];
159
+ /**
160
+ * One ad property this site is linked to.
161
+ *
162
+ * Facts, not prose — the same rule the legal block follows. This records *which*
163
+ * account and *which* tag id, and the platform capability table decides what can be
164
+ * done about them. It is also what finally lets the rest of the toolchain see an ad
165
+ * pixel: the generated cookie notice discloses its cookies, `vitops ads lint`
166
+ * checks its click ID is captured, and the consent gate is handed the cookie names
167
+ * to clear on revoke. A pixel pasted into a template is invisible to all three.
168
+ */
169
+ declare const AdPropertySchema: z.ZodMiniObject<{
170
+ accountId: z.ZodMiniOptional<z.ZodMiniString<string>>;
171
+ pixelId: z.ZodMiniOptional<z.ZodMiniString<string>>;
172
+ conversionLabel: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniObject<{
173
+ call: z.ZodMiniOptional<z.ZodMiniString<string>>;
174
+ email: z.ZodMiniOptional<z.ZodMiniString<string>>;
175
+ form: z.ZodMiniOptional<z.ZodMiniString<string>>;
176
+ }, z.core.$strict>]>>;
177
+ domain: z.ZodMiniOptional<z.ZodMiniString<string>>;
178
+ domainVerification: z.ZodMiniOptional<z.ZodMiniString<string>>;
179
+ category: z.ZodMiniOptional<z.ZodMiniEnum<{
180
+ analytics: "analytics";
181
+ marketing: "marketing";
182
+ }>>;
183
+ enabled: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
184
+ }, z.core.$strict>;
185
+ /**
186
+ * How one location's Google reviews are selected and ordered for display.
187
+ *
188
+ * Keyed by `organization.locations` key, mirroring `site.ads`/`site.searchConsole`
189
+ * — `vitops reviews` needs to know which physical location a fetched review set
190
+ * belongs to, and that record already exists.
191
+ */
192
+ declare const ReviewLocationSchema: z.ZodMiniObject<{
193
+ accountId: z.ZodMiniOptional<z.ZodMiniString<string>>;
194
+ locationId: z.ZodMiniString<string>;
195
+ featured: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
196
+ minRating: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
197
+ limit: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
198
+ sort: z.ZodMiniOptional<z.ZodMiniEnum<{
199
+ rating: "rating";
200
+ recent: "recent";
201
+ }>>;
202
+ }, z.core.$strict>;
203
+ declare const ReviewsSchema: z.ZodMiniObject<{
204
+ accountId: z.ZodMiniOptional<z.ZodMiniString<string>>;
205
+ locations: z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniObject<{
206
+ accountId: z.ZodMiniOptional<z.ZodMiniString<string>>;
207
+ locationId: z.ZodMiniString<string>;
208
+ featured: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
209
+ minRating: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
210
+ limit: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
211
+ sort: z.ZodMiniOptional<z.ZodMiniEnum<{
212
+ rating: "rating";
213
+ recent: "recent";
214
+ }>>;
215
+ }, z.core.$strict>>;
216
+ schema: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
217
+ avatars: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
218
+ }, z.core.$strict>;
219
+ /**
220
+ * The commercial plan/add-on a site is entitled to — distinct from a `Config`
221
+ * section's own `enabled` flag. `enabled` answers "does this site do X at
222
+ * all" (a capability switch); `plan` answers "is this client entitled to turn
223
+ * X on" (a commercial switch one layer above). Absence means unrestricted,
224
+ * matching every other opt-in block in `Config`. `key` is an open string, not
225
+ * a closed enum, so a client-specific plan needs no schema change; `addons`
226
+ * is checked against `PLAN_CAPABILITIES` below. The commercial catalogue
227
+ * itself (plan names, pricing, which add-ons a plan bundles) stays
228
+ * Portal-side — this only records which one a site has.
229
+ */
230
+ declare const PlanSchema: z.ZodMiniObject<{
231
+ key: z.ZodMiniString<string>;
232
+ addons: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
233
+ }, z.core.$strict>;
234
+ /**
235
+ * The CRMs this toolchain can push a form submission into.
236
+ *
237
+ * A closed enum, mirroring `CrmProvider` in `@getvitops/utils/crm` — that module
238
+ * owns what each provider's API needs, this owns what a config may say.
239
+ * Mirrored rather than derived for the same reason `AD_PROVIDERS` is: a
240
+ * `z.enum` needs literals to reach the published JSON Schema.
241
+ */
242
+ export declare const CRM_PROVIDERS: readonly ["hubspot", "bigin", "jobber"];
243
+ export type CrmProviderConfig = (typeof CRM_PROVIDERS)[number];
244
+ export declare const BIGIN_DATA_CENTERS: readonly ["com", "ca", "eu", "in", "com.au", "jp"];
245
+ /**
246
+ * Which template set the generated legal documents are written against. This is
247
+ * a closed enum rather than a free string because an unrecognised value would
248
+ * otherwise silently fall back to the wrong body of law; `validateConfig` rejects
249
+ * anything without a registered template. Add a member here and a matching entry
250
+ * in `legal/templates/index.ts` — the two are checked against each other.
251
+ */
252
+ export declare const JURISDICTIONS: readonly ["ca"];
253
+ export type Jurisdiction = (typeof JURISDICTIONS)[number];
254
+ /**
255
+ * The country each template set frames cross-border transfers as *leaving*.
256
+ *
257
+ * A jurisdiction's own country is not a transfer, so this is what filters the
258
+ * disclosure lists — without it, `country: "Canada"` renders the incoherent
259
+ * "outside of Canada, including Canada".
260
+ *
261
+ * It belongs to the **jurisdiction**, not to `organization.address`: a `ca` policy
262
+ * says "outside of Canada" even for a business incorporated elsewhere. (The
263
+ * address drives a different sentence — the terms' governing-law clause, via
264
+ * `governingCountry`.) `satisfies` makes a new jurisdiction unable to forget it,
265
+ * the same guard style as `TEMPLATES`.
266
+ */
267
+ export declare const JURISDICTION_COUNTRIES: {
268
+ ca: string;
269
+ };
270
+ declare const SiteSectionSchema: z.ZodMiniObject<{
271
+ defaultLocale: z.ZodMiniString<string>;
272
+ locales: z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniObject<{
273
+ name: z.ZodMiniString<string>;
274
+ tagline: z.ZodMiniOptional<z.ZodMiniString<string>>;
275
+ basePath: z.ZodMiniOptional<z.ZodMiniString<string>>;
276
+ }, z.core.$strict>>;
277
+ domains: z.ZodMiniOptional<z.ZodMiniObject<{
278
+ canonical: z.ZodMiniURL;
279
+ aliases: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniObject<{
280
+ domain: z.ZodMiniString<string>;
281
+ redirectType: z.ZodMiniUnion<readonly [z.ZodMiniLiteral<301>, z.ZodMiniLiteral<302>, z.ZodMiniLiteral<307>, z.ZodMiniLiteral<308>]>;
282
+ redirectTo: z.ZodMiniString<string>;
283
+ environment: z.ZodMiniOptional<z.ZodMiniString<string>>;
284
+ }, z.core.$strict>>>;
285
+ }, z.core.$strict>>;
286
+ dns: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniObject<{
287
+ provider: z.ZodMiniOptional<z.ZodMiniString<string>>;
288
+ nameservers: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
289
+ records: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniObject<{
290
+ type: z.ZodMiniEnum<{
291
+ A: "A";
292
+ AAAA: "AAAA";
293
+ CNAME: "CNAME";
294
+ TXT: "TXT";
295
+ MX: "MX";
296
+ NS: "NS";
297
+ SRV: "SRV";
298
+ CAA: "CAA";
299
+ PTR: "PTR";
300
+ SOA: "SOA";
301
+ }>;
302
+ name: z.ZodMiniOptional<z.ZodMiniString<string>>;
303
+ value: z.ZodMiniString<string>;
304
+ ttl: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
305
+ proxied: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
306
+ }, z.core.$strict>>>;
307
+ }, z.core.$strict>>>;
308
+ cloudflare: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnknown>>;
309
+ google: z.ZodMiniOptional<z.ZodMiniObject<{
310
+ project: z.ZodMiniString<string>;
311
+ }, z.core.$strict>>;
312
+ searchConsole: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniObject<{
313
+ delegatedOwners: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniEmail>>;
314
+ fullUserGroup: z.ZodMiniOptional<z.ZodMiniEmail>;
315
+ }, z.core.$strict>>>;
316
+ environments: z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniObject<{
317
+ url: z.ZodMiniURL;
318
+ api: z.ZodMiniOptional<z.ZodMiniURL>;
319
+ analytics: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
320
+ ads: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
321
+ robots: z.ZodMiniOptional<z.ZodMiniString<string>>;
322
+ variant: z.ZodMiniOptional<z.ZodMiniString<string>>;
323
+ }, z.core.$strict>>;
324
+ plan: z.ZodMiniOptional<z.ZodMiniObject<{
325
+ key: z.ZodMiniString<string>;
326
+ addons: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
327
+ }, z.core.$strict>>;
328
+ abTesting: z.ZodMiniOptional<z.ZodMiniObject<{
329
+ enabled: z.ZodMiniBoolean<boolean>;
330
+ cookieName: z.ZodMiniOptional<z.ZodMiniString<string>>;
331
+ cookieMaxAge: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
332
+ splitRatio: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
333
+ variants: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniObject<{
334
+ environment: z.ZodMiniString<string>;
335
+ description: z.ZodMiniOptional<z.ZodMiniString<string>>;
336
+ overrides: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnknown>>;
337
+ }, z.core.$strict>>>;
338
+ }, z.core.$strict>>;
339
+ experiments: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniObject<{
340
+ enabled: z.ZodMiniBoolean<boolean>;
341
+ category: z.ZodMiniOptional<z.ZodMiniEnum<{
342
+ analytics: "analytics";
343
+ marketing: "marketing";
344
+ }>>;
345
+ cookieName: z.ZodMiniOptional<z.ZodMiniString<string>>;
346
+ cookieMaxAge: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
347
+ splitRatio: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
348
+ variants: z.ZodMiniTuple<readonly [z.ZodMiniString<string>, z.ZodMiniString<string>], null>;
349
+ }, z.core.$strict>>>;
350
+ fonts: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniObject<{
351
+ name: z.ZodMiniString<string>;
352
+ provider: z.ZodMiniEnum<{
353
+ google: "google";
354
+ fontsource: "fontsource";
355
+ adobe: "adobe";
356
+ bunny: "bunny";
357
+ fontshare: "fontshare";
358
+ googleicons: "googleicons";
359
+ npm: "npm";
360
+ local: "local";
361
+ }>;
362
+ cssVariable: z.ZodMiniString<string>;
363
+ weights: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniUnion<readonly [z.ZodMiniNumber<number>, z.ZodMiniString<string>]>>>;
364
+ styles: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniEnum<{
365
+ normal: "normal";
366
+ italic: "italic";
367
+ }>>>;
368
+ subsets: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
369
+ fallbacks: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
370
+ optimizedFallbacks: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
371
+ display: z.ZodMiniOptional<z.ZodMiniEnum<{
372
+ optional: "optional";
373
+ auto: "auto";
374
+ block: "block";
375
+ swap: "swap";
376
+ fallback: "fallback";
377
+ }>>;
378
+ formats: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
379
+ unicodeRange: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
380
+ variants: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniObject<{
381
+ src: z.ZodMiniArray<z.ZodMiniString<string>>;
382
+ weight: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniNumber<number>, z.ZodMiniString<string>]>>;
383
+ style: z.ZodMiniOptional<z.ZodMiniEnum<{
384
+ normal: "normal";
385
+ italic: "italic";
386
+ }>>;
387
+ unicodeRange: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
388
+ display: z.ZodMiniOptional<z.ZodMiniEnum<{
389
+ optional: "optional";
390
+ auto: "auto";
391
+ block: "block";
392
+ swap: "swap";
393
+ fallback: "fallback";
394
+ }>>;
395
+ }, z.core.$strict>>>;
396
+ preload: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniArray<z.ZodMiniObject<{
397
+ weight: z.ZodMiniUnion<readonly [z.ZodMiniNumber<number>, z.ZodMiniString<string>]>;
398
+ style: z.ZodMiniOptional<z.ZodMiniEnum<{
399
+ normal: "normal";
400
+ italic: "italic";
401
+ }>>;
402
+ }, z.core.$strict>>]>>;
403
+ }, z.core.$strict>>>;
404
+ tags: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnknown>>;
405
+ postTypes: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnknown>>;
406
+ galleries: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniObject<{
407
+ title: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>]>>;
408
+ tags: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
409
+ images: z.ZodMiniArray<z.ZodMiniObject<{
410
+ src: z.ZodMiniString<string>;
411
+ alt: z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>]>;
412
+ caption: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>]>>;
413
+ }, z.core.$strict>>;
414
+ }, z.core.$strict>>>;
415
+ testimonials: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniObject<{
416
+ title: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>]>>;
417
+ items: z.ZodMiniArray<z.ZodMiniObject<{
418
+ quote: z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>]>;
419
+ name: z.ZodMiniString<string>;
420
+ role: z.ZodMiniOptional<z.ZodMiniString<string>>;
421
+ rating: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
422
+ date: z.ZodMiniOptional<z.ZodMiniString<string>>;
423
+ }, z.core.$strict>>;
424
+ }, z.core.$strict>>>;
425
+ templates: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnion<readonly [z.ZodMiniObject<{
426
+ type: z.ZodMiniLiteral<"nav">;
427
+ tags: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
428
+ present: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnknown>>;
429
+ items: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>>;
430
+ }, z.core.$strict>, z.ZodMiniObject<{
431
+ type: z.ZodMiniLiteral<"form">;
432
+ tags: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
433
+ present: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnknown>>;
434
+ action: z.ZodMiniOptional<z.ZodMiniString<string>>;
435
+ method: z.ZodMiniOptional<z.ZodMiniEnum<{
436
+ get: "get";
437
+ post: "post";
438
+ }>>;
439
+ fields: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniObject<{
440
+ name: z.ZodMiniString<string>;
441
+ type: z.ZodMiniEnum<{
442
+ number: "number";
443
+ date: "date";
444
+ file: "file";
445
+ text: "text";
446
+ email: "email";
447
+ url: "url";
448
+ tel: "tel";
449
+ password: "password";
450
+ textarea: "textarea";
451
+ select: "select";
452
+ checkbox: "checkbox";
453
+ radio: "radio";
454
+ hidden: "hidden";
455
+ }>;
456
+ label: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>]>>;
457
+ required: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
458
+ validation: z.ZodMiniOptional<z.ZodMiniString<string>>;
459
+ options: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniObject<{
460
+ label: z.ZodMiniString<string>;
461
+ value: z.ZodMiniString<string>;
462
+ }, z.core.$strict>>]>>;
463
+ attrs: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniNumber<number>, z.ZodMiniBoolean<boolean>]>>>;
464
+ }, z.core.$strict>>>;
465
+ submit: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniNumber<number>, z.ZodMiniBoolean<boolean>]>>>;
466
+ honeypot: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
467
+ }, z.core.$strict>, z.ZodMiniObject<{
468
+ type: z.ZodMiniLiteral<"nodes">;
469
+ tags: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
470
+ nodes: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>>;
471
+ }, z.core.$strict>]>>>;
472
+ navigation: z.ZodMiniOptional<z.ZodMiniObject<{
473
+ activeTemplate: z.ZodMiniOptional<z.ZodMiniObject<{
474
+ default: z.ZodMiniOptional<z.ZodMiniString<string>>;
475
+ breakpoints: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>;
476
+ }, z.core.$strict>>;
477
+ }, z.core.$strict>>;
478
+ seo: z.ZodMiniOptional<z.ZodMiniObject<{
479
+ titleTemplate: z.ZodMiniOptional<z.ZodMiniString<string>>;
480
+ descriptionTemplate: z.ZodMiniOptional<z.ZodMiniString<string>>;
481
+ robots: z.ZodMiniOptional<z.ZodMiniString<string>>;
482
+ googleSiteVerification: z.ZodMiniOptional<z.ZodMiniString<string>>;
483
+ bingSiteVerification: z.ZodMiniOptional<z.ZodMiniString<string>>;
484
+ openGraph: z.ZodMiniOptional<z.ZodMiniObject<{
485
+ type: z.ZodMiniOptional<z.ZodMiniString<string>>;
486
+ siteName: z.ZodMiniOptional<z.ZodMiniString<string>>;
487
+ title: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>]>>;
488
+ description: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>]>>;
489
+ image: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniObject<{
490
+ src: z.ZodMiniString<string>;
491
+ alt: z.ZodMiniString<string>;
492
+ width: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
493
+ height: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
494
+ }, z.core.$strict>]>>;
495
+ locale: z.ZodMiniOptional<z.ZodMiniString<string>>;
496
+ }, z.core.$strict>>;
497
+ twitter: z.ZodMiniOptional<z.ZodMiniObject<{
498
+ card: z.ZodMiniOptional<z.ZodMiniEnum<{
499
+ summary: "summary";
500
+ summary_large_image: "summary_large_image";
501
+ app: "app";
502
+ player: "player";
503
+ }>>;
504
+ site: z.ZodMiniOptional<z.ZodMiniString<string>>;
505
+ creator: z.ZodMiniOptional<z.ZodMiniString<string>>;
506
+ title: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>]>>;
507
+ description: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>]>>;
508
+ image: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniObject<{
509
+ src: z.ZodMiniString<string>;
510
+ alt: z.ZodMiniString<string>;
511
+ width: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
512
+ height: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
513
+ }, z.core.$strict>]>>;
514
+ }, z.core.$strict>>;
515
+ indexing: z.ZodMiniOptional<z.ZodMiniObject<{
516
+ sitemapUrl: z.ZodMiniOptional<z.ZodMiniURL>;
517
+ indexNow: z.ZodMiniOptional<z.ZodMiniObject<{
518
+ key: z.ZodMiniString<string>;
519
+ keyLocation: z.ZodMiniOptional<z.ZodMiniURL>;
520
+ endpoint: z.ZodMiniOptional<z.ZodMiniURL>;
521
+ }, z.core.$strict>>;
522
+ searchConsole: z.ZodMiniOptional<z.ZodMiniObject<{
523
+ siteUrl: z.ZodMiniString<string>;
524
+ resubmitSitemap: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
525
+ }, z.core.$strict>>;
526
+ priorityUrls: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniURL>>;
527
+ }, z.core.$strict>>;
528
+ }, z.core.$strict>>;
529
+ analytics: z.ZodMiniOptional<z.ZodMiniObject<{
530
+ googleAnalyticsId: z.ZodMiniOptional<z.ZodMiniString<string>>;
531
+ plausibleDomain: z.ZodMiniOptional<z.ZodMiniString<string>>;
532
+ googleTagManagerId: z.ZodMiniOptional<z.ZodMiniString<string>>;
533
+ clarityId: z.ZodMiniOptional<z.ZodMiniString<string>>;
534
+ matomo: z.ZodMiniOptional<z.ZodMiniObject<{
535
+ url: z.ZodMiniString<string>;
536
+ siteId: z.ZodMiniString<string>;
537
+ cookies: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
538
+ abVariantDimensions: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniNumber<number>>>;
539
+ }, z.core.$strict>>;
540
+ }, z.core.$strict>>;
541
+ notifications: z.ZodMiniOptional<z.ZodMiniObject<{
542
+ email: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniEmail, z.ZodMiniObject<{
543
+ provider: z.ZodMiniLiteral<"cloudflare">;
544
+ to: z.ZodMiniOptional<z.ZodMiniEmail>;
545
+ from: z.ZodMiniOptional<z.ZodMiniEmail>;
546
+ fromName: z.ZodMiniOptional<z.ZodMiniString<string>>;
547
+ replyTo: z.ZodMiniOptional<z.ZodMiniEmail>;
548
+ binding: z.ZodMiniOptional<z.ZodMiniString<string>>;
549
+ verifySender: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
550
+ }, z.core.$strict>]>>;
551
+ actionUrl: z.ZodMiniOptional<z.ZodMiniString<string>>;
552
+ }, z.core.$strict>>;
553
+ tracking: z.ZodMiniOptional<z.ZodMiniObject<{
554
+ enabled: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
555
+ category: z.ZodMiniOptional<z.ZodMiniEnum<{
556
+ analytics: "analytics";
557
+ marketing: "marketing";
558
+ }>>;
559
+ platforms: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
560
+ }, z.core.$strict>>;
561
+ ads: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniEnum<{
562
+ google: "google";
563
+ meta: "meta";
564
+ linkedin: "linkedin";
565
+ reddit: "reddit";
566
+ tiktok: "tiktok";
567
+ microsoft: "microsoft";
568
+ pinterest: "pinterest";
569
+ snapchat: "snapchat";
570
+ }> & z.core.$partial, z.ZodMiniObject<{
571
+ accountId: z.ZodMiniOptional<z.ZodMiniString<string>>;
572
+ pixelId: z.ZodMiniOptional<z.ZodMiniString<string>>;
573
+ conversionLabel: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniObject<{
574
+ call: z.ZodMiniOptional<z.ZodMiniString<string>>;
575
+ email: z.ZodMiniOptional<z.ZodMiniString<string>>;
576
+ form: z.ZodMiniOptional<z.ZodMiniString<string>>;
577
+ }, z.core.$strict>]>>;
578
+ domain: z.ZodMiniOptional<z.ZodMiniString<string>>;
579
+ domainVerification: z.ZodMiniOptional<z.ZodMiniString<string>>;
580
+ category: z.ZodMiniOptional<z.ZodMiniEnum<{
581
+ analytics: "analytics";
582
+ marketing: "marketing";
583
+ }>>;
584
+ enabled: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
585
+ }, z.core.$strict>>>;
586
+ reviews: z.ZodMiniOptional<z.ZodMiniObject<{
587
+ accountId: z.ZodMiniOptional<z.ZodMiniString<string>>;
588
+ locations: z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniObject<{
589
+ accountId: z.ZodMiniOptional<z.ZodMiniString<string>>;
590
+ locationId: z.ZodMiniString<string>;
591
+ featured: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
592
+ minRating: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
593
+ limit: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
594
+ sort: z.ZodMiniOptional<z.ZodMiniEnum<{
595
+ rating: "rating";
596
+ recent: "recent";
597
+ }>>;
598
+ }, z.core.$strict>>;
599
+ schema: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
600
+ avatars: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
601
+ }, z.core.$strict>>;
602
+ crm: z.ZodMiniOptional<z.ZodMiniObject<{
603
+ provider: z.ZodMiniEnum<{
604
+ hubspot: "hubspot";
605
+ bigin: "bigin";
606
+ jobber: "jobber";
607
+ }>;
608
+ enabled: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
609
+ hubspot: z.ZodMiniOptional<z.ZodMiniObject<{
610
+ portalId: z.ZodMiniString<string>;
611
+ formGuid: z.ZodMiniString<string>;
612
+ dataCenter: z.ZodMiniOptional<z.ZodMiniEnum<{
613
+ eu: "eu";
614
+ na: "na";
615
+ }>>;
616
+ }, z.core.$strict>>;
617
+ bigin: z.ZodMiniOptional<z.ZodMiniObject<{
618
+ dataCenter: z.ZodMiniEnum<{
619
+ in: "in";
620
+ com: "com";
621
+ ca: "ca";
622
+ eu: "eu";
623
+ "com.au": "com.au";
624
+ jp: "jp";
625
+ }>;
626
+ duplicateCheckField: z.ZodMiniOptional<z.ZodMiniString<string>>;
627
+ pipeline: z.ZodMiniOptional<z.ZodMiniObject<{
628
+ enabled: z.ZodMiniBoolean<boolean>;
629
+ subPipeline: z.ZodMiniOptional<z.ZodMiniString<string>>;
630
+ stage: z.ZodMiniOptional<z.ZodMiniString<string>>;
631
+ }, z.core.$strict>>;
632
+ }, z.core.$strict>>;
633
+ jobber: z.ZodMiniOptional<z.ZodMiniObject<{
634
+ apiVersion: z.ZodMiniOptional<z.ZodMiniString<string>>;
635
+ dedupe: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
636
+ note: z.ZodMiniOptional<z.ZodMiniObject<{
637
+ enabled: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
638
+ }, z.core.$strict>>;
639
+ }, z.core.$strict>>;
640
+ fieldMap: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>;
641
+ trackingFields: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>;
642
+ }, z.core.$strict>>;
643
+ security: z.ZodMiniOptional<z.ZodMiniObject<{
644
+ turnstile: z.ZodMiniOptional<z.ZodMiniObject<{
645
+ siteKey: z.ZodMiniOptional<z.ZodMiniString<string>>;
646
+ }, z.core.$strict>>;
647
+ }, z.core.$strict>>;
648
+ legal: z.ZodMiniOptional<z.ZodMiniObject<{
649
+ jurisdiction: z.ZodMiniOptional<z.ZodMiniEnum<{
650
+ ca: "ca";
651
+ }>>;
652
+ privacyPolicy: z.ZodMiniOptional<z.ZodMiniObject<{
653
+ enabled: z.ZodMiniBoolean<boolean>;
654
+ url: z.ZodMiniOptional<z.ZodMiniURL>;
655
+ lastUpdated: z.ZodMiniOptional<z.ZodMiniString<string>>;
656
+ privacyOfficer: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniObject<{
657
+ name: z.ZodMiniOptional<z.ZodMiniString<string>>;
658
+ email: z.ZodMiniOptional<z.ZodMiniEmail>;
659
+ phone: z.ZodMiniOptional<z.ZodMiniString<string>>;
660
+ address: z.ZodMiniOptional<z.ZodMiniObject<{
661
+ streetAddress: z.ZodMiniString<string>;
662
+ addressLocality: z.ZodMiniString<string>;
663
+ addressRegion: z.ZodMiniOptional<z.ZodMiniString<string>>;
664
+ postalCode: z.ZodMiniOptional<z.ZodMiniString<string>>;
665
+ addressCountry: z.ZodMiniString<string>;
666
+ }, z.core.$strict>>;
667
+ }, z.core.$strict>]>>;
668
+ retention: z.ZodMiniOptional<z.ZodMiniString<string>>;
669
+ processors: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniObject<{
670
+ name: z.ZodMiniString<string>;
671
+ purpose: z.ZodMiniString<string>;
672
+ country: z.ZodMiniOptional<z.ZodMiniString<string>>;
673
+ storage: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniObject<{
674
+ country: z.ZodMiniString<string>;
675
+ scope: z.ZodMiniOptional<z.ZodMiniString<string>>;
676
+ }, z.core.$strict>>>;
677
+ operatorCountry: z.ZodMiniOptional<z.ZodMiniString<string>>;
678
+ privacyUrl: z.ZodMiniOptional<z.ZodMiniURL>;
679
+ }, z.core.$strict>>>;
680
+ }, z.core.$strict>>;
681
+ termsOfService: z.ZodMiniOptional<z.ZodMiniObject<{
682
+ enabled: z.ZodMiniBoolean<boolean>;
683
+ url: z.ZodMiniOptional<z.ZodMiniURL>;
684
+ lastUpdated: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniString<string>>>;
685
+ governingLaw: z.ZodMiniOptional<z.ZodMiniString<string>>;
686
+ }, z.core.$strict>>;
687
+ cookieConsent: z.ZodMiniOptional<z.ZodMiniObject<{
688
+ enabled: z.ZodMiniBoolean<boolean>;
689
+ type: z.ZodMiniOptional<z.ZodMiniEnum<{
690
+ "opt-in": "opt-in";
691
+ "opt-out": "opt-out";
692
+ }>>;
693
+ position: z.ZodMiniOptional<z.ZodMiniEnum<{
694
+ top: "top";
695
+ bottom: "bottom";
696
+ center: "center";
697
+ }>>;
698
+ categories: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
699
+ }, z.core.$strict>>;
700
+ }, z.core.$strict>>;
701
+ icons: z.ZodMiniOptional<z.ZodMiniObject<{
702
+ ui: z.ZodMiniOptional<z.ZodMiniString<string>>;
703
+ brand: z.ZodMiniOptional<z.ZodMiniString<string>>;
704
+ weight: z.ZodMiniOptional<z.ZodMiniString<string>>;
705
+ sprite: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
706
+ semantic: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
707
+ 'fa7-solid': z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
708
+ 'fa7-regular': z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
709
+ 'fa7-light': z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
710
+ 'fa7-thin': z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
711
+ 'fa7-brands': z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
712
+ 'simple-icons': z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
713
+ 'material-symbols': z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
714
+ lucide: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
715
+ ph: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
716
+ }, z.core.$loose>>;
717
+ favicon: z.ZodMiniOptional<z.ZodMiniObject<{
718
+ source: z.ZodMiniString<string>;
719
+ lowResSource: z.ZodMiniOptional<z.ZodMiniString<string>>;
720
+ name: z.ZodMiniOptional<z.ZodMiniString<string>>;
721
+ themeColor: z.ZodMiniOptional<z.ZodMiniString<string>>;
722
+ backgroundColor: z.ZodMiniOptional<z.ZodMiniString<string>>;
723
+ }, z.core.$strict>>;
724
+ deployment: z.ZodMiniOptional<z.ZodMiniObject<{
725
+ platform: z.ZodMiniOptional<z.ZodMiniString<string>>;
726
+ buildCommand: z.ZodMiniOptional<z.ZodMiniString<string>>;
727
+ deployCommand: z.ZodMiniOptional<z.ZodMiniString<string>>;
728
+ outputDirectory: z.ZodMiniOptional<z.ZodMiniString<string>>;
729
+ type: z.ZodMiniOptional<z.ZodMiniString<string>>;
730
+ repo: z.ZodMiniOptional<z.ZodMiniString<string>>;
731
+ branch: z.ZodMiniOptional<z.ZodMiniString<string>>;
732
+ }, z.core.$strict>>;
733
+ }, z.core.$strict>;
734
+ declare const OrganizationSectionSchema: z.ZodMiniObject<{
735
+ name: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>]>>;
736
+ legalName: z.ZodMiniOptional<z.ZodMiniString<string>>;
737
+ foundingDate: z.ZodMiniOptional<z.ZodMiniString<string>>;
738
+ logo: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniObject<{
739
+ src: z.ZodMiniString<string>;
740
+ alt: z.ZodMiniString<string>;
741
+ width: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
742
+ height: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
743
+ }, z.core.$strict>]>>;
744
+ email: z.ZodMiniOptional<z.ZodMiniEmail>;
745
+ phone: z.ZodMiniOptional<z.ZodMiniString<string>>;
746
+ address: z.ZodMiniOptional<z.ZodMiniObject<{
747
+ streetAddress: z.ZodMiniString<string>;
748
+ addressLocality: z.ZodMiniString<string>;
749
+ addressRegion: z.ZodMiniOptional<z.ZodMiniString<string>>;
750
+ postalCode: z.ZodMiniOptional<z.ZodMiniString<string>>;
751
+ addressCountry: z.ZodMiniString<string>;
752
+ }, z.core.$strict>>;
753
+ taxID: z.ZodMiniOptional<z.ZodMiniString<string>>;
754
+ vatID: z.ZodMiniOptional<z.ZodMiniString<string>>;
755
+ sameAs: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniURL>>;
756
+ contact: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniObject<{
757
+ name: z.ZodMiniOptional<z.ZodMiniString<string>>;
758
+ email: z.ZodMiniOptional<z.ZodMiniEmail>;
759
+ phone: z.ZodMiniOptional<z.ZodMiniString<string>>;
760
+ address: z.ZodMiniOptional<z.ZodMiniObject<{
761
+ streetAddress: z.ZodMiniString<string>;
762
+ addressLocality: z.ZodMiniString<string>;
763
+ addressRegion: z.ZodMiniOptional<z.ZodMiniString<string>>;
764
+ postalCode: z.ZodMiniOptional<z.ZodMiniString<string>>;
765
+ addressCountry: z.ZodMiniString<string>;
766
+ }, z.core.$strict>>;
767
+ }, z.core.$strict>]>>;
768
+ primaryLocation: z.ZodMiniOptional<z.ZodMiniString<string>>;
769
+ locations: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniObject<{
770
+ slug: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>]>>;
771
+ name: z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>]>;
772
+ email: z.ZodMiniOptional<z.ZodMiniEmail>;
773
+ phone: z.ZodMiniOptional<z.ZodMiniString<string>>;
774
+ address: z.ZodMiniOptional<z.ZodMiniObject<{
775
+ streetAddress: z.ZodMiniString<string>;
776
+ addressLocality: z.ZodMiniString<string>;
777
+ addressRegion: z.ZodMiniOptional<z.ZodMiniString<string>>;
778
+ postalCode: z.ZodMiniOptional<z.ZodMiniString<string>>;
779
+ addressCountry: z.ZodMiniString<string>;
780
+ }, z.core.$strict>>;
781
+ geo: z.ZodMiniOptional<z.ZodMiniObject<{
782
+ latitude: z.ZodMiniNumber<number>;
783
+ longitude: z.ZodMiniNumber<number>;
784
+ }, z.core.$strict>>;
785
+ hours: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniObject<{
786
+ dayOfWeek: z.ZodMiniArray<z.ZodMiniEnum<{
787
+ Monday: "Monday";
788
+ Tuesday: "Tuesday";
789
+ Wednesday: "Wednesday";
790
+ Thursday: "Thursday";
791
+ Friday: "Friday";
792
+ Saturday: "Saturday";
793
+ Sunday: "Sunday";
794
+ }>>;
795
+ opens: z.ZodMiniString<string>;
796
+ closes: z.ZodMiniString<string>;
797
+ }, z.core.$strict>>>;
798
+ hoursSpecial: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniObject<{
799
+ validFrom: z.ZodMiniString<string>;
800
+ validThrough: z.ZodMiniOptional<z.ZodMiniString<string>>;
801
+ opens: z.ZodMiniOptional<z.ZodMiniString<string>>;
802
+ closes: z.ZodMiniOptional<z.ZodMiniString<string>>;
803
+ }, z.core.$strict>>>;
804
+ type: z.ZodMiniOptional<z.ZodMiniEnum<{
805
+ LocalBusiness: "LocalBusiness";
806
+ Store: "Store";
807
+ Restaurant: "Restaurant";
808
+ CafeOrCoffeeShop: "CafeOrCoffeeShop";
809
+ ProfessionalService: "ProfessionalService";
810
+ MedicalBusiness: "MedicalBusiness";
811
+ HealthAndBeautyBusiness: "HealthAndBeautyBusiness";
812
+ HomeAndConstructionBusiness: "HomeAndConstructionBusiness";
813
+ AutomotiveBusiness: "AutomotiveBusiness";
814
+ FinancialService: "FinancialService";
815
+ LegalService: "LegalService";
816
+ RealEstateAgent: "RealEstateAgent";
817
+ Organization: "Organization";
818
+ }>>;
819
+ description: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>]>>;
820
+ areaServed: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
821
+ priceRange: z.ZodMiniOptional<z.ZodMiniString<string>>;
822
+ paymentAccepted: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
823
+ currenciesAccepted: z.ZodMiniOptional<z.ZodMiniString<string>>;
824
+ knowsLanguage: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
825
+ photos: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniObject<{
826
+ src: z.ZodMiniString<string>;
827
+ alt: z.ZodMiniString<string>;
828
+ width: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
829
+ height: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
830
+ }, z.core.$strict>]>>>;
831
+ sameAs: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniURL>>;
832
+ listings: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniEnum<{
833
+ google: "google";
834
+ bing: "bing";
835
+ apple: "apple";
836
+ }> & z.core.$partial, z.ZodMiniString<string>>>;
837
+ }, z.core.$strict>>>;
838
+ services: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniObject<{
839
+ name: z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>]>;
840
+ description: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>]>>;
841
+ slug: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>]>>;
842
+ offers: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniObject<{
843
+ name: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>]>>;
844
+ price: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniNumber<number>]>>;
845
+ priceCurrency: z.ZodMiniOptional<z.ZodMiniString<string>>;
846
+ availability: z.ZodMiniOptional<z.ZodMiniString<string>>;
847
+ url: z.ZodMiniOptional<z.ZodMiniURL>;
848
+ validFrom: z.ZodMiniOptional<z.ZodMiniString<string>>;
849
+ priceValidUntil: z.ZodMiniOptional<z.ZodMiniString<string>>;
850
+ }, z.core.$strict>>>;
851
+ }, z.core.$strict>>>;
852
+ links: z.ZodMiniOptional<z.ZodMiniObject<{
853
+ googleMaps: z.ZodMiniOptional<z.ZodMiniURL>;
854
+ instagram: z.ZodMiniOptional<z.ZodMiniURL>;
855
+ facebook: z.ZodMiniOptional<z.ZodMiniURL>;
856
+ x: z.ZodMiniOptional<z.ZodMiniURL>;
857
+ linkedin: z.ZodMiniOptional<z.ZodMiniURL>;
858
+ youtube: z.ZodMiniOptional<z.ZodMiniURL>;
859
+ github: z.ZodMiniOptional<z.ZodMiniURL>;
860
+ }, z.core.$strict>>;
861
+ }, z.core.$strict>;
862
+ /**
863
+ * The `Config` document's own SHAPE version — distinct from `@getvitops/generator`'s
864
+ * package version, which is CSS-release-driven (bumps on every design-system/CSS
865
+ * change) and says nothing about whether `Config`'s shape moved. Bump this constant,
866
+ * and add a new literal to `configVersion`'s union below, only when a future shape
867
+ * change is disruptive enough to warrant a migration note — the same bar the
868
+ * pre-3.0 flat-config migration (`MOVED_KEYS`) already set, now with a real field
869
+ * to check instead of pattern-matching which keys are present after the fact.
870
+ * Most releases add optional fields and need no bump at all.
871
+ */
872
+ export declare const CONFIG_VERSION = 1;
873
+ export declare const ConfigSchema: z.ZodMiniObject<{
874
+ $schema: z.ZodMiniOptional<z.ZodMiniString<string>>;
875
+ configVersion: z.ZodMiniOptional<z.ZodMiniLiteral<1>>;
876
+ designSystem: z.ZodMiniObject<{
877
+ themes: z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniObject<{
878
+ $schema: z.ZodMiniOptional<z.ZodMiniOptional<z.ZodMiniString<string>>>;
879
+ meta: z.ZodMiniOptional<z.ZodMiniOptional<z.ZodMiniObject<{
880
+ name: z.ZodMiniOptional<z.ZodMiniString<string>>;
881
+ description: z.ZodMiniOptional<z.ZodMiniString<string>>;
882
+ }, z.core.$strict>>>;
883
+ shadows: z.ZodMiniOptional<z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>>;
884
+ fonts: z.ZodMiniOptional<z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>>;
885
+ typeScale: z.ZodMiniOptional<z.ZodMiniOptional<z.ZodMiniObject<{
886
+ base: z.ZodMiniString<string>;
887
+ ratio: z.ZodMiniNumber<number>;
888
+ steps: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
889
+ names: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
890
+ baseStep: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
891
+ baseline: z.ZodMiniOptional<z.ZodMiniString<string>>;
892
+ fluid: z.ZodMiniOptional<z.ZodMiniObject<{
893
+ minVw: z.ZodMiniString<string>;
894
+ maxVw: z.ZodMiniString<string>;
895
+ minRatio: z.ZodMiniNumber<number>;
896
+ }, z.core.$strict>>;
897
+ }, z.core.$strict>>>;
898
+ spaceScale: z.ZodMiniOptional<z.ZodMiniOptional<z.ZodMiniObject<{
899
+ base: z.ZodMiniString<string>;
900
+ ratio: z.ZodMiniNumber<number>;
901
+ steps: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
902
+ names: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
903
+ baseStep: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
904
+ baseline: z.ZodMiniOptional<z.ZodMiniString<string>>;
905
+ fluid: z.ZodMiniOptional<z.ZodMiniObject<{
906
+ minVw: z.ZodMiniString<string>;
907
+ maxVw: z.ZodMiniString<string>;
908
+ minRatio: z.ZodMiniNumber<number>;
909
+ }, z.core.$strict>>;
910
+ }, z.core.$strict>>>;
911
+ patterns: z.ZodMiniOptional<z.ZodMiniOptional<z.ZodMiniObject<{
912
+ defaults: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>;
913
+ radii: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>;
914
+ groups: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>>;
915
+ z: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniNumber<number>>>;
916
+ items: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniObject<{
917
+ group: z.ZodMiniOptional<z.ZodMiniString<string>>;
918
+ overrides: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>;
919
+ element: z.ZodMiniOptional<z.ZodMiniString<string>>;
920
+ class: z.ZodMiniOptional<z.ZodMiniString<string>>;
921
+ fill: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
922
+ default_role: z.ZodMiniOptional<z.ZodMiniString<string>>;
923
+ base: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>;
924
+ states: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnknown>>>;
925
+ roles: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
926
+ }, z.core.$strict>>>;
927
+ }, z.core.$strict>>>;
928
+ typography: z.ZodMiniOptional<z.ZodMiniOptional<z.ZodMiniObject<{
929
+ families: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>;
930
+ roles: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniNumber<number>]>>>>;
931
+ headings: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>;
932
+ }, z.core.$strict>>>;
933
+ animations: z.ZodMiniOptional<z.ZodMiniOptional<z.ZodMiniObject<{
934
+ effects: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniObject<{
935
+ kf: z.ZodMiniString<string>;
936
+ css: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniNumber<number>]>>>;
937
+ vars: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniNumber<number>]>>>;
938
+ }, z.core.$strict>>>;
939
+ journeys: z.ZodMiniOptional<z.ZodMiniObject<{
940
+ base: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniNumber<number>]>>>>;
941
+ compose: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniArray<z.ZodMiniString<string>>>>;
942
+ }, z.core.$strict>>;
943
+ }, z.core.$strict>>>;
944
+ colors: z.ZodMiniOptional<z.ZodMiniObject<{
945
+ palette: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnion<readonly [z.ZodMiniObject<{
946
+ seed: z.ZodMiniString<string>;
947
+ anchors: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>;
948
+ }, z.core.$strict>, z.ZodMiniObject<{
949
+ tones: z.ZodMiniUnion<readonly [z.ZodMiniArray<z.ZodMiniString<string>>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>]>;
950
+ }, z.core.$strict>]>>>;
951
+ roles: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniObject<{
952
+ hue: z.ZodMiniString<string>;
953
+ kind: z.ZodMiniOptional<z.ZodMiniEnum<{
954
+ surface: "surface";
955
+ chromatic: "chromatic";
956
+ }>>;
957
+ }, z.core.$strict>]>>>;
958
+ utilities: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniEnum<{
959
+ fill: "fill";
960
+ bg: "bg";
961
+ text: "text";
962
+ icon: "icon";
963
+ border: "border";
964
+ outline: "outline";
965
+ stroke: "stroke";
966
+ }>>>;
967
+ }, z.core.$strict>>;
968
+ displayName: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>]>>;
969
+ extends: z.ZodMiniOptional<z.ZodMiniString<string>>;
970
+ }, z.core.$strict>>;
971
+ defaultTheme: z.ZodMiniOptional<z.ZodMiniString<string>>;
972
+ defaultColorScheme: z.ZodMiniOptional<z.ZodMiniEnum<{
973
+ light: "light";
974
+ dark: "dark";
975
+ system: "system";
976
+ }>>;
977
+ }, z.core.$strict>;
978
+ organization: z.ZodMiniOptional<z.ZodMiniObject<{
979
+ name: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>]>>;
980
+ legalName: z.ZodMiniOptional<z.ZodMiniString<string>>;
981
+ foundingDate: z.ZodMiniOptional<z.ZodMiniString<string>>;
982
+ logo: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniObject<{
983
+ src: z.ZodMiniString<string>;
984
+ alt: z.ZodMiniString<string>;
985
+ width: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
986
+ height: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
987
+ }, z.core.$strict>]>>;
988
+ email: z.ZodMiniOptional<z.ZodMiniEmail>;
989
+ phone: z.ZodMiniOptional<z.ZodMiniString<string>>;
990
+ address: z.ZodMiniOptional<z.ZodMiniObject<{
991
+ streetAddress: z.ZodMiniString<string>;
992
+ addressLocality: z.ZodMiniString<string>;
993
+ addressRegion: z.ZodMiniOptional<z.ZodMiniString<string>>;
994
+ postalCode: z.ZodMiniOptional<z.ZodMiniString<string>>;
995
+ addressCountry: z.ZodMiniString<string>;
996
+ }, z.core.$strict>>;
997
+ taxID: z.ZodMiniOptional<z.ZodMiniString<string>>;
998
+ vatID: z.ZodMiniOptional<z.ZodMiniString<string>>;
999
+ sameAs: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniURL>>;
1000
+ contact: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniObject<{
1001
+ name: z.ZodMiniOptional<z.ZodMiniString<string>>;
1002
+ email: z.ZodMiniOptional<z.ZodMiniEmail>;
1003
+ phone: z.ZodMiniOptional<z.ZodMiniString<string>>;
1004
+ address: z.ZodMiniOptional<z.ZodMiniObject<{
1005
+ streetAddress: z.ZodMiniString<string>;
1006
+ addressLocality: z.ZodMiniString<string>;
1007
+ addressRegion: z.ZodMiniOptional<z.ZodMiniString<string>>;
1008
+ postalCode: z.ZodMiniOptional<z.ZodMiniString<string>>;
1009
+ addressCountry: z.ZodMiniString<string>;
1010
+ }, z.core.$strict>>;
1011
+ }, z.core.$strict>]>>;
1012
+ primaryLocation: z.ZodMiniOptional<z.ZodMiniString<string>>;
1013
+ locations: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniObject<{
1014
+ slug: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>]>>;
1015
+ name: z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>]>;
1016
+ email: z.ZodMiniOptional<z.ZodMiniEmail>;
1017
+ phone: z.ZodMiniOptional<z.ZodMiniString<string>>;
1018
+ address: z.ZodMiniOptional<z.ZodMiniObject<{
1019
+ streetAddress: z.ZodMiniString<string>;
1020
+ addressLocality: z.ZodMiniString<string>;
1021
+ addressRegion: z.ZodMiniOptional<z.ZodMiniString<string>>;
1022
+ postalCode: z.ZodMiniOptional<z.ZodMiniString<string>>;
1023
+ addressCountry: z.ZodMiniString<string>;
1024
+ }, z.core.$strict>>;
1025
+ geo: z.ZodMiniOptional<z.ZodMiniObject<{
1026
+ latitude: z.ZodMiniNumber<number>;
1027
+ longitude: z.ZodMiniNumber<number>;
1028
+ }, z.core.$strict>>;
1029
+ hours: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniObject<{
1030
+ dayOfWeek: z.ZodMiniArray<z.ZodMiniEnum<{
1031
+ Monday: "Monday";
1032
+ Tuesday: "Tuesday";
1033
+ Wednesday: "Wednesday";
1034
+ Thursday: "Thursday";
1035
+ Friday: "Friday";
1036
+ Saturday: "Saturday";
1037
+ Sunday: "Sunday";
1038
+ }>>;
1039
+ opens: z.ZodMiniString<string>;
1040
+ closes: z.ZodMiniString<string>;
1041
+ }, z.core.$strict>>>;
1042
+ hoursSpecial: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniObject<{
1043
+ validFrom: z.ZodMiniString<string>;
1044
+ validThrough: z.ZodMiniOptional<z.ZodMiniString<string>>;
1045
+ opens: z.ZodMiniOptional<z.ZodMiniString<string>>;
1046
+ closes: z.ZodMiniOptional<z.ZodMiniString<string>>;
1047
+ }, z.core.$strict>>>;
1048
+ type: z.ZodMiniOptional<z.ZodMiniEnum<{
1049
+ LocalBusiness: "LocalBusiness";
1050
+ Store: "Store";
1051
+ Restaurant: "Restaurant";
1052
+ CafeOrCoffeeShop: "CafeOrCoffeeShop";
1053
+ ProfessionalService: "ProfessionalService";
1054
+ MedicalBusiness: "MedicalBusiness";
1055
+ HealthAndBeautyBusiness: "HealthAndBeautyBusiness";
1056
+ HomeAndConstructionBusiness: "HomeAndConstructionBusiness";
1057
+ AutomotiveBusiness: "AutomotiveBusiness";
1058
+ FinancialService: "FinancialService";
1059
+ LegalService: "LegalService";
1060
+ RealEstateAgent: "RealEstateAgent";
1061
+ Organization: "Organization";
1062
+ }>>;
1063
+ description: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>]>>;
1064
+ areaServed: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
1065
+ priceRange: z.ZodMiniOptional<z.ZodMiniString<string>>;
1066
+ paymentAccepted: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
1067
+ currenciesAccepted: z.ZodMiniOptional<z.ZodMiniString<string>>;
1068
+ knowsLanguage: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
1069
+ photos: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniObject<{
1070
+ src: z.ZodMiniString<string>;
1071
+ alt: z.ZodMiniString<string>;
1072
+ width: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
1073
+ height: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
1074
+ }, z.core.$strict>]>>>;
1075
+ sameAs: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniURL>>;
1076
+ listings: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniEnum<{
1077
+ google: "google";
1078
+ bing: "bing";
1079
+ apple: "apple";
1080
+ }> & z.core.$partial, z.ZodMiniString<string>>>;
1081
+ }, z.core.$strict>>>;
1082
+ services: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniObject<{
1083
+ name: z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>]>;
1084
+ description: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>]>>;
1085
+ slug: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>]>>;
1086
+ offers: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniObject<{
1087
+ name: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>]>>;
1088
+ price: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniNumber<number>]>>;
1089
+ priceCurrency: z.ZodMiniOptional<z.ZodMiniString<string>>;
1090
+ availability: z.ZodMiniOptional<z.ZodMiniString<string>>;
1091
+ url: z.ZodMiniOptional<z.ZodMiniURL>;
1092
+ validFrom: z.ZodMiniOptional<z.ZodMiniString<string>>;
1093
+ priceValidUntil: z.ZodMiniOptional<z.ZodMiniString<string>>;
1094
+ }, z.core.$strict>>>;
1095
+ }, z.core.$strict>>>;
1096
+ links: z.ZodMiniOptional<z.ZodMiniObject<{
1097
+ googleMaps: z.ZodMiniOptional<z.ZodMiniURL>;
1098
+ instagram: z.ZodMiniOptional<z.ZodMiniURL>;
1099
+ facebook: z.ZodMiniOptional<z.ZodMiniURL>;
1100
+ x: z.ZodMiniOptional<z.ZodMiniURL>;
1101
+ linkedin: z.ZodMiniOptional<z.ZodMiniURL>;
1102
+ youtube: z.ZodMiniOptional<z.ZodMiniURL>;
1103
+ github: z.ZodMiniOptional<z.ZodMiniURL>;
1104
+ }, z.core.$strict>>;
1105
+ }, z.core.$strict>>;
1106
+ site: z.ZodMiniObject<{
1107
+ defaultLocale: z.ZodMiniString<string>;
1108
+ locales: z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniObject<{
1109
+ name: z.ZodMiniString<string>;
1110
+ tagline: z.ZodMiniOptional<z.ZodMiniString<string>>;
1111
+ basePath: z.ZodMiniOptional<z.ZodMiniString<string>>;
1112
+ }, z.core.$strict>>;
1113
+ domains: z.ZodMiniOptional<z.ZodMiniObject<{
1114
+ canonical: z.ZodMiniURL;
1115
+ aliases: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniObject<{
1116
+ domain: z.ZodMiniString<string>;
1117
+ redirectType: z.ZodMiniUnion<readonly [z.ZodMiniLiteral<301>, z.ZodMiniLiteral<302>, z.ZodMiniLiteral<307>, z.ZodMiniLiteral<308>]>;
1118
+ redirectTo: z.ZodMiniString<string>;
1119
+ environment: z.ZodMiniOptional<z.ZodMiniString<string>>;
1120
+ }, z.core.$strict>>>;
1121
+ }, z.core.$strict>>;
1122
+ dns: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniObject<{
1123
+ provider: z.ZodMiniOptional<z.ZodMiniString<string>>;
1124
+ nameservers: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
1125
+ records: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniObject<{
1126
+ type: z.ZodMiniEnum<{
1127
+ A: "A";
1128
+ AAAA: "AAAA";
1129
+ CNAME: "CNAME";
1130
+ TXT: "TXT";
1131
+ MX: "MX";
1132
+ NS: "NS";
1133
+ SRV: "SRV";
1134
+ CAA: "CAA";
1135
+ PTR: "PTR";
1136
+ SOA: "SOA";
1137
+ }>;
1138
+ name: z.ZodMiniOptional<z.ZodMiniString<string>>;
1139
+ value: z.ZodMiniString<string>;
1140
+ ttl: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
1141
+ proxied: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
1142
+ }, z.core.$strict>>>;
1143
+ }, z.core.$strict>>>;
1144
+ cloudflare: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnknown>>;
1145
+ google: z.ZodMiniOptional<z.ZodMiniObject<{
1146
+ project: z.ZodMiniString<string>;
1147
+ }, z.core.$strict>>;
1148
+ searchConsole: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniObject<{
1149
+ delegatedOwners: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniEmail>>;
1150
+ fullUserGroup: z.ZodMiniOptional<z.ZodMiniEmail>;
1151
+ }, z.core.$strict>>>;
1152
+ environments: z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniObject<{
1153
+ url: z.ZodMiniURL;
1154
+ api: z.ZodMiniOptional<z.ZodMiniURL>;
1155
+ analytics: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
1156
+ ads: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
1157
+ robots: z.ZodMiniOptional<z.ZodMiniString<string>>;
1158
+ variant: z.ZodMiniOptional<z.ZodMiniString<string>>;
1159
+ }, z.core.$strict>>;
1160
+ plan: z.ZodMiniOptional<z.ZodMiniObject<{
1161
+ key: z.ZodMiniString<string>;
1162
+ addons: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
1163
+ }, z.core.$strict>>;
1164
+ abTesting: z.ZodMiniOptional<z.ZodMiniObject<{
1165
+ enabled: z.ZodMiniBoolean<boolean>;
1166
+ cookieName: z.ZodMiniOptional<z.ZodMiniString<string>>;
1167
+ cookieMaxAge: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
1168
+ splitRatio: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
1169
+ variants: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniObject<{
1170
+ environment: z.ZodMiniString<string>;
1171
+ description: z.ZodMiniOptional<z.ZodMiniString<string>>;
1172
+ overrides: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnknown>>;
1173
+ }, z.core.$strict>>>;
1174
+ }, z.core.$strict>>;
1175
+ experiments: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniObject<{
1176
+ enabled: z.ZodMiniBoolean<boolean>;
1177
+ category: z.ZodMiniOptional<z.ZodMiniEnum<{
1178
+ analytics: "analytics";
1179
+ marketing: "marketing";
1180
+ }>>;
1181
+ cookieName: z.ZodMiniOptional<z.ZodMiniString<string>>;
1182
+ cookieMaxAge: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
1183
+ splitRatio: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
1184
+ variants: z.ZodMiniTuple<readonly [z.ZodMiniString<string>, z.ZodMiniString<string>], null>;
1185
+ }, z.core.$strict>>>;
1186
+ fonts: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniObject<{
1187
+ name: z.ZodMiniString<string>;
1188
+ provider: z.ZodMiniEnum<{
1189
+ google: "google";
1190
+ fontsource: "fontsource";
1191
+ adobe: "adobe";
1192
+ bunny: "bunny";
1193
+ fontshare: "fontshare";
1194
+ googleicons: "googleicons";
1195
+ npm: "npm";
1196
+ local: "local";
1197
+ }>;
1198
+ cssVariable: z.ZodMiniString<string>;
1199
+ weights: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniUnion<readonly [z.ZodMiniNumber<number>, z.ZodMiniString<string>]>>>;
1200
+ styles: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniEnum<{
1201
+ normal: "normal";
1202
+ italic: "italic";
1203
+ }>>>;
1204
+ subsets: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
1205
+ fallbacks: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
1206
+ optimizedFallbacks: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
1207
+ display: z.ZodMiniOptional<z.ZodMiniEnum<{
1208
+ optional: "optional";
1209
+ auto: "auto";
1210
+ block: "block";
1211
+ swap: "swap";
1212
+ fallback: "fallback";
1213
+ }>>;
1214
+ formats: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
1215
+ unicodeRange: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
1216
+ variants: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniObject<{
1217
+ src: z.ZodMiniArray<z.ZodMiniString<string>>;
1218
+ weight: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniNumber<number>, z.ZodMiniString<string>]>>;
1219
+ style: z.ZodMiniOptional<z.ZodMiniEnum<{
1220
+ normal: "normal";
1221
+ italic: "italic";
1222
+ }>>;
1223
+ unicodeRange: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
1224
+ display: z.ZodMiniOptional<z.ZodMiniEnum<{
1225
+ optional: "optional";
1226
+ auto: "auto";
1227
+ block: "block";
1228
+ swap: "swap";
1229
+ fallback: "fallback";
1230
+ }>>;
1231
+ }, z.core.$strict>>>;
1232
+ preload: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniArray<z.ZodMiniObject<{
1233
+ weight: z.ZodMiniUnion<readonly [z.ZodMiniNumber<number>, z.ZodMiniString<string>]>;
1234
+ style: z.ZodMiniOptional<z.ZodMiniEnum<{
1235
+ normal: "normal";
1236
+ italic: "italic";
1237
+ }>>;
1238
+ }, z.core.$strict>>]>>;
1239
+ }, z.core.$strict>>>;
1240
+ tags: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnknown>>;
1241
+ postTypes: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnknown>>;
1242
+ galleries: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniObject<{
1243
+ title: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>]>>;
1244
+ tags: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
1245
+ images: z.ZodMiniArray<z.ZodMiniObject<{
1246
+ src: z.ZodMiniString<string>;
1247
+ alt: z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>]>;
1248
+ caption: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>]>>;
1249
+ }, z.core.$strict>>;
1250
+ }, z.core.$strict>>>;
1251
+ testimonials: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniObject<{
1252
+ title: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>]>>;
1253
+ items: z.ZodMiniArray<z.ZodMiniObject<{
1254
+ quote: z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>]>;
1255
+ name: z.ZodMiniString<string>;
1256
+ role: z.ZodMiniOptional<z.ZodMiniString<string>>;
1257
+ rating: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
1258
+ date: z.ZodMiniOptional<z.ZodMiniString<string>>;
1259
+ }, z.core.$strict>>;
1260
+ }, z.core.$strict>>>;
1261
+ templates: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnion<readonly [z.ZodMiniObject<{
1262
+ type: z.ZodMiniLiteral<"nav">;
1263
+ tags: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
1264
+ present: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnknown>>;
1265
+ items: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>>;
1266
+ }, z.core.$strict>, z.ZodMiniObject<{
1267
+ type: z.ZodMiniLiteral<"form">;
1268
+ tags: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
1269
+ present: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnknown>>;
1270
+ action: z.ZodMiniOptional<z.ZodMiniString<string>>;
1271
+ method: z.ZodMiniOptional<z.ZodMiniEnum<{
1272
+ get: "get";
1273
+ post: "post";
1274
+ }>>;
1275
+ fields: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniObject<{
1276
+ name: z.ZodMiniString<string>;
1277
+ type: z.ZodMiniEnum<{
1278
+ number: "number";
1279
+ date: "date";
1280
+ file: "file";
1281
+ text: "text";
1282
+ email: "email";
1283
+ url: "url";
1284
+ tel: "tel";
1285
+ password: "password";
1286
+ textarea: "textarea";
1287
+ select: "select";
1288
+ checkbox: "checkbox";
1289
+ radio: "radio";
1290
+ hidden: "hidden";
1291
+ }>;
1292
+ label: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>]>>;
1293
+ required: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
1294
+ validation: z.ZodMiniOptional<z.ZodMiniString<string>>;
1295
+ options: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniObject<{
1296
+ label: z.ZodMiniString<string>;
1297
+ value: z.ZodMiniString<string>;
1298
+ }, z.core.$strict>>]>>;
1299
+ attrs: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniNumber<number>, z.ZodMiniBoolean<boolean>]>>>;
1300
+ }, z.core.$strict>>>;
1301
+ submit: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniNumber<number>, z.ZodMiniBoolean<boolean>]>>>;
1302
+ honeypot: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
1303
+ }, z.core.$strict>, z.ZodMiniObject<{
1304
+ type: z.ZodMiniLiteral<"nodes">;
1305
+ tags: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
1306
+ nodes: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>>;
1307
+ }, z.core.$strict>]>>>;
1308
+ navigation: z.ZodMiniOptional<z.ZodMiniObject<{
1309
+ activeTemplate: z.ZodMiniOptional<z.ZodMiniObject<{
1310
+ default: z.ZodMiniOptional<z.ZodMiniString<string>>;
1311
+ breakpoints: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>;
1312
+ }, z.core.$strict>>;
1313
+ }, z.core.$strict>>;
1314
+ seo: z.ZodMiniOptional<z.ZodMiniObject<{
1315
+ titleTemplate: z.ZodMiniOptional<z.ZodMiniString<string>>;
1316
+ descriptionTemplate: z.ZodMiniOptional<z.ZodMiniString<string>>;
1317
+ robots: z.ZodMiniOptional<z.ZodMiniString<string>>;
1318
+ googleSiteVerification: z.ZodMiniOptional<z.ZodMiniString<string>>;
1319
+ bingSiteVerification: z.ZodMiniOptional<z.ZodMiniString<string>>;
1320
+ openGraph: z.ZodMiniOptional<z.ZodMiniObject<{
1321
+ type: z.ZodMiniOptional<z.ZodMiniString<string>>;
1322
+ siteName: z.ZodMiniOptional<z.ZodMiniString<string>>;
1323
+ title: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>]>>;
1324
+ description: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>]>>;
1325
+ image: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniObject<{
1326
+ src: z.ZodMiniString<string>;
1327
+ alt: z.ZodMiniString<string>;
1328
+ width: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
1329
+ height: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
1330
+ }, z.core.$strict>]>>;
1331
+ locale: z.ZodMiniOptional<z.ZodMiniString<string>>;
1332
+ }, z.core.$strict>>;
1333
+ twitter: z.ZodMiniOptional<z.ZodMiniObject<{
1334
+ card: z.ZodMiniOptional<z.ZodMiniEnum<{
1335
+ summary: "summary";
1336
+ summary_large_image: "summary_large_image";
1337
+ app: "app";
1338
+ player: "player";
1339
+ }>>;
1340
+ site: z.ZodMiniOptional<z.ZodMiniString<string>>;
1341
+ creator: z.ZodMiniOptional<z.ZodMiniString<string>>;
1342
+ title: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>]>>;
1343
+ description: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>]>>;
1344
+ image: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniObject<{
1345
+ src: z.ZodMiniString<string>;
1346
+ alt: z.ZodMiniString<string>;
1347
+ width: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
1348
+ height: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
1349
+ }, z.core.$strict>]>>;
1350
+ }, z.core.$strict>>;
1351
+ indexing: z.ZodMiniOptional<z.ZodMiniObject<{
1352
+ sitemapUrl: z.ZodMiniOptional<z.ZodMiniURL>;
1353
+ indexNow: z.ZodMiniOptional<z.ZodMiniObject<{
1354
+ key: z.ZodMiniString<string>;
1355
+ keyLocation: z.ZodMiniOptional<z.ZodMiniURL>;
1356
+ endpoint: z.ZodMiniOptional<z.ZodMiniURL>;
1357
+ }, z.core.$strict>>;
1358
+ searchConsole: z.ZodMiniOptional<z.ZodMiniObject<{
1359
+ siteUrl: z.ZodMiniString<string>;
1360
+ resubmitSitemap: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
1361
+ }, z.core.$strict>>;
1362
+ priorityUrls: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniURL>>;
1363
+ }, z.core.$strict>>;
1364
+ }, z.core.$strict>>;
1365
+ analytics: z.ZodMiniOptional<z.ZodMiniObject<{
1366
+ googleAnalyticsId: z.ZodMiniOptional<z.ZodMiniString<string>>;
1367
+ plausibleDomain: z.ZodMiniOptional<z.ZodMiniString<string>>;
1368
+ googleTagManagerId: z.ZodMiniOptional<z.ZodMiniString<string>>;
1369
+ clarityId: z.ZodMiniOptional<z.ZodMiniString<string>>;
1370
+ matomo: z.ZodMiniOptional<z.ZodMiniObject<{
1371
+ url: z.ZodMiniString<string>;
1372
+ siteId: z.ZodMiniString<string>;
1373
+ cookies: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
1374
+ abVariantDimensions: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniNumber<number>>>;
1375
+ }, z.core.$strict>>;
1376
+ }, z.core.$strict>>;
1377
+ notifications: z.ZodMiniOptional<z.ZodMiniObject<{
1378
+ email: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniEmail, z.ZodMiniObject<{
1379
+ provider: z.ZodMiniLiteral<"cloudflare">;
1380
+ to: z.ZodMiniOptional<z.ZodMiniEmail>;
1381
+ from: z.ZodMiniOptional<z.ZodMiniEmail>;
1382
+ fromName: z.ZodMiniOptional<z.ZodMiniString<string>>;
1383
+ replyTo: z.ZodMiniOptional<z.ZodMiniEmail>;
1384
+ binding: z.ZodMiniOptional<z.ZodMiniString<string>>;
1385
+ verifySender: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
1386
+ }, z.core.$strict>]>>;
1387
+ actionUrl: z.ZodMiniOptional<z.ZodMiniString<string>>;
1388
+ }, z.core.$strict>>;
1389
+ tracking: z.ZodMiniOptional<z.ZodMiniObject<{
1390
+ enabled: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
1391
+ category: z.ZodMiniOptional<z.ZodMiniEnum<{
1392
+ analytics: "analytics";
1393
+ marketing: "marketing";
1394
+ }>>;
1395
+ platforms: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
1396
+ }, z.core.$strict>>;
1397
+ ads: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniEnum<{
1398
+ google: "google";
1399
+ meta: "meta";
1400
+ linkedin: "linkedin";
1401
+ reddit: "reddit";
1402
+ tiktok: "tiktok";
1403
+ microsoft: "microsoft";
1404
+ pinterest: "pinterest";
1405
+ snapchat: "snapchat";
1406
+ }> & z.core.$partial, z.ZodMiniObject<{
1407
+ accountId: z.ZodMiniOptional<z.ZodMiniString<string>>;
1408
+ pixelId: z.ZodMiniOptional<z.ZodMiniString<string>>;
1409
+ conversionLabel: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniObject<{
1410
+ call: z.ZodMiniOptional<z.ZodMiniString<string>>;
1411
+ email: z.ZodMiniOptional<z.ZodMiniString<string>>;
1412
+ form: z.ZodMiniOptional<z.ZodMiniString<string>>;
1413
+ }, z.core.$strict>]>>;
1414
+ domain: z.ZodMiniOptional<z.ZodMiniString<string>>;
1415
+ domainVerification: z.ZodMiniOptional<z.ZodMiniString<string>>;
1416
+ category: z.ZodMiniOptional<z.ZodMiniEnum<{
1417
+ analytics: "analytics";
1418
+ marketing: "marketing";
1419
+ }>>;
1420
+ enabled: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
1421
+ }, z.core.$strict>>>;
1422
+ reviews: z.ZodMiniOptional<z.ZodMiniObject<{
1423
+ accountId: z.ZodMiniOptional<z.ZodMiniString<string>>;
1424
+ locations: z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniObject<{
1425
+ accountId: z.ZodMiniOptional<z.ZodMiniString<string>>;
1426
+ locationId: z.ZodMiniString<string>;
1427
+ featured: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
1428
+ minRating: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
1429
+ limit: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
1430
+ sort: z.ZodMiniOptional<z.ZodMiniEnum<{
1431
+ rating: "rating";
1432
+ recent: "recent";
1433
+ }>>;
1434
+ }, z.core.$strict>>;
1435
+ schema: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
1436
+ avatars: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
1437
+ }, z.core.$strict>>;
1438
+ crm: z.ZodMiniOptional<z.ZodMiniObject<{
1439
+ provider: z.ZodMiniEnum<{
1440
+ hubspot: "hubspot";
1441
+ bigin: "bigin";
1442
+ jobber: "jobber";
1443
+ }>;
1444
+ enabled: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
1445
+ hubspot: z.ZodMiniOptional<z.ZodMiniObject<{
1446
+ portalId: z.ZodMiniString<string>;
1447
+ formGuid: z.ZodMiniString<string>;
1448
+ dataCenter: z.ZodMiniOptional<z.ZodMiniEnum<{
1449
+ eu: "eu";
1450
+ na: "na";
1451
+ }>>;
1452
+ }, z.core.$strict>>;
1453
+ bigin: z.ZodMiniOptional<z.ZodMiniObject<{
1454
+ dataCenter: z.ZodMiniEnum<{
1455
+ in: "in";
1456
+ com: "com";
1457
+ ca: "ca";
1458
+ eu: "eu";
1459
+ "com.au": "com.au";
1460
+ jp: "jp";
1461
+ }>;
1462
+ duplicateCheckField: z.ZodMiniOptional<z.ZodMiniString<string>>;
1463
+ pipeline: z.ZodMiniOptional<z.ZodMiniObject<{
1464
+ enabled: z.ZodMiniBoolean<boolean>;
1465
+ subPipeline: z.ZodMiniOptional<z.ZodMiniString<string>>;
1466
+ stage: z.ZodMiniOptional<z.ZodMiniString<string>>;
1467
+ }, z.core.$strict>>;
1468
+ }, z.core.$strict>>;
1469
+ jobber: z.ZodMiniOptional<z.ZodMiniObject<{
1470
+ apiVersion: z.ZodMiniOptional<z.ZodMiniString<string>>;
1471
+ dedupe: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
1472
+ note: z.ZodMiniOptional<z.ZodMiniObject<{
1473
+ enabled: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
1474
+ }, z.core.$strict>>;
1475
+ }, z.core.$strict>>;
1476
+ fieldMap: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>;
1477
+ trackingFields: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>;
1478
+ }, z.core.$strict>>;
1479
+ security: z.ZodMiniOptional<z.ZodMiniObject<{
1480
+ turnstile: z.ZodMiniOptional<z.ZodMiniObject<{
1481
+ siteKey: z.ZodMiniOptional<z.ZodMiniString<string>>;
1482
+ }, z.core.$strict>>;
1483
+ }, z.core.$strict>>;
1484
+ legal: z.ZodMiniOptional<z.ZodMiniObject<{
1485
+ jurisdiction: z.ZodMiniOptional<z.ZodMiniEnum<{
1486
+ ca: "ca";
1487
+ }>>;
1488
+ privacyPolicy: z.ZodMiniOptional<z.ZodMiniObject<{
1489
+ enabled: z.ZodMiniBoolean<boolean>;
1490
+ url: z.ZodMiniOptional<z.ZodMiniURL>;
1491
+ lastUpdated: z.ZodMiniOptional<z.ZodMiniString<string>>;
1492
+ privacyOfficer: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniObject<{
1493
+ name: z.ZodMiniOptional<z.ZodMiniString<string>>;
1494
+ email: z.ZodMiniOptional<z.ZodMiniEmail>;
1495
+ phone: z.ZodMiniOptional<z.ZodMiniString<string>>;
1496
+ address: z.ZodMiniOptional<z.ZodMiniObject<{
1497
+ streetAddress: z.ZodMiniString<string>;
1498
+ addressLocality: z.ZodMiniString<string>;
1499
+ addressRegion: z.ZodMiniOptional<z.ZodMiniString<string>>;
1500
+ postalCode: z.ZodMiniOptional<z.ZodMiniString<string>>;
1501
+ addressCountry: z.ZodMiniString<string>;
1502
+ }, z.core.$strict>>;
1503
+ }, z.core.$strict>]>>;
1504
+ retention: z.ZodMiniOptional<z.ZodMiniString<string>>;
1505
+ processors: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniObject<{
1506
+ name: z.ZodMiniString<string>;
1507
+ purpose: z.ZodMiniString<string>;
1508
+ country: z.ZodMiniOptional<z.ZodMiniString<string>>;
1509
+ storage: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniObject<{
1510
+ country: z.ZodMiniString<string>;
1511
+ scope: z.ZodMiniOptional<z.ZodMiniString<string>>;
1512
+ }, z.core.$strict>>>;
1513
+ operatorCountry: z.ZodMiniOptional<z.ZodMiniString<string>>;
1514
+ privacyUrl: z.ZodMiniOptional<z.ZodMiniURL>;
1515
+ }, z.core.$strict>>>;
1516
+ }, z.core.$strict>>;
1517
+ termsOfService: z.ZodMiniOptional<z.ZodMiniObject<{
1518
+ enabled: z.ZodMiniBoolean<boolean>;
1519
+ url: z.ZodMiniOptional<z.ZodMiniURL>;
1520
+ lastUpdated: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniString<string>>>;
1521
+ governingLaw: z.ZodMiniOptional<z.ZodMiniString<string>>;
1522
+ }, z.core.$strict>>;
1523
+ cookieConsent: z.ZodMiniOptional<z.ZodMiniObject<{
1524
+ enabled: z.ZodMiniBoolean<boolean>;
1525
+ type: z.ZodMiniOptional<z.ZodMiniEnum<{
1526
+ "opt-in": "opt-in";
1527
+ "opt-out": "opt-out";
1528
+ }>>;
1529
+ position: z.ZodMiniOptional<z.ZodMiniEnum<{
1530
+ top: "top";
1531
+ bottom: "bottom";
1532
+ center: "center";
1533
+ }>>;
1534
+ categories: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
1535
+ }, z.core.$strict>>;
1536
+ }, z.core.$strict>>;
1537
+ icons: z.ZodMiniOptional<z.ZodMiniObject<{
1538
+ ui: z.ZodMiniOptional<z.ZodMiniString<string>>;
1539
+ brand: z.ZodMiniOptional<z.ZodMiniString<string>>;
1540
+ weight: z.ZodMiniOptional<z.ZodMiniString<string>>;
1541
+ sprite: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
1542
+ semantic: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
1543
+ 'fa7-solid': z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
1544
+ 'fa7-regular': z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
1545
+ 'fa7-light': z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
1546
+ 'fa7-thin': z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
1547
+ 'fa7-brands': z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
1548
+ 'simple-icons': z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
1549
+ 'material-symbols': z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
1550
+ lucide: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
1551
+ ph: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
1552
+ }, z.core.$loose>>;
1553
+ favicon: z.ZodMiniOptional<z.ZodMiniObject<{
1554
+ source: z.ZodMiniString<string>;
1555
+ lowResSource: z.ZodMiniOptional<z.ZodMiniString<string>>;
1556
+ name: z.ZodMiniOptional<z.ZodMiniString<string>>;
1557
+ themeColor: z.ZodMiniOptional<z.ZodMiniString<string>>;
1558
+ backgroundColor: z.ZodMiniOptional<z.ZodMiniString<string>>;
1559
+ }, z.core.$strict>>;
1560
+ deployment: z.ZodMiniOptional<z.ZodMiniObject<{
1561
+ platform: z.ZodMiniOptional<z.ZodMiniString<string>>;
1562
+ buildCommand: z.ZodMiniOptional<z.ZodMiniString<string>>;
1563
+ deployCommand: z.ZodMiniOptional<z.ZodMiniString<string>>;
1564
+ outputDirectory: z.ZodMiniOptional<z.ZodMiniString<string>>;
1565
+ type: z.ZodMiniOptional<z.ZodMiniString<string>>;
1566
+ repo: z.ZodMiniOptional<z.ZodMiniString<string>>;
1567
+ branch: z.ZodMiniOptional<z.ZodMiniString<string>>;
1568
+ }, z.core.$strict>>;
1569
+ }, z.core.$strict>;
1570
+ }, z.core.$strict>;
1571
+ export type Config = z.infer<typeof ConfigSchema>;
1572
+ /** The `organization` section — the company, independent of any one site. */
1573
+ export type OrganizationConfig = z.infer<typeof OrganizationSectionSchema>;
1574
+ /** The `site` section — one published presentation of the organization. */
1575
+ export type SiteSection = z.infer<typeof SiteSectionSchema>;
1576
+ /** One `fonts[]` entry — a serialisable projection of an Astro Fonts API family. */
1577
+ export type SiteFont = z.infer<typeof SiteFontSchema>;
1578
+ /** The `seo.indexing` block — what `vitops search notify` reads. */
1579
+ export type SiteIndexing = z.infer<typeof IndexingSchema>;
1580
+ /** IndexNow submission settings. The `key` is public by design. */
1581
+ export type SiteIndexNow = z.infer<typeof IndexNowSchema>;
1582
+ /** Google Search Console property settings. The credential is never in the config. */
1583
+ export type SiteSearchConsole = z.infer<typeof SearchConsoleSchema>;
1584
+ /** One `site.searchConsole` entry — a domain to onboard via `vitops search setup`. */
1585
+ export type SiteSearchConsoleSetup = z.infer<typeof SearchConsoleSetupSchema>;
1586
+ /** One `site.ads` entry — an ad property to link via `vitops ads setup`. */
1587
+ export type SiteAdProperty = z.infer<typeof AdPropertySchema>;
1588
+ /** The `site.reviews` block — what `vitops reviews` reads. */
1589
+ export type SiteReviews = z.infer<typeof ReviewsSchema>;
1590
+ /** One `site.reviews.locations` entry. */
1591
+ export type SiteReviewLocation = z.infer<typeof ReviewLocationSchema>;
1592
+ export type SitePlan = z.infer<typeof PlanSchema>;
1593
+ export type SiteExperiment = z.infer<typeof ExperimentSchema>;
1594
+ export declare const CONFIG_SCHEMA_URL = "https://unpkg.com/@getvitops/generator/config.schema.json";
1595
+ /** The installed copy, not the unpinned unpkg URL — see `SCHEMA_LOCAL_PATH`'s twin. */
1596
+ export declare const CONFIG_SCHEMA_LOCAL_PATH = "./node_modules/@getvitops/generator/config.schema.json";
1597
+ /** The published JSON Schema (draft-2020-12), derived from the zod schema. */
1598
+ export declare const configJsonSchema: {
1599
+ "~standard": z.core.ZodStandardSchemaWithJSON<z.ZodMiniObject<{
1600
+ $schema: z.ZodMiniOptional<z.ZodMiniString<string>>;
1601
+ configVersion: z.ZodMiniOptional<z.ZodMiniLiteral<1>>;
1602
+ designSystem: z.ZodMiniObject<{
1603
+ themes: z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniObject<{
1604
+ $schema: z.ZodMiniOptional<z.ZodMiniOptional<z.ZodMiniString<string>>>;
1605
+ meta: z.ZodMiniOptional<z.ZodMiniOptional<z.ZodMiniObject<{
1606
+ name: z.ZodMiniOptional<z.ZodMiniString<string>>;
1607
+ description: z.ZodMiniOptional<z.ZodMiniString<string>>;
1608
+ }, z.core.$strict>>>;
1609
+ shadows: z.ZodMiniOptional<z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>>;
1610
+ fonts: z.ZodMiniOptional<z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>>;
1611
+ typeScale: z.ZodMiniOptional<z.ZodMiniOptional<z.ZodMiniObject<{
1612
+ base: z.ZodMiniString<string>;
1613
+ ratio: z.ZodMiniNumber<number>;
1614
+ steps: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
1615
+ names: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
1616
+ baseStep: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
1617
+ baseline: z.ZodMiniOptional<z.ZodMiniString<string>>;
1618
+ fluid: z.ZodMiniOptional<z.ZodMiniObject<{
1619
+ minVw: z.ZodMiniString<string>;
1620
+ maxVw: z.ZodMiniString<string>;
1621
+ minRatio: z.ZodMiniNumber<number>;
1622
+ }, z.core.$strict>>;
1623
+ }, z.core.$strict>>>;
1624
+ spaceScale: z.ZodMiniOptional<z.ZodMiniOptional<z.ZodMiniObject<{
1625
+ base: z.ZodMiniString<string>;
1626
+ ratio: z.ZodMiniNumber<number>;
1627
+ steps: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
1628
+ names: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
1629
+ baseStep: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
1630
+ baseline: z.ZodMiniOptional<z.ZodMiniString<string>>;
1631
+ fluid: z.ZodMiniOptional<z.ZodMiniObject<{
1632
+ minVw: z.ZodMiniString<string>;
1633
+ maxVw: z.ZodMiniString<string>;
1634
+ minRatio: z.ZodMiniNumber<number>;
1635
+ }, z.core.$strict>>;
1636
+ }, z.core.$strict>>>;
1637
+ patterns: z.ZodMiniOptional<z.ZodMiniOptional<z.ZodMiniObject<{
1638
+ defaults: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>;
1639
+ radii: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>;
1640
+ groups: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>>;
1641
+ z: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniNumber<number>>>;
1642
+ items: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniObject<{
1643
+ group: z.ZodMiniOptional<z.ZodMiniString<string>>;
1644
+ overrides: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>;
1645
+ element: z.ZodMiniOptional<z.ZodMiniString<string>>;
1646
+ class: z.ZodMiniOptional<z.ZodMiniString<string>>;
1647
+ fill: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
1648
+ default_role: z.ZodMiniOptional<z.ZodMiniString<string>>;
1649
+ base: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>;
1650
+ states: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnknown>>>;
1651
+ roles: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
1652
+ }, z.core.$strict>>>;
1653
+ }, z.core.$strict>>>;
1654
+ typography: z.ZodMiniOptional<z.ZodMiniOptional<z.ZodMiniObject<{
1655
+ families: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>;
1656
+ roles: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniNumber<number>]>>>>;
1657
+ headings: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>;
1658
+ }, z.core.$strict>>>;
1659
+ animations: z.ZodMiniOptional<z.ZodMiniOptional<z.ZodMiniObject<{
1660
+ effects: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniObject<{
1661
+ kf: z.ZodMiniString<string>;
1662
+ css: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniNumber<number>]>>>;
1663
+ vars: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniNumber<number>]>>>;
1664
+ }, z.core.$strict>>>;
1665
+ journeys: z.ZodMiniOptional<z.ZodMiniObject<{
1666
+ base: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniNumber<number>]>>>>;
1667
+ compose: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniArray<z.ZodMiniString<string>>>>;
1668
+ }, z.core.$strict>>;
1669
+ }, z.core.$strict>>>;
1670
+ colors: z.ZodMiniOptional<z.ZodMiniObject<{
1671
+ palette: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnion<readonly [z.ZodMiniObject<{
1672
+ seed: z.ZodMiniString<string>;
1673
+ anchors: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>;
1674
+ }, z.core.$strict>, z.ZodMiniObject<{
1675
+ tones: z.ZodMiniUnion<readonly [z.ZodMiniArray<z.ZodMiniString<string>>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>]>;
1676
+ }, z.core.$strict>]>>>;
1677
+ roles: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniObject<{
1678
+ hue: z.ZodMiniString<string>;
1679
+ kind: z.ZodMiniOptional<z.ZodMiniEnum<{
1680
+ surface: "surface";
1681
+ chromatic: "chromatic";
1682
+ }>>;
1683
+ }, z.core.$strict>]>>>;
1684
+ utilities: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniEnum<{
1685
+ fill: "fill";
1686
+ bg: "bg";
1687
+ text: "text";
1688
+ icon: "icon";
1689
+ border: "border";
1690
+ outline: "outline";
1691
+ stroke: "stroke";
1692
+ }>>>;
1693
+ }, z.core.$strict>>;
1694
+ displayName: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>]>>;
1695
+ extends: z.ZodMiniOptional<z.ZodMiniString<string>>;
1696
+ }, z.core.$strict>>;
1697
+ defaultTheme: z.ZodMiniOptional<z.ZodMiniString<string>>;
1698
+ defaultColorScheme: z.ZodMiniOptional<z.ZodMiniEnum<{
1699
+ light: "light";
1700
+ dark: "dark";
1701
+ system: "system";
1702
+ }>>;
1703
+ }, z.core.$strict>;
1704
+ organization: z.ZodMiniOptional<z.ZodMiniObject<{
1705
+ name: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>]>>;
1706
+ legalName: z.ZodMiniOptional<z.ZodMiniString<string>>;
1707
+ foundingDate: z.ZodMiniOptional<z.ZodMiniString<string>>;
1708
+ logo: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniObject<{
1709
+ src: z.ZodMiniString<string>;
1710
+ alt: z.ZodMiniString<string>;
1711
+ width: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
1712
+ height: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
1713
+ }, z.core.$strict>]>>;
1714
+ email: z.ZodMiniOptional<z.ZodMiniEmail>;
1715
+ phone: z.ZodMiniOptional<z.ZodMiniString<string>>;
1716
+ address: z.ZodMiniOptional<z.ZodMiniObject<{
1717
+ streetAddress: z.ZodMiniString<string>;
1718
+ addressLocality: z.ZodMiniString<string>;
1719
+ addressRegion: z.ZodMiniOptional<z.ZodMiniString<string>>;
1720
+ postalCode: z.ZodMiniOptional<z.ZodMiniString<string>>;
1721
+ addressCountry: z.ZodMiniString<string>;
1722
+ }, z.core.$strict>>;
1723
+ taxID: z.ZodMiniOptional<z.ZodMiniString<string>>;
1724
+ vatID: z.ZodMiniOptional<z.ZodMiniString<string>>;
1725
+ sameAs: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniURL>>;
1726
+ contact: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniObject<{
1727
+ name: z.ZodMiniOptional<z.ZodMiniString<string>>;
1728
+ email: z.ZodMiniOptional<z.ZodMiniEmail>;
1729
+ phone: z.ZodMiniOptional<z.ZodMiniString<string>>;
1730
+ address: z.ZodMiniOptional<z.ZodMiniObject<{
1731
+ streetAddress: z.ZodMiniString<string>;
1732
+ addressLocality: z.ZodMiniString<string>;
1733
+ addressRegion: z.ZodMiniOptional<z.ZodMiniString<string>>;
1734
+ postalCode: z.ZodMiniOptional<z.ZodMiniString<string>>;
1735
+ addressCountry: z.ZodMiniString<string>;
1736
+ }, z.core.$strict>>;
1737
+ }, z.core.$strict>]>>;
1738
+ primaryLocation: z.ZodMiniOptional<z.ZodMiniString<string>>;
1739
+ locations: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniObject<{
1740
+ slug: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>]>>;
1741
+ name: z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>]>;
1742
+ email: z.ZodMiniOptional<z.ZodMiniEmail>;
1743
+ phone: z.ZodMiniOptional<z.ZodMiniString<string>>;
1744
+ address: z.ZodMiniOptional<z.ZodMiniObject<{
1745
+ streetAddress: z.ZodMiniString<string>;
1746
+ addressLocality: z.ZodMiniString<string>;
1747
+ addressRegion: z.ZodMiniOptional<z.ZodMiniString<string>>;
1748
+ postalCode: z.ZodMiniOptional<z.ZodMiniString<string>>;
1749
+ addressCountry: z.ZodMiniString<string>;
1750
+ }, z.core.$strict>>;
1751
+ geo: z.ZodMiniOptional<z.ZodMiniObject<{
1752
+ latitude: z.ZodMiniNumber<number>;
1753
+ longitude: z.ZodMiniNumber<number>;
1754
+ }, z.core.$strict>>;
1755
+ hours: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniObject<{
1756
+ dayOfWeek: z.ZodMiniArray<z.ZodMiniEnum<{
1757
+ Monday: "Monday";
1758
+ Tuesday: "Tuesday";
1759
+ Wednesday: "Wednesday";
1760
+ Thursday: "Thursday";
1761
+ Friday: "Friday";
1762
+ Saturday: "Saturday";
1763
+ Sunday: "Sunday";
1764
+ }>>;
1765
+ opens: z.ZodMiniString<string>;
1766
+ closes: z.ZodMiniString<string>;
1767
+ }, z.core.$strict>>>;
1768
+ hoursSpecial: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniObject<{
1769
+ validFrom: z.ZodMiniString<string>;
1770
+ validThrough: z.ZodMiniOptional<z.ZodMiniString<string>>;
1771
+ opens: z.ZodMiniOptional<z.ZodMiniString<string>>;
1772
+ closes: z.ZodMiniOptional<z.ZodMiniString<string>>;
1773
+ }, z.core.$strict>>>;
1774
+ type: z.ZodMiniOptional<z.ZodMiniEnum<{
1775
+ LocalBusiness: "LocalBusiness";
1776
+ Store: "Store";
1777
+ Restaurant: "Restaurant";
1778
+ CafeOrCoffeeShop: "CafeOrCoffeeShop";
1779
+ ProfessionalService: "ProfessionalService";
1780
+ MedicalBusiness: "MedicalBusiness";
1781
+ HealthAndBeautyBusiness: "HealthAndBeautyBusiness";
1782
+ HomeAndConstructionBusiness: "HomeAndConstructionBusiness";
1783
+ AutomotiveBusiness: "AutomotiveBusiness";
1784
+ FinancialService: "FinancialService";
1785
+ LegalService: "LegalService";
1786
+ RealEstateAgent: "RealEstateAgent";
1787
+ Organization: "Organization";
1788
+ }>>;
1789
+ description: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>]>>;
1790
+ areaServed: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
1791
+ priceRange: z.ZodMiniOptional<z.ZodMiniString<string>>;
1792
+ paymentAccepted: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
1793
+ currenciesAccepted: z.ZodMiniOptional<z.ZodMiniString<string>>;
1794
+ knowsLanguage: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
1795
+ photos: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniObject<{
1796
+ src: z.ZodMiniString<string>;
1797
+ alt: z.ZodMiniString<string>;
1798
+ width: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
1799
+ height: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
1800
+ }, z.core.$strict>]>>>;
1801
+ sameAs: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniURL>>;
1802
+ listings: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniEnum<{
1803
+ google: "google";
1804
+ bing: "bing";
1805
+ apple: "apple";
1806
+ }> & z.core.$partial, z.ZodMiniString<string>>>;
1807
+ }, z.core.$strict>>>;
1808
+ services: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniObject<{
1809
+ name: z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>]>;
1810
+ description: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>]>>;
1811
+ slug: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>]>>;
1812
+ offers: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniObject<{
1813
+ name: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>]>>;
1814
+ price: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniNumber<number>]>>;
1815
+ priceCurrency: z.ZodMiniOptional<z.ZodMiniString<string>>;
1816
+ availability: z.ZodMiniOptional<z.ZodMiniString<string>>;
1817
+ url: z.ZodMiniOptional<z.ZodMiniURL>;
1818
+ validFrom: z.ZodMiniOptional<z.ZodMiniString<string>>;
1819
+ priceValidUntil: z.ZodMiniOptional<z.ZodMiniString<string>>;
1820
+ }, z.core.$strict>>>;
1821
+ }, z.core.$strict>>>;
1822
+ links: z.ZodMiniOptional<z.ZodMiniObject<{
1823
+ googleMaps: z.ZodMiniOptional<z.ZodMiniURL>;
1824
+ instagram: z.ZodMiniOptional<z.ZodMiniURL>;
1825
+ facebook: z.ZodMiniOptional<z.ZodMiniURL>;
1826
+ x: z.ZodMiniOptional<z.ZodMiniURL>;
1827
+ linkedin: z.ZodMiniOptional<z.ZodMiniURL>;
1828
+ youtube: z.ZodMiniOptional<z.ZodMiniURL>;
1829
+ github: z.ZodMiniOptional<z.ZodMiniURL>;
1830
+ }, z.core.$strict>>;
1831
+ }, z.core.$strict>>;
1832
+ site: z.ZodMiniObject<{
1833
+ defaultLocale: z.ZodMiniString<string>;
1834
+ locales: z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniObject<{
1835
+ name: z.ZodMiniString<string>;
1836
+ tagline: z.ZodMiniOptional<z.ZodMiniString<string>>;
1837
+ basePath: z.ZodMiniOptional<z.ZodMiniString<string>>;
1838
+ }, z.core.$strict>>;
1839
+ domains: z.ZodMiniOptional<z.ZodMiniObject<{
1840
+ canonical: z.ZodMiniURL;
1841
+ aliases: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniObject<{
1842
+ domain: z.ZodMiniString<string>;
1843
+ redirectType: z.ZodMiniUnion<readonly [z.ZodMiniLiteral<301>, z.ZodMiniLiteral<302>, z.ZodMiniLiteral<307>, z.ZodMiniLiteral<308>]>;
1844
+ redirectTo: z.ZodMiniString<string>;
1845
+ environment: z.ZodMiniOptional<z.ZodMiniString<string>>;
1846
+ }, z.core.$strict>>>;
1847
+ }, z.core.$strict>>;
1848
+ dns: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniObject<{
1849
+ provider: z.ZodMiniOptional<z.ZodMiniString<string>>;
1850
+ nameservers: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
1851
+ records: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniObject<{
1852
+ type: z.ZodMiniEnum<{
1853
+ A: "A";
1854
+ AAAA: "AAAA";
1855
+ CNAME: "CNAME";
1856
+ TXT: "TXT";
1857
+ MX: "MX";
1858
+ NS: "NS";
1859
+ SRV: "SRV";
1860
+ CAA: "CAA";
1861
+ PTR: "PTR";
1862
+ SOA: "SOA";
1863
+ }>;
1864
+ name: z.ZodMiniOptional<z.ZodMiniString<string>>;
1865
+ value: z.ZodMiniString<string>;
1866
+ ttl: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
1867
+ proxied: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
1868
+ }, z.core.$strict>>>;
1869
+ }, z.core.$strict>>>;
1870
+ cloudflare: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnknown>>;
1871
+ google: z.ZodMiniOptional<z.ZodMiniObject<{
1872
+ project: z.ZodMiniString<string>;
1873
+ }, z.core.$strict>>;
1874
+ searchConsole: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniObject<{
1875
+ delegatedOwners: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniEmail>>;
1876
+ fullUserGroup: z.ZodMiniOptional<z.ZodMiniEmail>;
1877
+ }, z.core.$strict>>>;
1878
+ environments: z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniObject<{
1879
+ url: z.ZodMiniURL;
1880
+ api: z.ZodMiniOptional<z.ZodMiniURL>;
1881
+ analytics: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
1882
+ ads: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
1883
+ robots: z.ZodMiniOptional<z.ZodMiniString<string>>;
1884
+ variant: z.ZodMiniOptional<z.ZodMiniString<string>>;
1885
+ }, z.core.$strict>>;
1886
+ plan: z.ZodMiniOptional<z.ZodMiniObject<{
1887
+ key: z.ZodMiniString<string>;
1888
+ addons: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
1889
+ }, z.core.$strict>>;
1890
+ abTesting: z.ZodMiniOptional<z.ZodMiniObject<{
1891
+ enabled: z.ZodMiniBoolean<boolean>;
1892
+ cookieName: z.ZodMiniOptional<z.ZodMiniString<string>>;
1893
+ cookieMaxAge: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
1894
+ splitRatio: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
1895
+ variants: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniObject<{
1896
+ environment: z.ZodMiniString<string>;
1897
+ description: z.ZodMiniOptional<z.ZodMiniString<string>>;
1898
+ overrides: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnknown>>;
1899
+ }, z.core.$strict>>>;
1900
+ }, z.core.$strict>>;
1901
+ experiments: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniObject<{
1902
+ enabled: z.ZodMiniBoolean<boolean>;
1903
+ category: z.ZodMiniOptional<z.ZodMiniEnum<{
1904
+ analytics: "analytics";
1905
+ marketing: "marketing";
1906
+ }>>;
1907
+ cookieName: z.ZodMiniOptional<z.ZodMiniString<string>>;
1908
+ cookieMaxAge: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
1909
+ splitRatio: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
1910
+ variants: z.ZodMiniTuple<readonly [z.ZodMiniString<string>, z.ZodMiniString<string>], null>;
1911
+ }, z.core.$strict>>>;
1912
+ fonts: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniObject<{
1913
+ name: z.ZodMiniString<string>;
1914
+ provider: z.ZodMiniEnum<{
1915
+ google: "google";
1916
+ fontsource: "fontsource";
1917
+ adobe: "adobe";
1918
+ bunny: "bunny";
1919
+ fontshare: "fontshare";
1920
+ googleicons: "googleicons";
1921
+ npm: "npm";
1922
+ local: "local";
1923
+ }>;
1924
+ cssVariable: z.ZodMiniString<string>;
1925
+ weights: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniUnion<readonly [z.ZodMiniNumber<number>, z.ZodMiniString<string>]>>>;
1926
+ styles: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniEnum<{
1927
+ normal: "normal";
1928
+ italic: "italic";
1929
+ }>>>;
1930
+ subsets: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
1931
+ fallbacks: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
1932
+ optimizedFallbacks: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
1933
+ display: z.ZodMiniOptional<z.ZodMiniEnum<{
1934
+ optional: "optional";
1935
+ auto: "auto";
1936
+ block: "block";
1937
+ swap: "swap";
1938
+ fallback: "fallback";
1939
+ }>>;
1940
+ formats: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
1941
+ unicodeRange: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
1942
+ variants: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniObject<{
1943
+ src: z.ZodMiniArray<z.ZodMiniString<string>>;
1944
+ weight: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniNumber<number>, z.ZodMiniString<string>]>>;
1945
+ style: z.ZodMiniOptional<z.ZodMiniEnum<{
1946
+ normal: "normal";
1947
+ italic: "italic";
1948
+ }>>;
1949
+ unicodeRange: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
1950
+ display: z.ZodMiniOptional<z.ZodMiniEnum<{
1951
+ optional: "optional";
1952
+ auto: "auto";
1953
+ block: "block";
1954
+ swap: "swap";
1955
+ fallback: "fallback";
1956
+ }>>;
1957
+ }, z.core.$strict>>>;
1958
+ preload: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniArray<z.ZodMiniObject<{
1959
+ weight: z.ZodMiniUnion<readonly [z.ZodMiniNumber<number>, z.ZodMiniString<string>]>;
1960
+ style: z.ZodMiniOptional<z.ZodMiniEnum<{
1961
+ normal: "normal";
1962
+ italic: "italic";
1963
+ }>>;
1964
+ }, z.core.$strict>>]>>;
1965
+ }, z.core.$strict>>>;
1966
+ tags: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnknown>>;
1967
+ postTypes: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnknown>>;
1968
+ galleries: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniObject<{
1969
+ title: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>]>>;
1970
+ tags: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
1971
+ images: z.ZodMiniArray<z.ZodMiniObject<{
1972
+ src: z.ZodMiniString<string>;
1973
+ alt: z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>]>;
1974
+ caption: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>]>>;
1975
+ }, z.core.$strict>>;
1976
+ }, z.core.$strict>>>;
1977
+ testimonials: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniObject<{
1978
+ title: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>]>>;
1979
+ items: z.ZodMiniArray<z.ZodMiniObject<{
1980
+ quote: z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>]>;
1981
+ name: z.ZodMiniString<string>;
1982
+ role: z.ZodMiniOptional<z.ZodMiniString<string>>;
1983
+ rating: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
1984
+ date: z.ZodMiniOptional<z.ZodMiniString<string>>;
1985
+ }, z.core.$strict>>;
1986
+ }, z.core.$strict>>>;
1987
+ templates: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnion<readonly [z.ZodMiniObject<{
1988
+ type: z.ZodMiniLiteral<"nav">;
1989
+ tags: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
1990
+ present: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnknown>>;
1991
+ items: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>>;
1992
+ }, z.core.$strict>, z.ZodMiniObject<{
1993
+ type: z.ZodMiniLiteral<"form">;
1994
+ tags: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
1995
+ present: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnknown>>;
1996
+ action: z.ZodMiniOptional<z.ZodMiniString<string>>;
1997
+ method: z.ZodMiniOptional<z.ZodMiniEnum<{
1998
+ get: "get";
1999
+ post: "post";
2000
+ }>>;
2001
+ fields: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniObject<{
2002
+ name: z.ZodMiniString<string>;
2003
+ type: z.ZodMiniEnum<{
2004
+ number: "number";
2005
+ date: "date";
2006
+ file: "file";
2007
+ text: "text";
2008
+ email: "email";
2009
+ url: "url";
2010
+ tel: "tel";
2011
+ password: "password";
2012
+ textarea: "textarea";
2013
+ select: "select";
2014
+ checkbox: "checkbox";
2015
+ radio: "radio";
2016
+ hidden: "hidden";
2017
+ }>;
2018
+ label: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>]>>;
2019
+ required: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
2020
+ validation: z.ZodMiniOptional<z.ZodMiniString<string>>;
2021
+ options: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniObject<{
2022
+ label: z.ZodMiniString<string>;
2023
+ value: z.ZodMiniString<string>;
2024
+ }, z.core.$strict>>]>>;
2025
+ attrs: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniNumber<number>, z.ZodMiniBoolean<boolean>]>>>;
2026
+ }, z.core.$strict>>>;
2027
+ submit: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniNumber<number>, z.ZodMiniBoolean<boolean>]>>>;
2028
+ honeypot: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
2029
+ }, z.core.$strict>, z.ZodMiniObject<{
2030
+ type: z.ZodMiniLiteral<"nodes">;
2031
+ tags: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
2032
+ nodes: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>>;
2033
+ }, z.core.$strict>]>>>;
2034
+ navigation: z.ZodMiniOptional<z.ZodMiniObject<{
2035
+ activeTemplate: z.ZodMiniOptional<z.ZodMiniObject<{
2036
+ default: z.ZodMiniOptional<z.ZodMiniString<string>>;
2037
+ breakpoints: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>;
2038
+ }, z.core.$strict>>;
2039
+ }, z.core.$strict>>;
2040
+ seo: z.ZodMiniOptional<z.ZodMiniObject<{
2041
+ titleTemplate: z.ZodMiniOptional<z.ZodMiniString<string>>;
2042
+ descriptionTemplate: z.ZodMiniOptional<z.ZodMiniString<string>>;
2043
+ robots: z.ZodMiniOptional<z.ZodMiniString<string>>;
2044
+ googleSiteVerification: z.ZodMiniOptional<z.ZodMiniString<string>>;
2045
+ bingSiteVerification: z.ZodMiniOptional<z.ZodMiniString<string>>;
2046
+ openGraph: z.ZodMiniOptional<z.ZodMiniObject<{
2047
+ type: z.ZodMiniOptional<z.ZodMiniString<string>>;
2048
+ siteName: z.ZodMiniOptional<z.ZodMiniString<string>>;
2049
+ title: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>]>>;
2050
+ description: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>]>>;
2051
+ image: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniObject<{
2052
+ src: z.ZodMiniString<string>;
2053
+ alt: z.ZodMiniString<string>;
2054
+ width: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
2055
+ height: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
2056
+ }, z.core.$strict>]>>;
2057
+ locale: z.ZodMiniOptional<z.ZodMiniString<string>>;
2058
+ }, z.core.$strict>>;
2059
+ twitter: z.ZodMiniOptional<z.ZodMiniObject<{
2060
+ card: z.ZodMiniOptional<z.ZodMiniEnum<{
2061
+ summary: "summary";
2062
+ summary_large_image: "summary_large_image";
2063
+ app: "app";
2064
+ player: "player";
2065
+ }>>;
2066
+ site: z.ZodMiniOptional<z.ZodMiniString<string>>;
2067
+ creator: z.ZodMiniOptional<z.ZodMiniString<string>>;
2068
+ title: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>]>>;
2069
+ description: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>]>>;
2070
+ image: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniObject<{
2071
+ src: z.ZodMiniString<string>;
2072
+ alt: z.ZodMiniString<string>;
2073
+ width: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
2074
+ height: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
2075
+ }, z.core.$strict>]>>;
2076
+ }, z.core.$strict>>;
2077
+ indexing: z.ZodMiniOptional<z.ZodMiniObject<{
2078
+ sitemapUrl: z.ZodMiniOptional<z.ZodMiniURL>;
2079
+ indexNow: z.ZodMiniOptional<z.ZodMiniObject<{
2080
+ key: z.ZodMiniString<string>;
2081
+ keyLocation: z.ZodMiniOptional<z.ZodMiniURL>;
2082
+ endpoint: z.ZodMiniOptional<z.ZodMiniURL>;
2083
+ }, z.core.$strict>>;
2084
+ searchConsole: z.ZodMiniOptional<z.ZodMiniObject<{
2085
+ siteUrl: z.ZodMiniString<string>;
2086
+ resubmitSitemap: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
2087
+ }, z.core.$strict>>;
2088
+ priorityUrls: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniURL>>;
2089
+ }, z.core.$strict>>;
2090
+ }, z.core.$strict>>;
2091
+ analytics: z.ZodMiniOptional<z.ZodMiniObject<{
2092
+ googleAnalyticsId: z.ZodMiniOptional<z.ZodMiniString<string>>;
2093
+ plausibleDomain: z.ZodMiniOptional<z.ZodMiniString<string>>;
2094
+ googleTagManagerId: z.ZodMiniOptional<z.ZodMiniString<string>>;
2095
+ clarityId: z.ZodMiniOptional<z.ZodMiniString<string>>;
2096
+ matomo: z.ZodMiniOptional<z.ZodMiniObject<{
2097
+ url: z.ZodMiniString<string>;
2098
+ siteId: z.ZodMiniString<string>;
2099
+ cookies: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
2100
+ abVariantDimensions: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniNumber<number>>>;
2101
+ }, z.core.$strict>>;
2102
+ }, z.core.$strict>>;
2103
+ notifications: z.ZodMiniOptional<z.ZodMiniObject<{
2104
+ email: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniEmail, z.ZodMiniObject<{
2105
+ provider: z.ZodMiniLiteral<"cloudflare">;
2106
+ to: z.ZodMiniOptional<z.ZodMiniEmail>;
2107
+ from: z.ZodMiniOptional<z.ZodMiniEmail>;
2108
+ fromName: z.ZodMiniOptional<z.ZodMiniString<string>>;
2109
+ replyTo: z.ZodMiniOptional<z.ZodMiniEmail>;
2110
+ binding: z.ZodMiniOptional<z.ZodMiniString<string>>;
2111
+ verifySender: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
2112
+ }, z.core.$strict>]>>;
2113
+ actionUrl: z.ZodMiniOptional<z.ZodMiniString<string>>;
2114
+ }, z.core.$strict>>;
2115
+ tracking: z.ZodMiniOptional<z.ZodMiniObject<{
2116
+ enabled: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
2117
+ category: z.ZodMiniOptional<z.ZodMiniEnum<{
2118
+ analytics: "analytics";
2119
+ marketing: "marketing";
2120
+ }>>;
2121
+ platforms: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
2122
+ }, z.core.$strict>>;
2123
+ ads: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniEnum<{
2124
+ google: "google";
2125
+ meta: "meta";
2126
+ linkedin: "linkedin";
2127
+ reddit: "reddit";
2128
+ tiktok: "tiktok";
2129
+ microsoft: "microsoft";
2130
+ pinterest: "pinterest";
2131
+ snapchat: "snapchat";
2132
+ }> & z.core.$partial, z.ZodMiniObject<{
2133
+ accountId: z.ZodMiniOptional<z.ZodMiniString<string>>;
2134
+ pixelId: z.ZodMiniOptional<z.ZodMiniString<string>>;
2135
+ conversionLabel: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniObject<{
2136
+ call: z.ZodMiniOptional<z.ZodMiniString<string>>;
2137
+ email: z.ZodMiniOptional<z.ZodMiniString<string>>;
2138
+ form: z.ZodMiniOptional<z.ZodMiniString<string>>;
2139
+ }, z.core.$strict>]>>;
2140
+ domain: z.ZodMiniOptional<z.ZodMiniString<string>>;
2141
+ domainVerification: z.ZodMiniOptional<z.ZodMiniString<string>>;
2142
+ category: z.ZodMiniOptional<z.ZodMiniEnum<{
2143
+ analytics: "analytics";
2144
+ marketing: "marketing";
2145
+ }>>;
2146
+ enabled: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
2147
+ }, z.core.$strict>>>;
2148
+ reviews: z.ZodMiniOptional<z.ZodMiniObject<{
2149
+ accountId: z.ZodMiniOptional<z.ZodMiniString<string>>;
2150
+ locations: z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniObject<{
2151
+ accountId: z.ZodMiniOptional<z.ZodMiniString<string>>;
2152
+ locationId: z.ZodMiniString<string>;
2153
+ featured: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
2154
+ minRating: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
2155
+ limit: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
2156
+ sort: z.ZodMiniOptional<z.ZodMiniEnum<{
2157
+ rating: "rating";
2158
+ recent: "recent";
2159
+ }>>;
2160
+ }, z.core.$strict>>;
2161
+ schema: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
2162
+ avatars: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
2163
+ }, z.core.$strict>>;
2164
+ crm: z.ZodMiniOptional<z.ZodMiniObject<{
2165
+ provider: z.ZodMiniEnum<{
2166
+ hubspot: "hubspot";
2167
+ bigin: "bigin";
2168
+ jobber: "jobber";
2169
+ }>;
2170
+ enabled: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
2171
+ hubspot: z.ZodMiniOptional<z.ZodMiniObject<{
2172
+ portalId: z.ZodMiniString<string>;
2173
+ formGuid: z.ZodMiniString<string>;
2174
+ dataCenter: z.ZodMiniOptional<z.ZodMiniEnum<{
2175
+ eu: "eu";
2176
+ na: "na";
2177
+ }>>;
2178
+ }, z.core.$strict>>;
2179
+ bigin: z.ZodMiniOptional<z.ZodMiniObject<{
2180
+ dataCenter: z.ZodMiniEnum<{
2181
+ in: "in";
2182
+ com: "com";
2183
+ ca: "ca";
2184
+ eu: "eu";
2185
+ "com.au": "com.au";
2186
+ jp: "jp";
2187
+ }>;
2188
+ duplicateCheckField: z.ZodMiniOptional<z.ZodMiniString<string>>;
2189
+ pipeline: z.ZodMiniOptional<z.ZodMiniObject<{
2190
+ enabled: z.ZodMiniBoolean<boolean>;
2191
+ subPipeline: z.ZodMiniOptional<z.ZodMiniString<string>>;
2192
+ stage: z.ZodMiniOptional<z.ZodMiniString<string>>;
2193
+ }, z.core.$strict>>;
2194
+ }, z.core.$strict>>;
2195
+ jobber: z.ZodMiniOptional<z.ZodMiniObject<{
2196
+ apiVersion: z.ZodMiniOptional<z.ZodMiniString<string>>;
2197
+ dedupe: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
2198
+ note: z.ZodMiniOptional<z.ZodMiniObject<{
2199
+ enabled: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
2200
+ }, z.core.$strict>>;
2201
+ }, z.core.$strict>>;
2202
+ fieldMap: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>;
2203
+ trackingFields: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>;
2204
+ }, z.core.$strict>>;
2205
+ security: z.ZodMiniOptional<z.ZodMiniObject<{
2206
+ turnstile: z.ZodMiniOptional<z.ZodMiniObject<{
2207
+ siteKey: z.ZodMiniOptional<z.ZodMiniString<string>>;
2208
+ }, z.core.$strict>>;
2209
+ }, z.core.$strict>>;
2210
+ legal: z.ZodMiniOptional<z.ZodMiniObject<{
2211
+ jurisdiction: z.ZodMiniOptional<z.ZodMiniEnum<{
2212
+ ca: "ca";
2213
+ }>>;
2214
+ privacyPolicy: z.ZodMiniOptional<z.ZodMiniObject<{
2215
+ enabled: z.ZodMiniBoolean<boolean>;
2216
+ url: z.ZodMiniOptional<z.ZodMiniURL>;
2217
+ lastUpdated: z.ZodMiniOptional<z.ZodMiniString<string>>;
2218
+ privacyOfficer: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniObject<{
2219
+ name: z.ZodMiniOptional<z.ZodMiniString<string>>;
2220
+ email: z.ZodMiniOptional<z.ZodMiniEmail>;
2221
+ phone: z.ZodMiniOptional<z.ZodMiniString<string>>;
2222
+ address: z.ZodMiniOptional<z.ZodMiniObject<{
2223
+ streetAddress: z.ZodMiniString<string>;
2224
+ addressLocality: z.ZodMiniString<string>;
2225
+ addressRegion: z.ZodMiniOptional<z.ZodMiniString<string>>;
2226
+ postalCode: z.ZodMiniOptional<z.ZodMiniString<string>>;
2227
+ addressCountry: z.ZodMiniString<string>;
2228
+ }, z.core.$strict>>;
2229
+ }, z.core.$strict>]>>;
2230
+ retention: z.ZodMiniOptional<z.ZodMiniString<string>>;
2231
+ processors: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniObject<{
2232
+ name: z.ZodMiniString<string>;
2233
+ purpose: z.ZodMiniString<string>;
2234
+ country: z.ZodMiniOptional<z.ZodMiniString<string>>;
2235
+ storage: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniObject<{
2236
+ country: z.ZodMiniString<string>;
2237
+ scope: z.ZodMiniOptional<z.ZodMiniString<string>>;
2238
+ }, z.core.$strict>>>;
2239
+ operatorCountry: z.ZodMiniOptional<z.ZodMiniString<string>>;
2240
+ privacyUrl: z.ZodMiniOptional<z.ZodMiniURL>;
2241
+ }, z.core.$strict>>>;
2242
+ }, z.core.$strict>>;
2243
+ termsOfService: z.ZodMiniOptional<z.ZodMiniObject<{
2244
+ enabled: z.ZodMiniBoolean<boolean>;
2245
+ url: z.ZodMiniOptional<z.ZodMiniURL>;
2246
+ lastUpdated: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniString<string>>>;
2247
+ governingLaw: z.ZodMiniOptional<z.ZodMiniString<string>>;
2248
+ }, z.core.$strict>>;
2249
+ cookieConsent: z.ZodMiniOptional<z.ZodMiniObject<{
2250
+ enabled: z.ZodMiniBoolean<boolean>;
2251
+ type: z.ZodMiniOptional<z.ZodMiniEnum<{
2252
+ "opt-in": "opt-in";
2253
+ "opt-out": "opt-out";
2254
+ }>>;
2255
+ position: z.ZodMiniOptional<z.ZodMiniEnum<{
2256
+ top: "top";
2257
+ bottom: "bottom";
2258
+ center: "center";
2259
+ }>>;
2260
+ categories: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
2261
+ }, z.core.$strict>>;
2262
+ }, z.core.$strict>>;
2263
+ icons: z.ZodMiniOptional<z.ZodMiniObject<{
2264
+ ui: z.ZodMiniOptional<z.ZodMiniString<string>>;
2265
+ brand: z.ZodMiniOptional<z.ZodMiniString<string>>;
2266
+ weight: z.ZodMiniOptional<z.ZodMiniString<string>>;
2267
+ sprite: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
2268
+ semantic: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
2269
+ 'fa7-solid': z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
2270
+ 'fa7-regular': z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
2271
+ 'fa7-light': z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
2272
+ 'fa7-thin': z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
2273
+ 'fa7-brands': z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
2274
+ 'simple-icons': z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
2275
+ 'material-symbols': z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
2276
+ lucide: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
2277
+ ph: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
2278
+ }, z.core.$loose>>;
2279
+ favicon: z.ZodMiniOptional<z.ZodMiniObject<{
2280
+ source: z.ZodMiniString<string>;
2281
+ lowResSource: z.ZodMiniOptional<z.ZodMiniString<string>>;
2282
+ name: z.ZodMiniOptional<z.ZodMiniString<string>>;
2283
+ themeColor: z.ZodMiniOptional<z.ZodMiniString<string>>;
2284
+ backgroundColor: z.ZodMiniOptional<z.ZodMiniString<string>>;
2285
+ }, z.core.$strict>>;
2286
+ deployment: z.ZodMiniOptional<z.ZodMiniObject<{
2287
+ platform: z.ZodMiniOptional<z.ZodMiniString<string>>;
2288
+ buildCommand: z.ZodMiniOptional<z.ZodMiniString<string>>;
2289
+ deployCommand: z.ZodMiniOptional<z.ZodMiniString<string>>;
2290
+ outputDirectory: z.ZodMiniOptional<z.ZodMiniString<string>>;
2291
+ type: z.ZodMiniOptional<z.ZodMiniString<string>>;
2292
+ repo: z.ZodMiniOptional<z.ZodMiniString<string>>;
2293
+ branch: z.ZodMiniOptional<z.ZodMiniString<string>>;
2294
+ }, z.core.$strict>>;
2295
+ }, z.core.$strict>;
2296
+ }, z.core.$strict>>;
2297
+ $schema?: "https://json-schema.org/draft/2020-12/schema" | "http://json-schema.org/draft-07/schema#" | "http://json-schema.org/draft-04/schema#";
2298
+ $id: string;
2299
+ $anchor?: string;
2300
+ $ref?: string;
2301
+ $dynamicRef?: string;
2302
+ $dynamicAnchor?: string;
2303
+ $vocabulary?: Record<string, boolean>;
2304
+ $comment?: string;
2305
+ $defs?: Record<string, z.core.JSONSchema.JSONSchema>;
2306
+ type?: z.core.JSONSchema.SchemaType | z.core.JSONSchema.SchemaType[];
2307
+ additionalItems?: z.core.JSONSchema._JSONSchema;
2308
+ unevaluatedItems?: z.core.JSONSchema._JSONSchema;
2309
+ prefixItems?: z.core.JSONSchema._JSONSchema[];
2310
+ items?: z.core.JSONSchema._JSONSchema | z.core.JSONSchema._JSONSchema[];
2311
+ contains?: z.core.JSONSchema._JSONSchema;
2312
+ additionalProperties?: z.core.JSONSchema._JSONSchema;
2313
+ unevaluatedProperties?: z.core.JSONSchema._JSONSchema;
2314
+ properties?: Record<string, z.core.JSONSchema._JSONSchema>;
2315
+ patternProperties?: Record<string, z.core.JSONSchema._JSONSchema>;
2316
+ dependentSchemas?: Record<string, z.core.JSONSchema._JSONSchema>;
2317
+ propertyNames?: z.core.JSONSchema._JSONSchema;
2318
+ if?: z.core.JSONSchema._JSONSchema;
2319
+ then?: z.core.JSONSchema._JSONSchema;
2320
+ else?: z.core.JSONSchema._JSONSchema;
2321
+ allOf?: z.core.JSONSchema.JSONSchema[];
2322
+ anyOf?: z.core.JSONSchema.JSONSchema[];
2323
+ oneOf?: z.core.JSONSchema.JSONSchema[];
2324
+ not?: z.core.JSONSchema._JSONSchema;
2325
+ multipleOf?: number;
2326
+ maximum?: number;
2327
+ exclusiveMaximum?: number | boolean;
2328
+ minimum?: number;
2329
+ exclusiveMinimum?: number | boolean;
2330
+ maxLength?: number;
2331
+ minLength?: number;
2332
+ pattern?: string;
2333
+ maxItems?: number;
2334
+ minItems?: number;
2335
+ uniqueItems?: boolean;
2336
+ maxContains?: number;
2337
+ minContains?: number;
2338
+ maxProperties?: number;
2339
+ minProperties?: number;
2340
+ required?: string[];
2341
+ dependentRequired?: Record<string, string[]>;
2342
+ enum?: Array<string | number | boolean | null>;
2343
+ const?: string | number | boolean | null;
2344
+ id?: string;
2345
+ title?: string;
2346
+ description?: string;
2347
+ default?: unknown;
2348
+ deprecated?: boolean;
2349
+ readOnly?: boolean;
2350
+ writeOnly?: boolean;
2351
+ nullable?: boolean;
2352
+ examples?: unknown[];
2353
+ format?: string;
2354
+ contentMediaType?: string;
2355
+ contentEncoding?: string;
2356
+ contentSchema?: z.core.JSONSchema.JSONSchema;
2357
+ _prefault?: unknown;
2358
+ };
2359
+ export type ConfigValidationResult = {
2360
+ ok: true;
2361
+ data: Config;
2362
+ errors: [];
2363
+ } | {
2364
+ ok: false;
2365
+ data: undefined;
2366
+ errors: z.core.$ZodIssue[];
2367
+ };
2368
+ /**
2369
+ * One entry per add-on key `site.plan.addons` can name: `label` is the human
2370
+ * name used in the validation error, `gates` answers whether the config
2371
+ * actually has the gated feature turned on. Kept beside `Config`/`validateConfig`
2372
+ * (not in `shared.ts`, despite that file's own small-lookup-table pattern —
2373
+ * `shared.ts` exists specifically to let `generate.ts` and `docs.ts` share data
2374
+ * without one importing the other, and neither of those needs this table;
2375
+ * `CRM_PROVIDER_BLOCKS` below is the closer precedent for "small map local to
2376
+ * `validateConfig`'s own concerns").
2377
+ *
2378
+ * `bookkeeping`/`support`/`software_licenses` — the Portal's other `feature_key`
2379
+ * values — intentionally have no entry here: they're pure Portal/billing
2380
+ * features with no `Config` counterpart, not a gap to fill in later.
2381
+ */
2382
+ export interface PlanCapability {
2383
+ label: string;
2384
+ gates: (cfg: Config) => boolean;
2385
+ }
2386
+ export declare const PLAN_CAPABILITIES: Record<string, PlanCapability>;
2387
+ /**
2388
+ * Validate a raw (already parsed) config: shape via zod, then the cross-field
2389
+ * integrity that JSON Schema can't express (referential keys, extends acyclicity).
2390
+ * These live only here — the published JSON Schema enforces shape, not integrity.
2391
+ */
2392
+ export declare function validateConfig(input: unknown): ConfigValidationResult;
2393
+ /**
2394
+ * Warning strings for an enabled `site.experiments` entry whose site also
2395
+ * configures Matomo but has no matching `abVariantDimensions` index — the
2396
+ * Matomo custom-dimension push for that experiment is silently skipped
2397
+ * without one, since Matomo requires the dimension to exist in the instance
2398
+ * first. A warning, not a `validateConfig` error, the same way
2399
+ * `localeConsistencyWarnings` (`@getvitops/astro/i18n.ts`) is: the pageview
2400
+ * still ships correctly, just without that one dimension, so this shouldn't
2401
+ * block a build — mirrors that function's shape (pure, `[]` when nothing to
2402
+ * warn about) rather than adding a `warnings` field to `ConfigValidationResult`.
2403
+ */
2404
+ export declare function experimentDimensionWarnings(site: {
2405
+ experiments?: Record<string, {
2406
+ enabled: boolean;
2407
+ }>;
2408
+ analytics?: {
2409
+ matomo?: {
2410
+ abVariantDimensions?: Record<string, number>;
2411
+ };
2412
+ };
2413
+ } | null | undefined): string[];
2414
+ /**
2415
+ * Resolve who privacy requests go to: the explicit privacy officer, else the
2416
+ * organization's contact, else its primary location, else the organization itself.
2417
+ *
2418
+ * Exported because `validateConfig` and the legal-document derivation must agree
2419
+ * on it exactly — a config that validates must be one the policy can render, and
2420
+ * two copies of this precedence would drift into a policy with a blank address.
2421
+ *
2422
+ * Note every candidate but the first now lives in `organization`, and the first
2423
+ * (`site.legal.privacyPolicy.privacyOfficer`) still dereferences against
2424
+ * `organization.locations` — the officer is a person at the company, named by the
2425
+ * site because a company may publish more than one policy.
2426
+ */
2427
+ export declare function resolvePrivacyContact(cfg: Config): ContactObject | undefined;
2428
+ type DesignSystemEntryT = Partial<DesignSystem> & {
2429
+ displayName?: unknown;
2430
+ extends?: string;
2431
+ };
2432
+ /**
2433
+ * Resolve a design-system theme by following its `extends` chain and deep-merging
2434
+ * base → child (child wins; arrays replace wholesale, correct for token overrides).
2435
+ * Throws on unknown keys or an `extends` cycle. The result is a plain
2436
+ * `DesignSystem` (validate it against `DesignSystemSchema` for completeness).
2437
+ */
2438
+ export declare function resolveTheme(designSystem: Record<string, DesignSystemEntryT>, key: string): DesignSystem;
2439
+ /**
2440
+ * Resolve a raw (already-parsed) config into a validated `Config`:
2441
+ * 1. strip YAML nulls,
2442
+ * 2. normalise the `designSystem` shorthands to `{ themes: … }`,
2443
+ * 3. apply the active A/B variant's `overrides` (by `siteEnv`),
2444
+ * 4. validate (shape + cross-field).
2445
+ * Pure — no YAML/env access. A loader supplies `siteEnv`.
2446
+ *
2447
+ * Steps 2 and 3 are in this order deliberately. Normalising first means an
2448
+ * `abTesting` override always addresses the canonical shape
2449
+ * (`designSystem.themes.<name>`), whatever shorthand the base config used. With
2450
+ * the merge first, an override's key path depended on how the base happened to be
2451
+ * written — so the same patch hit a different place in two configs that were
2452
+ * otherwise equivalent.
2453
+ *
2454
+ * The A/B lookup reads `site.environments` / `site.abTesting`, and the overrides
2455
+ * still deep-merge at the **root** — a variant patches whichever section it names,
2456
+ * which is what lets one target `designSystem` and another `site.seo`.
2457
+ */
2458
+ export declare function resolveConfig(input: unknown, siteEnv?: string): Config;
2459
+ /**
2460
+ * Is this raw config a full `Config` rather than a bare `design-system.json`?
2461
+ *
2462
+ * The discriminator is **total**, not a heuristic, and both halves are load-
2463
+ * bearing: `ConfigSchema` cannot validate without a `designSystem` (it is a
2464
+ * required key), and `DesignSystemSchema` is strict, so a `designSystem` key in a
2465
+ * design system is an `unrecognized_keys` error. No document can be read as both,
2466
+ * and no document that is neither reaches here without failing validation anyway.
2467
+ *
2468
+ * The restructure did not weaken this: `designSystem` stayed at the root
2469
+ * precisely so the discriminator kept working unchanged.
2470
+ *
2471
+ * Deliberately shape-based rather than filename-based: consumers name this file
2472
+ * whatever suits them (`company.json`, `site.json`, `vitops.config.json`), and a
2473
+ * rule keyed to a name would silently stop working the moment someone renamed it.
2474
+ */
2475
+ export declare function isConfig(raw: unknown): boolean;
2476
+ /** What a config file turned out to hold. */
2477
+ export interface ResolvedInput {
2478
+ /** The design system to build from — a resolved theme, if the input was a full `Config`. */
2479
+ designSystem: DesignSystem;
2480
+ /** The whole config, when that is what the input was. */
2481
+ config?: Config;
2482
+ /** Which `themes` key was selected. Absent for a bare `design-system.json`. */
2483
+ theme?: string;
2484
+ }
2485
+ /**
2486
+ * Resolve a raw config of either kind into the design system to build from.
2487
+ *
2488
+ * Every entry point that used to take a `design-system.json` goes through this,
2489
+ * so a consumer who keeps their tokens inside the larger config points the
2490
+ * same option at that file instead of maintaining a second one. The config
2491
+ * is handed back too, because the parts of generation that depend on site-level
2492
+ * facts (`designSystem.defaultColorScheme`, the legal documents, the icon
2493
+ * sprite) would otherwise need the same path declared a second time.
2494
+ *
2495
+ * The returned `designSystem` is **not** validated here — the caller does that,
2496
+ * so it can say which file and which theme the errors belong to. Validation of
2497
+ * the config itself has already happened (`resolveConfig` throws).
2498
+ */
2499
+ export declare function resolveInput(raw: unknown, opts?: {
2500
+ theme?: string;
2501
+ siteEnv?: string;
2502
+ }): ResolvedInput;
2503
+ /** Strip nulls (YAML `~`/`null`) → undefined so optional fields validate. */
2504
+ export declare function stripNulls(obj: unknown): unknown;
2505
+ /** Deep-merge `source` into `target` (in place). Arrays replace wholesale. */
2506
+ export declare function deepMerge(target: Record<string, unknown>, source: Record<string, unknown>): void;
2507
+ /**
2508
+ * Where the design system lives inside a config file on disk.
2509
+ *
2510
+ * `[]` for a `design-system.json` — the file *is* the design system. For a
2511
+ * site config it is under `designSystem`, and this reads the **raw** object
2512
+ * rather than the resolved one because a write-back has to land where the
2513
+ * author actually put it. `resolveConfig` normalises the two shorthands in
2514
+ * memory; a writer that assumed the canonical shape would grow a second
2515
+ * `themes` key beside the author's bare map and silently stop editing
2516
+ * anything.
2517
+ */
2518
+ export declare function designSystemPath(raw: unknown, theme?: string): string[];
2519
+ export declare const getAt: (obj: unknown, path: string[]) => unknown;
2520
+ /** Return a copy of `obj` with `path` replaced by `value`. Creates missing objects. */
2521
+ export declare function setAt(obj: unknown, path: string[], value: unknown): unknown;
2522
+ /**
2523
+ * Recursively merge a patch into a config, returning a new value rather than
2524
+ * mutating either argument. Plain objects merge key-wise; everything else
2525
+ * (scalars, and arrays — a token list is replaced, not appended) is
2526
+ * overwritten by the patch. Distinct from `deepMerge` above (which mutates
2527
+ * `target` in place and requires both sides to already be objects) — this one
2528
+ * has to handle `base` being `undefined` (a patch targeting a path that
2529
+ * doesn't exist yet) and a patch that is itself a scalar or array.
2530
+ */
2531
+ export declare function mergePatch(base: unknown, patch: unknown): unknown;
2532
+ /**
2533
+ * Serialize a config the way a formatter would: 2-space indent, but arrays of
2534
+ * scalars kept on one line when they fit.
2535
+ *
2536
+ * `JSON.stringify(v, null, 2)` explodes every array onto its own lines, so
2537
+ * writing back a two-key patch would reflow a whole `design-system.json` — a
2538
+ * diff nobody can review, for a change of two values. Matching the
2539
+ * prevailing style keeps the write surgical, which is the whole point of
2540
+ * saving to source rather than copying a patch by hand.
2541
+ */
2542
+ export declare function formatConfig(value: unknown, col?: number, indent?: number): string;
2543
+ //#endregion
2544
+ //# sourceMappingURL=config.d.mts.map