@dsai-io/tools 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,2667 @@
1
+ import { o as LogLevel, O as OutputFormat, b as ThemeSelectorPattern, f as ResolvedThemesConfig, p as IconFramework, e as ResolvedIconsConfig, d as ResolvedTokensConfig, c as ResolvedGlobalConfig, R as ResolvedConfig, D as DsaiConfig, L as LoadConfigOptions, n as LoadConfigResult } from '../types-Idj08nad.js';
2
+ export { B as BuildSummary, i as CustomFilter, g as CustomFormat, h as CustomPreprocessor, C as CustomTransform, l as Dictionary, m as FileConfig, F as FormatArgs, G as GlobalConfig, I as IconsConfig, P as Platform, a as ThemesConfig, j as TokenData, T as TokensConfig, k as TransformOptions } from '../types-Idj08nad.js';
3
+ import { z } from 'zod';
4
+
5
+ /**
6
+ * @fileoverview Zod schemas for DSAI Tools configuration validation
7
+ *
8
+ * Provides comprehensive runtime validation for all configuration options.
9
+ * Schemas mirror the TypeScript types in types.ts for type safety.
10
+ *
11
+ * @module @dsai-io/tools/config/schema
12
+ * @see {@link ./types.ts} for TypeScript type definitions
13
+ */
14
+
15
+ /**
16
+ * Log level for CLI output verbosity
17
+ */
18
+ declare const logLevelSchema: z.ZodEnum<["silent", "error", "warn", "info", "debug", "verbose"]>;
19
+ /**
20
+ * Output format for token/build outputs
21
+ */
22
+ declare const outputFormatSchema: z.ZodEnum<["css", "scss", "less", "json", "js", "ts", "esm", "cjs"]>;
23
+ /**
24
+ * Supported frontend frameworks for generated code
25
+ */
26
+ declare const frameworkSchema: z.ZodEnum<["react", "vue", "angular", "svelte", "vanilla"]>;
27
+ /**
28
+ * File hash type for cache busting
29
+ */
30
+ declare const hashTypeSchema: z.ZodEnum<["content", "timestamp", "version", "none"]>;
31
+ /**
32
+ * Glob pattern for file matching
33
+ * Must be a non-empty string
34
+ */
35
+ declare const globPatternSchema: z.ZodString;
36
+ /**
37
+ * File path validation
38
+ * Allows relative or absolute paths
39
+ */
40
+ declare const filePathSchema: z.ZodString;
41
+ /**
42
+ * Semantic version validation (loose)
43
+ * Matches x.y.z format with optional pre-release
44
+ */
45
+ declare const versionSchema: z.ZodEffects<z.ZodString, string, string>;
46
+ /**
47
+ * Custom transform function schema
48
+ * For token value transformations
49
+ */
50
+ declare const customTransformSchema: z.ZodObject<{
51
+ name: z.ZodString;
52
+ description: z.ZodOptional<z.ZodString>;
53
+ type: z.ZodDefault<z.ZodOptional<z.ZodEnum<["value", "attribute", "name"]>>>;
54
+ transform: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodAny, z.ZodAny], z.ZodUnknown>, z.ZodAny>>;
55
+ filter: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodAny], z.ZodUnknown>, z.ZodBoolean>>;
56
+ matcher: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodAny], z.ZodUnknown>, z.ZodBoolean>>;
57
+ }, "strip", z.ZodTypeAny, {
58
+ name: string;
59
+ type: "name" | "value" | "attribute";
60
+ transform?: ((args_0: any, args_1: any, ...args: unknown[]) => any) | undefined;
61
+ description?: string | undefined;
62
+ filter?: ((args_0: any, ...args: unknown[]) => boolean) | undefined;
63
+ matcher?: ((args_0: any, ...args: unknown[]) => boolean) | undefined;
64
+ }, {
65
+ name: string;
66
+ transform?: ((args_0: any, args_1: any, ...args: unknown[]) => any) | undefined;
67
+ description?: string | undefined;
68
+ type?: "name" | "value" | "attribute" | undefined;
69
+ filter?: ((args_0: any, ...args: unknown[]) => boolean) | undefined;
70
+ matcher?: ((args_0: any, ...args: unknown[]) => boolean) | undefined;
71
+ }>;
72
+ /**
73
+ * Custom format schema for output generation
74
+ */
75
+ declare const customFormatSchema: z.ZodObject<{
76
+ name: z.ZodString;
77
+ description: z.ZodOptional<z.ZodString>;
78
+ formatter: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodAny], z.ZodUnknown>, z.ZodString>>;
79
+ extension: z.ZodOptional<z.ZodString>;
80
+ }, "strip", z.ZodTypeAny, {
81
+ name: string;
82
+ description?: string | undefined;
83
+ formatter?: ((args_0: any, ...args: unknown[]) => string) | undefined;
84
+ extension?: string | undefined;
85
+ }, {
86
+ name: string;
87
+ description?: string | undefined;
88
+ formatter?: ((args_0: any, ...args: unknown[]) => string) | undefined;
89
+ extension?: string | undefined;
90
+ }>;
91
+ /**
92
+ * Theme mode configuration
93
+ * Controls how themes are generated and applied
94
+ */
95
+ declare const themeModeSchema: z.ZodObject<{
96
+ selector: z.ZodString;
97
+ mediaQuery: z.ZodOptional<z.ZodString>;
98
+ dataAttribute: z.ZodOptional<z.ZodString>;
99
+ cssVariables: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
100
+ generateSeparateFiles: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
101
+ prefix: z.ZodOptional<z.ZodString>;
102
+ }, "strip", z.ZodTypeAny, {
103
+ selector: string;
104
+ cssVariables: boolean;
105
+ generateSeparateFiles: boolean;
106
+ mediaQuery?: string | undefined;
107
+ dataAttribute?: string | undefined;
108
+ prefix?: string | undefined;
109
+ }, {
110
+ selector: string;
111
+ mediaQuery?: string | undefined;
112
+ dataAttribute?: string | undefined;
113
+ cssVariables?: boolean | undefined;
114
+ generateSeparateFiles?: boolean | undefined;
115
+ prefix?: string | undefined;
116
+ }>;
117
+ /**
118
+ * Themes configuration section
119
+ */
120
+ declare const themesConfigSchema: z.ZodObject<{
121
+ enabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
122
+ defaultMode: z.ZodDefault<z.ZodOptional<z.ZodEnum<["light", "dark", "system"]>>>;
123
+ modes: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
124
+ selector: z.ZodString;
125
+ mediaQuery: z.ZodOptional<z.ZodString>;
126
+ dataAttribute: z.ZodOptional<z.ZodString>;
127
+ cssVariables: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
128
+ generateSeparateFiles: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
129
+ prefix: z.ZodOptional<z.ZodString>;
130
+ }, "strip", z.ZodTypeAny, {
131
+ selector: string;
132
+ cssVariables: boolean;
133
+ generateSeparateFiles: boolean;
134
+ mediaQuery?: string | undefined;
135
+ dataAttribute?: string | undefined;
136
+ prefix?: string | undefined;
137
+ }, {
138
+ selector: string;
139
+ mediaQuery?: string | undefined;
140
+ dataAttribute?: string | undefined;
141
+ cssVariables?: boolean | undefined;
142
+ generateSeparateFiles?: boolean | undefined;
143
+ prefix?: string | undefined;
144
+ }>>>>;
145
+ outputFileName: z.ZodDefault<z.ZodOptional<z.ZodString>>;
146
+ colorScheme: z.ZodOptional<z.ZodObject<{
147
+ light: z.ZodOptional<z.ZodString>;
148
+ dark: z.ZodOptional<z.ZodString>;
149
+ }, "strip", z.ZodTypeAny, {
150
+ light?: string | undefined;
151
+ dark?: string | undefined;
152
+ }, {
153
+ light?: string | undefined;
154
+ dark?: string | undefined;
155
+ }>>;
156
+ }, "strip", z.ZodTypeAny, {
157
+ enabled: boolean;
158
+ defaultMode: "light" | "dark" | "system";
159
+ modes: Record<string, {
160
+ selector: string;
161
+ cssVariables: boolean;
162
+ generateSeparateFiles: boolean;
163
+ mediaQuery?: string | undefined;
164
+ dataAttribute?: string | undefined;
165
+ prefix?: string | undefined;
166
+ }>;
167
+ outputFileName: string;
168
+ colorScheme?: {
169
+ light?: string | undefined;
170
+ dark?: string | undefined;
171
+ } | undefined;
172
+ }, {
173
+ enabled?: boolean | undefined;
174
+ defaultMode?: "light" | "dark" | "system" | undefined;
175
+ modes?: Record<string, {
176
+ selector: string;
177
+ mediaQuery?: string | undefined;
178
+ dataAttribute?: string | undefined;
179
+ cssVariables?: boolean | undefined;
180
+ generateSeparateFiles?: boolean | undefined;
181
+ prefix?: string | undefined;
182
+ }> | undefined;
183
+ outputFileName?: string | undefined;
184
+ colorScheme?: {
185
+ light?: string | undefined;
186
+ dark?: string | undefined;
187
+ } | undefined;
188
+ }>;
189
+ /**
190
+ * Icon optimization settings
191
+ */
192
+ declare const iconOptimizationSchema: z.ZodObject<{
193
+ enabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
194
+ removeComments: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
195
+ removeDimensions: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
196
+ removeViewBox: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
197
+ removeXMLNS: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
198
+ cleanupIds: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
199
+ minify: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
200
+ }, "strip", z.ZodTypeAny, {
201
+ enabled: boolean;
202
+ removeComments: boolean;
203
+ removeDimensions: boolean;
204
+ removeViewBox: boolean;
205
+ removeXMLNS: boolean;
206
+ cleanupIds: boolean;
207
+ minify: boolean;
208
+ }, {
209
+ enabled?: boolean | undefined;
210
+ removeComments?: boolean | undefined;
211
+ removeDimensions?: boolean | undefined;
212
+ removeViewBox?: boolean | undefined;
213
+ removeXMLNS?: boolean | undefined;
214
+ cleanupIds?: boolean | undefined;
215
+ minify?: boolean | undefined;
216
+ }>;
217
+ /**
218
+ * Icon sprite generation settings
219
+ */
220
+ declare const iconSpriteSchema: z.ZodObject<{
221
+ enabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
222
+ fileName: z.ZodDefault<z.ZodOptional<z.ZodString>>;
223
+ format: z.ZodDefault<z.ZodOptional<z.ZodEnum<["symbol", "stack", "css"]>>>;
224
+ prefix: z.ZodDefault<z.ZodOptional<z.ZodString>>;
225
+ }, "strip", z.ZodTypeAny, {
226
+ prefix: string;
227
+ enabled: boolean;
228
+ fileName: string;
229
+ format: "symbol" | "css" | "stack";
230
+ }, {
231
+ prefix?: string | undefined;
232
+ enabled?: boolean | undefined;
233
+ fileName?: string | undefined;
234
+ format?: "symbol" | "css" | "stack" | undefined;
235
+ }>;
236
+ /**
237
+ * Icons configuration section
238
+ */
239
+ declare const iconsConfigSchema: z.ZodObject<{
240
+ enabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
241
+ sourceDir: z.ZodDefault<z.ZodOptional<z.ZodString>>;
242
+ outputDir: z.ZodDefault<z.ZodOptional<z.ZodString>>;
243
+ formats: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodEnum<["svg", "react", "vue", "sprite", "font"]>, "many">>>;
244
+ optimization: z.ZodOptional<z.ZodObject<{
245
+ enabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
246
+ removeComments: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
247
+ removeDimensions: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
248
+ removeViewBox: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
249
+ removeXMLNS: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
250
+ cleanupIds: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
251
+ minify: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
252
+ }, "strip", z.ZodTypeAny, {
253
+ enabled: boolean;
254
+ removeComments: boolean;
255
+ removeDimensions: boolean;
256
+ removeViewBox: boolean;
257
+ removeXMLNS: boolean;
258
+ cleanupIds: boolean;
259
+ minify: boolean;
260
+ }, {
261
+ enabled?: boolean | undefined;
262
+ removeComments?: boolean | undefined;
263
+ removeDimensions?: boolean | undefined;
264
+ removeViewBox?: boolean | undefined;
265
+ removeXMLNS?: boolean | undefined;
266
+ cleanupIds?: boolean | undefined;
267
+ minify?: boolean | undefined;
268
+ }>>;
269
+ sprite: z.ZodOptional<z.ZodObject<{
270
+ enabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
271
+ fileName: z.ZodDefault<z.ZodOptional<z.ZodString>>;
272
+ format: z.ZodDefault<z.ZodOptional<z.ZodEnum<["symbol", "stack", "css"]>>>;
273
+ prefix: z.ZodDefault<z.ZodOptional<z.ZodString>>;
274
+ }, "strip", z.ZodTypeAny, {
275
+ prefix: string;
276
+ enabled: boolean;
277
+ fileName: string;
278
+ format: "symbol" | "css" | "stack";
279
+ }, {
280
+ prefix?: string | undefined;
281
+ enabled?: boolean | undefined;
282
+ fileName?: string | undefined;
283
+ format?: "symbol" | "css" | "stack" | undefined;
284
+ }>>;
285
+ componentPrefix: z.ZodDefault<z.ZodOptional<z.ZodString>>;
286
+ componentSuffix: z.ZodDefault<z.ZodOptional<z.ZodString>>;
287
+ generateIndex: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
288
+ generateTypes: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
289
+ }, "strip", z.ZodTypeAny, {
290
+ enabled: boolean;
291
+ sourceDir: string;
292
+ outputDir: string;
293
+ formats: ("react" | "vue" | "svg" | "sprite" | "font")[];
294
+ componentPrefix: string;
295
+ componentSuffix: string;
296
+ generateIndex: boolean;
297
+ generateTypes: boolean;
298
+ sprite?: {
299
+ prefix: string;
300
+ enabled: boolean;
301
+ fileName: string;
302
+ format: "symbol" | "css" | "stack";
303
+ } | undefined;
304
+ optimization?: {
305
+ enabled: boolean;
306
+ removeComments: boolean;
307
+ removeDimensions: boolean;
308
+ removeViewBox: boolean;
309
+ removeXMLNS: boolean;
310
+ cleanupIds: boolean;
311
+ minify: boolean;
312
+ } | undefined;
313
+ }, {
314
+ enabled?: boolean | undefined;
315
+ sourceDir?: string | undefined;
316
+ outputDir?: string | undefined;
317
+ sprite?: {
318
+ prefix?: string | undefined;
319
+ enabled?: boolean | undefined;
320
+ fileName?: string | undefined;
321
+ format?: "symbol" | "css" | "stack" | undefined;
322
+ } | undefined;
323
+ formats?: ("react" | "vue" | "svg" | "sprite" | "font")[] | undefined;
324
+ optimization?: {
325
+ enabled?: boolean | undefined;
326
+ removeComments?: boolean | undefined;
327
+ removeDimensions?: boolean | undefined;
328
+ removeViewBox?: boolean | undefined;
329
+ removeXMLNS?: boolean | undefined;
330
+ cleanupIds?: boolean | undefined;
331
+ minify?: boolean | undefined;
332
+ } | undefined;
333
+ componentPrefix?: string | undefined;
334
+ componentSuffix?: string | undefined;
335
+ generateIndex?: boolean | undefined;
336
+ generateTypes?: boolean | undefined;
337
+ }>;
338
+ /**
339
+ * Token build configuration schema
340
+ */
341
+ declare const tokenBuildConfigSchema: z.ZodObject<{
342
+ format: z.ZodEnum<["css", "scss", "less", "json", "js", "ts", "esm", "cjs"]>;
343
+ outputDir: z.ZodOptional<z.ZodString>;
344
+ outputFileName: z.ZodOptional<z.ZodString>;
345
+ fileExtension: z.ZodOptional<z.ZodString>;
346
+ prefix: z.ZodOptional<z.ZodString>;
347
+ useVariables: z.ZodOptional<z.ZodBoolean>;
348
+ selector: z.ZodOptional<z.ZodString>;
349
+ transforms: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
350
+ customTransforms: z.ZodOptional<z.ZodArray<z.ZodObject<{
351
+ name: z.ZodString;
352
+ description: z.ZodOptional<z.ZodString>;
353
+ type: z.ZodDefault<z.ZodOptional<z.ZodEnum<["value", "attribute", "name"]>>>;
354
+ transform: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodAny, z.ZodAny], z.ZodUnknown>, z.ZodAny>>;
355
+ filter: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodAny], z.ZodUnknown>, z.ZodBoolean>>;
356
+ matcher: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodAny], z.ZodUnknown>, z.ZodBoolean>>;
357
+ }, "strip", z.ZodTypeAny, {
358
+ name: string;
359
+ type: "name" | "value" | "attribute";
360
+ transform?: ((args_0: any, args_1: any, ...args: unknown[]) => any) | undefined;
361
+ description?: string | undefined;
362
+ filter?: ((args_0: any, ...args: unknown[]) => boolean) | undefined;
363
+ matcher?: ((args_0: any, ...args: unknown[]) => boolean) | undefined;
364
+ }, {
365
+ name: string;
366
+ transform?: ((args_0: any, args_1: any, ...args: unknown[]) => any) | undefined;
367
+ description?: string | undefined;
368
+ type?: "name" | "value" | "attribute" | undefined;
369
+ filter?: ((args_0: any, ...args: unknown[]) => boolean) | undefined;
370
+ matcher?: ((args_0: any, ...args: unknown[]) => boolean) | undefined;
371
+ }>, "many">>;
372
+ filter: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodAny], z.ZodUnknown>, z.ZodUnion<[z.ZodBoolean, z.ZodPromise<z.ZodBoolean>]>>>;
373
+ header: z.ZodOptional<z.ZodString>;
374
+ footer: z.ZodOptional<z.ZodString>;
375
+ }, "strip", z.ZodTypeAny, {
376
+ format: "css" | "scss" | "js" | "ts" | "json" | "less" | "esm" | "cjs";
377
+ filter?: ((args_0: any, ...args: unknown[]) => boolean | Promise<boolean>) | undefined;
378
+ selector?: string | undefined;
379
+ prefix?: string | undefined;
380
+ outputFileName?: string | undefined;
381
+ outputDir?: string | undefined;
382
+ fileExtension?: string | undefined;
383
+ useVariables?: boolean | undefined;
384
+ transforms?: string[] | undefined;
385
+ customTransforms?: {
386
+ name: string;
387
+ type: "name" | "value" | "attribute";
388
+ transform?: ((args_0: any, args_1: any, ...args: unknown[]) => any) | undefined;
389
+ description?: string | undefined;
390
+ filter?: ((args_0: any, ...args: unknown[]) => boolean) | undefined;
391
+ matcher?: ((args_0: any, ...args: unknown[]) => boolean) | undefined;
392
+ }[] | undefined;
393
+ header?: string | undefined;
394
+ footer?: string | undefined;
395
+ }, {
396
+ format: "css" | "scss" | "js" | "ts" | "json" | "less" | "esm" | "cjs";
397
+ filter?: ((args_0: any, ...args: unknown[]) => boolean | Promise<boolean>) | undefined;
398
+ selector?: string | undefined;
399
+ prefix?: string | undefined;
400
+ outputFileName?: string | undefined;
401
+ outputDir?: string | undefined;
402
+ fileExtension?: string | undefined;
403
+ useVariables?: boolean | undefined;
404
+ transforms?: string[] | undefined;
405
+ customTransforms?: {
406
+ name: string;
407
+ transform?: ((args_0: any, args_1: any, ...args: unknown[]) => any) | undefined;
408
+ description?: string | undefined;
409
+ type?: "name" | "value" | "attribute" | undefined;
410
+ filter?: ((args_0: any, ...args: unknown[]) => boolean) | undefined;
411
+ matcher?: ((args_0: any, ...args: unknown[]) => boolean) | undefined;
412
+ }[] | undefined;
413
+ header?: string | undefined;
414
+ footer?: string | undefined;
415
+ }>;
416
+ /**
417
+ * Token cache configuration
418
+ */
419
+ declare const tokenCacheConfigSchema: z.ZodObject<{
420
+ enabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
421
+ directory: z.ZodDefault<z.ZodOptional<z.ZodString>>;
422
+ hashType: z.ZodDefault<z.ZodOptional<z.ZodEnum<["content", "timestamp", "version", "none"]>>>;
423
+ maxAge: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
424
+ }, "strip", z.ZodTypeAny, {
425
+ enabled: boolean;
426
+ directory: string;
427
+ hashType: "content" | "timestamp" | "version" | "none";
428
+ maxAge: number;
429
+ }, {
430
+ enabled?: boolean | undefined;
431
+ directory?: string | undefined;
432
+ hashType?: "content" | "timestamp" | "version" | "none" | undefined;
433
+ maxAge?: number | undefined;
434
+ }>;
435
+ /**
436
+ * Token watch mode configuration
437
+ */
438
+ declare const tokenWatchConfigSchema: z.ZodObject<{
439
+ enabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
440
+ debounce: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
441
+ clearScreen: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
442
+ ignorePatterns: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
443
+ }, "strip", z.ZodTypeAny, {
444
+ enabled: boolean;
445
+ debounce: number;
446
+ clearScreen: boolean;
447
+ ignorePatterns: string[];
448
+ }, {
449
+ enabled?: boolean | undefined;
450
+ debounce?: number | undefined;
451
+ clearScreen?: boolean | undefined;
452
+ ignorePatterns?: string[] | undefined;
453
+ }>;
454
+ /**
455
+ * Token processing hooks
456
+ */
457
+ declare const tokensHooksSchema: z.ZodObject<{
458
+ onBuildStart: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodAny], z.ZodUnknown>, z.ZodUnion<[z.ZodVoid, z.ZodPromise<z.ZodVoid>]>>>;
459
+ onFormatComplete: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodAny], z.ZodUnknown>, z.ZodUnion<[z.ZodVoid, z.ZodPromise<z.ZodVoid>]>>>;
460
+ onAllFormatsComplete: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodAny], z.ZodUnknown>, z.ZodUnion<[z.ZodVoid, z.ZodPromise<z.ZodVoid>]>>>;
461
+ onBuildComplete: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodAny], z.ZodUnknown>, z.ZodUnion<[z.ZodVoid, z.ZodPromise<z.ZodVoid>]>>>;
462
+ onError: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodAny], z.ZodUnknown>, z.ZodUnion<[z.ZodVoid, z.ZodPromise<z.ZodVoid>]>>>;
463
+ }, "strip", z.ZodTypeAny, {
464
+ onBuildStart?: ((args_0: any, ...args: unknown[]) => void | Promise<void>) | undefined;
465
+ onFormatComplete?: ((args_0: any, ...args: unknown[]) => void | Promise<void>) | undefined;
466
+ onAllFormatsComplete?: ((args_0: any, ...args: unknown[]) => void | Promise<void>) | undefined;
467
+ onBuildComplete?: ((args_0: any, ...args: unknown[]) => void | Promise<void>) | undefined;
468
+ onError?: ((args_0: any, ...args: unknown[]) => void | Promise<void>) | undefined;
469
+ }, {
470
+ onBuildStart?: ((args_0: any, ...args: unknown[]) => void | Promise<void>) | undefined;
471
+ onFormatComplete?: ((args_0: any, ...args: unknown[]) => void | Promise<void>) | undefined;
472
+ onAllFormatsComplete?: ((args_0: any, ...args: unknown[]) => void | Promise<void>) | undefined;
473
+ onBuildComplete?: ((args_0: any, ...args: unknown[]) => void | Promise<void>) | undefined;
474
+ onError?: ((args_0: any, ...args: unknown[]) => void | Promise<void>) | undefined;
475
+ }>;
476
+ /**
477
+ * Tokens configuration section
478
+ */
479
+ declare const tokensConfigSchema: z.ZodObject<{
480
+ enabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
481
+ sourcePatterns: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
482
+ outputDirs: z.ZodOptional<z.ZodObject<{
483
+ css: z.ZodDefault<z.ZodOptional<z.ZodString>>;
484
+ scss: z.ZodDefault<z.ZodOptional<z.ZodString>>;
485
+ less: z.ZodDefault<z.ZodOptional<z.ZodString>>;
486
+ js: z.ZodDefault<z.ZodOptional<z.ZodString>>;
487
+ ts: z.ZodDefault<z.ZodOptional<z.ZodString>>;
488
+ json: z.ZodDefault<z.ZodOptional<z.ZodString>>;
489
+ }, "strip", z.ZodTypeAny, {
490
+ css: string;
491
+ scss: string;
492
+ js: string;
493
+ ts: string;
494
+ json: string;
495
+ less: string;
496
+ }, {
497
+ css?: string | undefined;
498
+ scss?: string | undefined;
499
+ js?: string | undefined;
500
+ ts?: string | undefined;
501
+ json?: string | undefined;
502
+ less?: string | undefined;
503
+ }>>;
504
+ additionalScssDirectories: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
505
+ outputFileNames: z.ZodOptional<z.ZodObject<{
506
+ variables: z.ZodDefault<z.ZodOptional<z.ZodString>>;
507
+ utilities: z.ZodDefault<z.ZodOptional<z.ZodString>>;
508
+ mixins: z.ZodDefault<z.ZodOptional<z.ZodString>>;
509
+ tokens: z.ZodDefault<z.ZodOptional<z.ZodString>>;
510
+ }, "strip", z.ZodTypeAny, {
511
+ variables: string;
512
+ utilities: string;
513
+ mixins: string;
514
+ tokens: string;
515
+ }, {
516
+ variables?: string | undefined;
517
+ utilities?: string | undefined;
518
+ mixins?: string | undefined;
519
+ tokens?: string | undefined;
520
+ }>>;
521
+ prefix: z.ZodDefault<z.ZodOptional<z.ZodString>>;
522
+ mergeOrder: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
523
+ createBundle: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
524
+ bundleFileName: z.ZodDefault<z.ZodOptional<z.ZodString>>;
525
+ formats: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodEnum<["css", "scss", "less", "json", "js", "ts", "esm", "cjs"]>, "many">>>;
526
+ platforms: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
527
+ format: z.ZodEnum<["css", "scss", "less", "json", "js", "ts", "esm", "cjs"]>;
528
+ outputDir: z.ZodOptional<z.ZodString>;
529
+ outputFileName: z.ZodOptional<z.ZodString>;
530
+ fileExtension: z.ZodOptional<z.ZodString>;
531
+ prefix: z.ZodOptional<z.ZodString>;
532
+ useVariables: z.ZodOptional<z.ZodBoolean>;
533
+ selector: z.ZodOptional<z.ZodString>;
534
+ transforms: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
535
+ customTransforms: z.ZodOptional<z.ZodArray<z.ZodObject<{
536
+ name: z.ZodString;
537
+ description: z.ZodOptional<z.ZodString>;
538
+ type: z.ZodDefault<z.ZodOptional<z.ZodEnum<["value", "attribute", "name"]>>>;
539
+ transform: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodAny, z.ZodAny], z.ZodUnknown>, z.ZodAny>>;
540
+ filter: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodAny], z.ZodUnknown>, z.ZodBoolean>>;
541
+ matcher: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodAny], z.ZodUnknown>, z.ZodBoolean>>;
542
+ }, "strip", z.ZodTypeAny, {
543
+ name: string;
544
+ type: "name" | "value" | "attribute";
545
+ transform?: ((args_0: any, args_1: any, ...args: unknown[]) => any) | undefined;
546
+ description?: string | undefined;
547
+ filter?: ((args_0: any, ...args: unknown[]) => boolean) | undefined;
548
+ matcher?: ((args_0: any, ...args: unknown[]) => boolean) | undefined;
549
+ }, {
550
+ name: string;
551
+ transform?: ((args_0: any, args_1: any, ...args: unknown[]) => any) | undefined;
552
+ description?: string | undefined;
553
+ type?: "name" | "value" | "attribute" | undefined;
554
+ filter?: ((args_0: any, ...args: unknown[]) => boolean) | undefined;
555
+ matcher?: ((args_0: any, ...args: unknown[]) => boolean) | undefined;
556
+ }>, "many">>;
557
+ filter: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodAny], z.ZodUnknown>, z.ZodUnion<[z.ZodBoolean, z.ZodPromise<z.ZodBoolean>]>>>;
558
+ header: z.ZodOptional<z.ZodString>;
559
+ footer: z.ZodOptional<z.ZodString>;
560
+ }, "strip", z.ZodTypeAny, {
561
+ format: "css" | "scss" | "js" | "ts" | "json" | "less" | "esm" | "cjs";
562
+ filter?: ((args_0: any, ...args: unknown[]) => boolean | Promise<boolean>) | undefined;
563
+ selector?: string | undefined;
564
+ prefix?: string | undefined;
565
+ outputFileName?: string | undefined;
566
+ outputDir?: string | undefined;
567
+ fileExtension?: string | undefined;
568
+ useVariables?: boolean | undefined;
569
+ transforms?: string[] | undefined;
570
+ customTransforms?: {
571
+ name: string;
572
+ type: "name" | "value" | "attribute";
573
+ transform?: ((args_0: any, args_1: any, ...args: unknown[]) => any) | undefined;
574
+ description?: string | undefined;
575
+ filter?: ((args_0: any, ...args: unknown[]) => boolean) | undefined;
576
+ matcher?: ((args_0: any, ...args: unknown[]) => boolean) | undefined;
577
+ }[] | undefined;
578
+ header?: string | undefined;
579
+ footer?: string | undefined;
580
+ }, {
581
+ format: "css" | "scss" | "js" | "ts" | "json" | "less" | "esm" | "cjs";
582
+ filter?: ((args_0: any, ...args: unknown[]) => boolean | Promise<boolean>) | undefined;
583
+ selector?: string | undefined;
584
+ prefix?: string | undefined;
585
+ outputFileName?: string | undefined;
586
+ outputDir?: string | undefined;
587
+ fileExtension?: string | undefined;
588
+ useVariables?: boolean | undefined;
589
+ transforms?: string[] | undefined;
590
+ customTransforms?: {
591
+ name: string;
592
+ transform?: ((args_0: any, args_1: any, ...args: unknown[]) => any) | undefined;
593
+ description?: string | undefined;
594
+ type?: "name" | "value" | "attribute" | undefined;
595
+ filter?: ((args_0: any, ...args: unknown[]) => boolean) | undefined;
596
+ matcher?: ((args_0: any, ...args: unknown[]) => boolean) | undefined;
597
+ }[] | undefined;
598
+ header?: string | undefined;
599
+ footer?: string | undefined;
600
+ }>>>;
601
+ transforms: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
602
+ customTransforms: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
603
+ name: z.ZodString;
604
+ description: z.ZodOptional<z.ZodString>;
605
+ type: z.ZodDefault<z.ZodOptional<z.ZodEnum<["value", "attribute", "name"]>>>;
606
+ transform: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodAny, z.ZodAny], z.ZodUnknown>, z.ZodAny>>;
607
+ filter: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodAny], z.ZodUnknown>, z.ZodBoolean>>;
608
+ matcher: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodAny], z.ZodUnknown>, z.ZodBoolean>>;
609
+ }, "strip", z.ZodTypeAny, {
610
+ name: string;
611
+ type: "name" | "value" | "attribute";
612
+ transform?: ((args_0: any, args_1: any, ...args: unknown[]) => any) | undefined;
613
+ description?: string | undefined;
614
+ filter?: ((args_0: any, ...args: unknown[]) => boolean) | undefined;
615
+ matcher?: ((args_0: any, ...args: unknown[]) => boolean) | undefined;
616
+ }, {
617
+ name: string;
618
+ transform?: ((args_0: any, args_1: any, ...args: unknown[]) => any) | undefined;
619
+ description?: string | undefined;
620
+ type?: "name" | "value" | "attribute" | undefined;
621
+ filter?: ((args_0: any, ...args: unknown[]) => boolean) | undefined;
622
+ matcher?: ((args_0: any, ...args: unknown[]) => boolean) | undefined;
623
+ }>, "many">>>;
624
+ customFormats: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
625
+ name: z.ZodString;
626
+ description: z.ZodOptional<z.ZodString>;
627
+ formatter: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodAny], z.ZodUnknown>, z.ZodString>>;
628
+ extension: z.ZodOptional<z.ZodString>;
629
+ }, "strip", z.ZodTypeAny, {
630
+ name: string;
631
+ description?: string | undefined;
632
+ formatter?: ((args_0: any, ...args: unknown[]) => string) | undefined;
633
+ extension?: string | undefined;
634
+ }, {
635
+ name: string;
636
+ description?: string | undefined;
637
+ formatter?: ((args_0: any, ...args: unknown[]) => string) | undefined;
638
+ extension?: string | undefined;
639
+ }>, "many">>>;
640
+ hooks: z.ZodOptional<z.ZodObject<{
641
+ onBuildStart: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodAny], z.ZodUnknown>, z.ZodUnion<[z.ZodVoid, z.ZodPromise<z.ZodVoid>]>>>;
642
+ onFormatComplete: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodAny], z.ZodUnknown>, z.ZodUnion<[z.ZodVoid, z.ZodPromise<z.ZodVoid>]>>>;
643
+ onAllFormatsComplete: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodAny], z.ZodUnknown>, z.ZodUnion<[z.ZodVoid, z.ZodPromise<z.ZodVoid>]>>>;
644
+ onBuildComplete: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodAny], z.ZodUnknown>, z.ZodUnion<[z.ZodVoid, z.ZodPromise<z.ZodVoid>]>>>;
645
+ onError: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodAny], z.ZodUnknown>, z.ZodUnion<[z.ZodVoid, z.ZodPromise<z.ZodVoid>]>>>;
646
+ }, "strip", z.ZodTypeAny, {
647
+ onBuildStart?: ((args_0: any, ...args: unknown[]) => void | Promise<void>) | undefined;
648
+ onFormatComplete?: ((args_0: any, ...args: unknown[]) => void | Promise<void>) | undefined;
649
+ onAllFormatsComplete?: ((args_0: any, ...args: unknown[]) => void | Promise<void>) | undefined;
650
+ onBuildComplete?: ((args_0: any, ...args: unknown[]) => void | Promise<void>) | undefined;
651
+ onError?: ((args_0: any, ...args: unknown[]) => void | Promise<void>) | undefined;
652
+ }, {
653
+ onBuildStart?: ((args_0: any, ...args: unknown[]) => void | Promise<void>) | undefined;
654
+ onFormatComplete?: ((args_0: any, ...args: unknown[]) => void | Promise<void>) | undefined;
655
+ onAllFormatsComplete?: ((args_0: any, ...args: unknown[]) => void | Promise<void>) | undefined;
656
+ onBuildComplete?: ((args_0: any, ...args: unknown[]) => void | Promise<void>) | undefined;
657
+ onError?: ((args_0: any, ...args: unknown[]) => void | Promise<void>) | undefined;
658
+ }>>;
659
+ cache: z.ZodOptional<z.ZodObject<{
660
+ enabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
661
+ directory: z.ZodDefault<z.ZodOptional<z.ZodString>>;
662
+ hashType: z.ZodDefault<z.ZodOptional<z.ZodEnum<["content", "timestamp", "version", "none"]>>>;
663
+ maxAge: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
664
+ }, "strip", z.ZodTypeAny, {
665
+ enabled: boolean;
666
+ directory: string;
667
+ hashType: "content" | "timestamp" | "version" | "none";
668
+ maxAge: number;
669
+ }, {
670
+ enabled?: boolean | undefined;
671
+ directory?: string | undefined;
672
+ hashType?: "content" | "timestamp" | "version" | "none" | undefined;
673
+ maxAge?: number | undefined;
674
+ }>>;
675
+ watch: z.ZodOptional<z.ZodObject<{
676
+ enabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
677
+ debounce: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
678
+ clearScreen: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
679
+ ignorePatterns: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
680
+ }, "strip", z.ZodTypeAny, {
681
+ enabled: boolean;
682
+ debounce: number;
683
+ clearScreen: boolean;
684
+ ignorePatterns: string[];
685
+ }, {
686
+ enabled?: boolean | undefined;
687
+ debounce?: number | undefined;
688
+ clearScreen?: boolean | undefined;
689
+ ignorePatterns?: string[] | undefined;
690
+ }>>;
691
+ verbose: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
692
+ /** Build pipeline configuration */
693
+ pipeline: z.ZodOptional<z.ZodObject<{
694
+ /**
695
+ * Steps to include in the build.
696
+ * Order matters - steps run in sequence.
697
+ * Default includes all steps for full @dsai-io/tokens build.
698
+ * Simpler packages can use subset like ['validate', 'transform', 'style-dictionary']
699
+ */
700
+ steps: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodEnum<["validate", "transform", "style-dictionary", "sync", "sass-theme", "sass-theme-minified", "postprocess", "sass-utilities", "sass-utilities-minified", "bundle"]>, "many">>>;
701
+ /**
702
+ * Paths configuration for build steps
703
+ */
704
+ paths: z.ZodOptional<z.ZodObject<{
705
+ /** Source file for sync step (Style Dictionary JS output) */
706
+ syncSource: z.ZodDefault<z.ZodOptional<z.ZodString>>;
707
+ /** Target file for sync step */
708
+ syncTarget: z.ZodDefault<z.ZodOptional<z.ZodString>>;
709
+ /** SCSS theme input file */
710
+ sassThemeInput: z.ZodDefault<z.ZodOptional<z.ZodString>>;
711
+ /** CSS theme output file */
712
+ sassThemeOutput: z.ZodDefault<z.ZodOptional<z.ZodString>>;
713
+ /** CSS theme minified output file */
714
+ sassThemeMinifiedOutput: z.ZodDefault<z.ZodOptional<z.ZodString>>;
715
+ /** SCSS utilities input file */
716
+ sassUtilitiesInput: z.ZodDefault<z.ZodOptional<z.ZodString>>;
717
+ /** CSS utilities output file */
718
+ sassUtilitiesOutput: z.ZodDefault<z.ZodOptional<z.ZodString>>;
719
+ /** CSS utilities minified output file */
720
+ sassUtilitiesMinifiedOutput: z.ZodDefault<z.ZodOptional<z.ZodString>>;
721
+ }, "strip", z.ZodTypeAny, {
722
+ syncSource: string;
723
+ syncTarget: string;
724
+ sassThemeInput: string;
725
+ sassThemeOutput: string;
726
+ sassThemeMinifiedOutput: string;
727
+ sassUtilitiesInput: string;
728
+ sassUtilitiesOutput: string;
729
+ sassUtilitiesMinifiedOutput: string;
730
+ }, {
731
+ syncSource?: string | undefined;
732
+ syncTarget?: string | undefined;
733
+ sassThemeInput?: string | undefined;
734
+ sassThemeOutput?: string | undefined;
735
+ sassThemeMinifiedOutput?: string | undefined;
736
+ sassUtilitiesInput?: string | undefined;
737
+ sassUtilitiesOutput?: string | undefined;
738
+ sassUtilitiesMinifiedOutput?: string | undefined;
739
+ }>>;
740
+ /** Style Dictionary config file name */
741
+ styleDictionaryConfig: z.ZodDefault<z.ZodOptional<z.ZodString>>;
742
+ }, "strip", z.ZodTypeAny, {
743
+ steps: ("validate" | "transform" | "style-dictionary" | "sync" | "sass-theme" | "sass-theme-minified" | "postprocess" | "sass-utilities" | "sass-utilities-minified" | "bundle")[];
744
+ styleDictionaryConfig: string;
745
+ paths?: {
746
+ syncSource: string;
747
+ syncTarget: string;
748
+ sassThemeInput: string;
749
+ sassThemeOutput: string;
750
+ sassThemeMinifiedOutput: string;
751
+ sassUtilitiesInput: string;
752
+ sassUtilitiesOutput: string;
753
+ sassUtilitiesMinifiedOutput: string;
754
+ } | undefined;
755
+ }, {
756
+ steps?: ("validate" | "transform" | "style-dictionary" | "sync" | "sass-theme" | "sass-theme-minified" | "postprocess" | "sass-utilities" | "sass-utilities-minified" | "bundle")[] | undefined;
757
+ paths?: {
758
+ syncSource?: string | undefined;
759
+ syncTarget?: string | undefined;
760
+ sassThemeInput?: string | undefined;
761
+ sassThemeOutput?: string | undefined;
762
+ sassThemeMinifiedOutput?: string | undefined;
763
+ sassUtilitiesInput?: string | undefined;
764
+ sassUtilitiesOutput?: string | undefined;
765
+ sassUtilitiesMinifiedOutput?: string | undefined;
766
+ } | undefined;
767
+ styleDictionaryConfig?: string | undefined;
768
+ }>>;
769
+ }, "strip", z.ZodTypeAny, {
770
+ verbose: boolean;
771
+ prefix: string;
772
+ enabled: boolean;
773
+ formats: ("css" | "scss" | "js" | "ts" | "json" | "less" | "esm" | "cjs")[];
774
+ transforms: string[];
775
+ customTransforms: {
776
+ name: string;
777
+ type: "name" | "value" | "attribute";
778
+ transform?: ((args_0: any, args_1: any, ...args: unknown[]) => any) | undefined;
779
+ description?: string | undefined;
780
+ filter?: ((args_0: any, ...args: unknown[]) => boolean) | undefined;
781
+ matcher?: ((args_0: any, ...args: unknown[]) => boolean) | undefined;
782
+ }[];
783
+ sourcePatterns: string[];
784
+ additionalScssDirectories: string[];
785
+ mergeOrder: string[];
786
+ createBundle: boolean;
787
+ bundleFileName: string;
788
+ customFormats: {
789
+ name: string;
790
+ description?: string | undefined;
791
+ formatter?: ((args_0: any, ...args: unknown[]) => string) | undefined;
792
+ extension?: string | undefined;
793
+ }[];
794
+ outputDirs?: {
795
+ css: string;
796
+ scss: string;
797
+ js: string;
798
+ ts: string;
799
+ json: string;
800
+ less: string;
801
+ } | undefined;
802
+ outputFileNames?: {
803
+ variables: string;
804
+ utilities: string;
805
+ mixins: string;
806
+ tokens: string;
807
+ } | undefined;
808
+ platforms?: Record<string, {
809
+ format: "css" | "scss" | "js" | "ts" | "json" | "less" | "esm" | "cjs";
810
+ filter?: ((args_0: any, ...args: unknown[]) => boolean | Promise<boolean>) | undefined;
811
+ selector?: string | undefined;
812
+ prefix?: string | undefined;
813
+ outputFileName?: string | undefined;
814
+ outputDir?: string | undefined;
815
+ fileExtension?: string | undefined;
816
+ useVariables?: boolean | undefined;
817
+ transforms?: string[] | undefined;
818
+ customTransforms?: {
819
+ name: string;
820
+ type: "name" | "value" | "attribute";
821
+ transform?: ((args_0: any, args_1: any, ...args: unknown[]) => any) | undefined;
822
+ description?: string | undefined;
823
+ filter?: ((args_0: any, ...args: unknown[]) => boolean) | undefined;
824
+ matcher?: ((args_0: any, ...args: unknown[]) => boolean) | undefined;
825
+ }[] | undefined;
826
+ header?: string | undefined;
827
+ footer?: string | undefined;
828
+ }> | undefined;
829
+ hooks?: {
830
+ onBuildStart?: ((args_0: any, ...args: unknown[]) => void | Promise<void>) | undefined;
831
+ onFormatComplete?: ((args_0: any, ...args: unknown[]) => void | Promise<void>) | undefined;
832
+ onAllFormatsComplete?: ((args_0: any, ...args: unknown[]) => void | Promise<void>) | undefined;
833
+ onBuildComplete?: ((args_0: any, ...args: unknown[]) => void | Promise<void>) | undefined;
834
+ onError?: ((args_0: any, ...args: unknown[]) => void | Promise<void>) | undefined;
835
+ } | undefined;
836
+ cache?: {
837
+ enabled: boolean;
838
+ directory: string;
839
+ hashType: "content" | "timestamp" | "version" | "none";
840
+ maxAge: number;
841
+ } | undefined;
842
+ watch?: {
843
+ enabled: boolean;
844
+ debounce: number;
845
+ clearScreen: boolean;
846
+ ignorePatterns: string[];
847
+ } | undefined;
848
+ pipeline?: {
849
+ steps: ("validate" | "transform" | "style-dictionary" | "sync" | "sass-theme" | "sass-theme-minified" | "postprocess" | "sass-utilities" | "sass-utilities-minified" | "bundle")[];
850
+ styleDictionaryConfig: string;
851
+ paths?: {
852
+ syncSource: string;
853
+ syncTarget: string;
854
+ sassThemeInput: string;
855
+ sassThemeOutput: string;
856
+ sassThemeMinifiedOutput: string;
857
+ sassUtilitiesInput: string;
858
+ sassUtilitiesOutput: string;
859
+ sassUtilitiesMinifiedOutput: string;
860
+ } | undefined;
861
+ } | undefined;
862
+ }, {
863
+ verbose?: boolean | undefined;
864
+ prefix?: string | undefined;
865
+ enabled?: boolean | undefined;
866
+ formats?: ("css" | "scss" | "js" | "ts" | "json" | "less" | "esm" | "cjs")[] | undefined;
867
+ transforms?: string[] | undefined;
868
+ customTransforms?: {
869
+ name: string;
870
+ transform?: ((args_0: any, args_1: any, ...args: unknown[]) => any) | undefined;
871
+ description?: string | undefined;
872
+ type?: "name" | "value" | "attribute" | undefined;
873
+ filter?: ((args_0: any, ...args: unknown[]) => boolean) | undefined;
874
+ matcher?: ((args_0: any, ...args: unknown[]) => boolean) | undefined;
875
+ }[] | undefined;
876
+ sourcePatterns?: string[] | undefined;
877
+ outputDirs?: {
878
+ css?: string | undefined;
879
+ scss?: string | undefined;
880
+ js?: string | undefined;
881
+ ts?: string | undefined;
882
+ json?: string | undefined;
883
+ less?: string | undefined;
884
+ } | undefined;
885
+ additionalScssDirectories?: string[] | undefined;
886
+ outputFileNames?: {
887
+ variables?: string | undefined;
888
+ utilities?: string | undefined;
889
+ mixins?: string | undefined;
890
+ tokens?: string | undefined;
891
+ } | undefined;
892
+ mergeOrder?: string[] | undefined;
893
+ createBundle?: boolean | undefined;
894
+ bundleFileName?: string | undefined;
895
+ platforms?: Record<string, {
896
+ format: "css" | "scss" | "js" | "ts" | "json" | "less" | "esm" | "cjs";
897
+ filter?: ((args_0: any, ...args: unknown[]) => boolean | Promise<boolean>) | undefined;
898
+ selector?: string | undefined;
899
+ prefix?: string | undefined;
900
+ outputFileName?: string | undefined;
901
+ outputDir?: string | undefined;
902
+ fileExtension?: string | undefined;
903
+ useVariables?: boolean | undefined;
904
+ transforms?: string[] | undefined;
905
+ customTransforms?: {
906
+ name: string;
907
+ transform?: ((args_0: any, args_1: any, ...args: unknown[]) => any) | undefined;
908
+ description?: string | undefined;
909
+ type?: "name" | "value" | "attribute" | undefined;
910
+ filter?: ((args_0: any, ...args: unknown[]) => boolean) | undefined;
911
+ matcher?: ((args_0: any, ...args: unknown[]) => boolean) | undefined;
912
+ }[] | undefined;
913
+ header?: string | undefined;
914
+ footer?: string | undefined;
915
+ }> | undefined;
916
+ customFormats?: {
917
+ name: string;
918
+ description?: string | undefined;
919
+ formatter?: ((args_0: any, ...args: unknown[]) => string) | undefined;
920
+ extension?: string | undefined;
921
+ }[] | undefined;
922
+ hooks?: {
923
+ onBuildStart?: ((args_0: any, ...args: unknown[]) => void | Promise<void>) | undefined;
924
+ onFormatComplete?: ((args_0: any, ...args: unknown[]) => void | Promise<void>) | undefined;
925
+ onAllFormatsComplete?: ((args_0: any, ...args: unknown[]) => void | Promise<void>) | undefined;
926
+ onBuildComplete?: ((args_0: any, ...args: unknown[]) => void | Promise<void>) | undefined;
927
+ onError?: ((args_0: any, ...args: unknown[]) => void | Promise<void>) | undefined;
928
+ } | undefined;
929
+ cache?: {
930
+ enabled?: boolean | undefined;
931
+ directory?: string | undefined;
932
+ hashType?: "content" | "timestamp" | "version" | "none" | undefined;
933
+ maxAge?: number | undefined;
934
+ } | undefined;
935
+ watch?: {
936
+ enabled?: boolean | undefined;
937
+ debounce?: number | undefined;
938
+ clearScreen?: boolean | undefined;
939
+ ignorePatterns?: string[] | undefined;
940
+ } | undefined;
941
+ pipeline?: {
942
+ steps?: ("validate" | "transform" | "style-dictionary" | "sync" | "sass-theme" | "sass-theme-minified" | "postprocess" | "sass-utilities" | "sass-utilities-minified" | "bundle")[] | undefined;
943
+ paths?: {
944
+ syncSource?: string | undefined;
945
+ syncTarget?: string | undefined;
946
+ sassThemeInput?: string | undefined;
947
+ sassThemeOutput?: string | undefined;
948
+ sassThemeMinifiedOutput?: string | undefined;
949
+ sassUtilitiesInput?: string | undefined;
950
+ sassUtilitiesOutput?: string | undefined;
951
+ sassUtilitiesMinifiedOutput?: string | undefined;
952
+ } | undefined;
953
+ styleDictionaryConfig?: string | undefined;
954
+ } | undefined;
955
+ }>;
956
+ /**
957
+ * Global build configuration
958
+ */
959
+ declare const buildConfigSchema: z.ZodObject<{
960
+ outDir: z.ZodDefault<z.ZodOptional<z.ZodString>>;
961
+ clean: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
962
+ sourcemap: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
963
+ minify: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
964
+ parallel: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
965
+ maxConcurrency: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
966
+ }, "strip", z.ZodTypeAny, {
967
+ minify: boolean;
968
+ outDir: string;
969
+ clean: boolean;
970
+ sourcemap: boolean;
971
+ parallel: boolean;
972
+ maxConcurrency: number;
973
+ }, {
974
+ minify?: boolean | undefined;
975
+ outDir?: string | undefined;
976
+ clean?: boolean | undefined;
977
+ sourcemap?: boolean | undefined;
978
+ parallel?: boolean | undefined;
979
+ maxConcurrency?: number | undefined;
980
+ }>;
981
+ /**
982
+ * Global configuration section
983
+ */
984
+ declare const globalConfigSchema: z.ZodObject<{
985
+ logLevel: z.ZodDefault<z.ZodOptional<z.ZodEnum<["silent", "error", "warn", "info", "debug", "verbose"]>>>;
986
+ colors: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
987
+ ci: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
988
+ dryRun: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
989
+ cwd: z.ZodOptional<z.ZodString>;
990
+ configPath: z.ZodOptional<z.ZodString>;
991
+ framework: z.ZodOptional<z.ZodEnum<["react", "vue", "angular", "svelte", "vanilla"]>>;
992
+ build: z.ZodOptional<z.ZodObject<{
993
+ outDir: z.ZodDefault<z.ZodOptional<z.ZodString>>;
994
+ clean: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
995
+ sourcemap: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
996
+ minify: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
997
+ parallel: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
998
+ maxConcurrency: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
999
+ }, "strip", z.ZodTypeAny, {
1000
+ minify: boolean;
1001
+ outDir: string;
1002
+ clean: boolean;
1003
+ sourcemap: boolean;
1004
+ parallel: boolean;
1005
+ maxConcurrency: number;
1006
+ }, {
1007
+ minify?: boolean | undefined;
1008
+ outDir?: string | undefined;
1009
+ clean?: boolean | undefined;
1010
+ sourcemap?: boolean | undefined;
1011
+ parallel?: boolean | undefined;
1012
+ maxConcurrency?: number | undefined;
1013
+ }>>;
1014
+ }, "strip", z.ZodTypeAny, {
1015
+ logLevel: "silent" | "error" | "warn" | "info" | "debug" | "verbose";
1016
+ colors: boolean;
1017
+ ci: boolean;
1018
+ dryRun: boolean;
1019
+ cwd?: string | undefined;
1020
+ configPath?: string | undefined;
1021
+ framework?: "react" | "vue" | "svelte" | "angular" | "vanilla" | undefined;
1022
+ build?: {
1023
+ minify: boolean;
1024
+ outDir: string;
1025
+ clean: boolean;
1026
+ sourcemap: boolean;
1027
+ parallel: boolean;
1028
+ maxConcurrency: number;
1029
+ } | undefined;
1030
+ }, {
1031
+ logLevel?: "silent" | "error" | "warn" | "info" | "debug" | "verbose" | undefined;
1032
+ colors?: boolean | undefined;
1033
+ ci?: boolean | undefined;
1034
+ dryRun?: boolean | undefined;
1035
+ cwd?: string | undefined;
1036
+ configPath?: string | undefined;
1037
+ framework?: "react" | "vue" | "svelte" | "angular" | "vanilla" | undefined;
1038
+ build?: {
1039
+ minify?: boolean | undefined;
1040
+ outDir?: string | undefined;
1041
+ clean?: boolean | undefined;
1042
+ sourcemap?: boolean | undefined;
1043
+ parallel?: boolean | undefined;
1044
+ maxConcurrency?: number | undefined;
1045
+ } | undefined;
1046
+ }>;
1047
+ /**
1048
+ * DSAI Tools configuration root schema
1049
+ *
1050
+ * This is the primary schema used for validating configuration files.
1051
+ * It combines all section schemas into a complete configuration object.
1052
+ */
1053
+ declare const dsaiConfigSchema: z.ZodObject<{
1054
+ $schema: z.ZodOptional<z.ZodString>;
1055
+ extends: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
1056
+ global: z.ZodOptional<z.ZodObject<{
1057
+ logLevel: z.ZodDefault<z.ZodOptional<z.ZodEnum<["silent", "error", "warn", "info", "debug", "verbose"]>>>;
1058
+ colors: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
1059
+ ci: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
1060
+ dryRun: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
1061
+ cwd: z.ZodOptional<z.ZodString>;
1062
+ configPath: z.ZodOptional<z.ZodString>;
1063
+ framework: z.ZodOptional<z.ZodEnum<["react", "vue", "angular", "svelte", "vanilla"]>>;
1064
+ build: z.ZodOptional<z.ZodObject<{
1065
+ outDir: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1066
+ clean: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
1067
+ sourcemap: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
1068
+ minify: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
1069
+ parallel: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
1070
+ maxConcurrency: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
1071
+ }, "strip", z.ZodTypeAny, {
1072
+ minify: boolean;
1073
+ outDir: string;
1074
+ clean: boolean;
1075
+ sourcemap: boolean;
1076
+ parallel: boolean;
1077
+ maxConcurrency: number;
1078
+ }, {
1079
+ minify?: boolean | undefined;
1080
+ outDir?: string | undefined;
1081
+ clean?: boolean | undefined;
1082
+ sourcemap?: boolean | undefined;
1083
+ parallel?: boolean | undefined;
1084
+ maxConcurrency?: number | undefined;
1085
+ }>>;
1086
+ }, "strip", z.ZodTypeAny, {
1087
+ logLevel: "silent" | "error" | "warn" | "info" | "debug" | "verbose";
1088
+ colors: boolean;
1089
+ ci: boolean;
1090
+ dryRun: boolean;
1091
+ cwd?: string | undefined;
1092
+ configPath?: string | undefined;
1093
+ framework?: "react" | "vue" | "svelte" | "angular" | "vanilla" | undefined;
1094
+ build?: {
1095
+ minify: boolean;
1096
+ outDir: string;
1097
+ clean: boolean;
1098
+ sourcemap: boolean;
1099
+ parallel: boolean;
1100
+ maxConcurrency: number;
1101
+ } | undefined;
1102
+ }, {
1103
+ logLevel?: "silent" | "error" | "warn" | "info" | "debug" | "verbose" | undefined;
1104
+ colors?: boolean | undefined;
1105
+ ci?: boolean | undefined;
1106
+ dryRun?: boolean | undefined;
1107
+ cwd?: string | undefined;
1108
+ configPath?: string | undefined;
1109
+ framework?: "react" | "vue" | "svelte" | "angular" | "vanilla" | undefined;
1110
+ build?: {
1111
+ minify?: boolean | undefined;
1112
+ outDir?: string | undefined;
1113
+ clean?: boolean | undefined;
1114
+ sourcemap?: boolean | undefined;
1115
+ parallel?: boolean | undefined;
1116
+ maxConcurrency?: number | undefined;
1117
+ } | undefined;
1118
+ }>>;
1119
+ tokens: z.ZodOptional<z.ZodObject<{
1120
+ enabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
1121
+ sourcePatterns: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
1122
+ outputDirs: z.ZodOptional<z.ZodObject<{
1123
+ css: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1124
+ scss: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1125
+ less: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1126
+ js: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1127
+ ts: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1128
+ json: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1129
+ }, "strip", z.ZodTypeAny, {
1130
+ css: string;
1131
+ scss: string;
1132
+ js: string;
1133
+ ts: string;
1134
+ json: string;
1135
+ less: string;
1136
+ }, {
1137
+ css?: string | undefined;
1138
+ scss?: string | undefined;
1139
+ js?: string | undefined;
1140
+ ts?: string | undefined;
1141
+ json?: string | undefined;
1142
+ less?: string | undefined;
1143
+ }>>;
1144
+ additionalScssDirectories: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
1145
+ outputFileNames: z.ZodOptional<z.ZodObject<{
1146
+ variables: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1147
+ utilities: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1148
+ mixins: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1149
+ tokens: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1150
+ }, "strip", z.ZodTypeAny, {
1151
+ variables: string;
1152
+ utilities: string;
1153
+ mixins: string;
1154
+ tokens: string;
1155
+ }, {
1156
+ variables?: string | undefined;
1157
+ utilities?: string | undefined;
1158
+ mixins?: string | undefined;
1159
+ tokens?: string | undefined;
1160
+ }>>;
1161
+ prefix: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1162
+ mergeOrder: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
1163
+ createBundle: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
1164
+ bundleFileName: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1165
+ formats: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodEnum<["css", "scss", "less", "json", "js", "ts", "esm", "cjs"]>, "many">>>;
1166
+ platforms: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
1167
+ format: z.ZodEnum<["css", "scss", "less", "json", "js", "ts", "esm", "cjs"]>;
1168
+ outputDir: z.ZodOptional<z.ZodString>;
1169
+ outputFileName: z.ZodOptional<z.ZodString>;
1170
+ fileExtension: z.ZodOptional<z.ZodString>;
1171
+ prefix: z.ZodOptional<z.ZodString>;
1172
+ useVariables: z.ZodOptional<z.ZodBoolean>;
1173
+ selector: z.ZodOptional<z.ZodString>;
1174
+ transforms: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1175
+ customTransforms: z.ZodOptional<z.ZodArray<z.ZodObject<{
1176
+ name: z.ZodString;
1177
+ description: z.ZodOptional<z.ZodString>;
1178
+ type: z.ZodDefault<z.ZodOptional<z.ZodEnum<["value", "attribute", "name"]>>>;
1179
+ transform: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodAny, z.ZodAny], z.ZodUnknown>, z.ZodAny>>;
1180
+ filter: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodAny], z.ZodUnknown>, z.ZodBoolean>>;
1181
+ matcher: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodAny], z.ZodUnknown>, z.ZodBoolean>>;
1182
+ }, "strip", z.ZodTypeAny, {
1183
+ name: string;
1184
+ type: "name" | "value" | "attribute";
1185
+ transform?: ((args_0: any, args_1: any, ...args: unknown[]) => any) | undefined;
1186
+ description?: string | undefined;
1187
+ filter?: ((args_0: any, ...args: unknown[]) => boolean) | undefined;
1188
+ matcher?: ((args_0: any, ...args: unknown[]) => boolean) | undefined;
1189
+ }, {
1190
+ name: string;
1191
+ transform?: ((args_0: any, args_1: any, ...args: unknown[]) => any) | undefined;
1192
+ description?: string | undefined;
1193
+ type?: "name" | "value" | "attribute" | undefined;
1194
+ filter?: ((args_0: any, ...args: unknown[]) => boolean) | undefined;
1195
+ matcher?: ((args_0: any, ...args: unknown[]) => boolean) | undefined;
1196
+ }>, "many">>;
1197
+ filter: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodAny], z.ZodUnknown>, z.ZodUnion<[z.ZodBoolean, z.ZodPromise<z.ZodBoolean>]>>>;
1198
+ header: z.ZodOptional<z.ZodString>;
1199
+ footer: z.ZodOptional<z.ZodString>;
1200
+ }, "strip", z.ZodTypeAny, {
1201
+ format: "css" | "scss" | "js" | "ts" | "json" | "less" | "esm" | "cjs";
1202
+ filter?: ((args_0: any, ...args: unknown[]) => boolean | Promise<boolean>) | undefined;
1203
+ selector?: string | undefined;
1204
+ prefix?: string | undefined;
1205
+ outputFileName?: string | undefined;
1206
+ outputDir?: string | undefined;
1207
+ fileExtension?: string | undefined;
1208
+ useVariables?: boolean | undefined;
1209
+ transforms?: string[] | undefined;
1210
+ customTransforms?: {
1211
+ name: string;
1212
+ type: "name" | "value" | "attribute";
1213
+ transform?: ((args_0: any, args_1: any, ...args: unknown[]) => any) | undefined;
1214
+ description?: string | undefined;
1215
+ filter?: ((args_0: any, ...args: unknown[]) => boolean) | undefined;
1216
+ matcher?: ((args_0: any, ...args: unknown[]) => boolean) | undefined;
1217
+ }[] | undefined;
1218
+ header?: string | undefined;
1219
+ footer?: string | undefined;
1220
+ }, {
1221
+ format: "css" | "scss" | "js" | "ts" | "json" | "less" | "esm" | "cjs";
1222
+ filter?: ((args_0: any, ...args: unknown[]) => boolean | Promise<boolean>) | undefined;
1223
+ selector?: string | undefined;
1224
+ prefix?: string | undefined;
1225
+ outputFileName?: string | undefined;
1226
+ outputDir?: string | undefined;
1227
+ fileExtension?: string | undefined;
1228
+ useVariables?: boolean | undefined;
1229
+ transforms?: string[] | undefined;
1230
+ customTransforms?: {
1231
+ name: string;
1232
+ transform?: ((args_0: any, args_1: any, ...args: unknown[]) => any) | undefined;
1233
+ description?: string | undefined;
1234
+ type?: "name" | "value" | "attribute" | undefined;
1235
+ filter?: ((args_0: any, ...args: unknown[]) => boolean) | undefined;
1236
+ matcher?: ((args_0: any, ...args: unknown[]) => boolean) | undefined;
1237
+ }[] | undefined;
1238
+ header?: string | undefined;
1239
+ footer?: string | undefined;
1240
+ }>>>;
1241
+ transforms: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
1242
+ customTransforms: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
1243
+ name: z.ZodString;
1244
+ description: z.ZodOptional<z.ZodString>;
1245
+ type: z.ZodDefault<z.ZodOptional<z.ZodEnum<["value", "attribute", "name"]>>>;
1246
+ transform: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodAny, z.ZodAny], z.ZodUnknown>, z.ZodAny>>;
1247
+ filter: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodAny], z.ZodUnknown>, z.ZodBoolean>>;
1248
+ matcher: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodAny], z.ZodUnknown>, z.ZodBoolean>>;
1249
+ }, "strip", z.ZodTypeAny, {
1250
+ name: string;
1251
+ type: "name" | "value" | "attribute";
1252
+ transform?: ((args_0: any, args_1: any, ...args: unknown[]) => any) | undefined;
1253
+ description?: string | undefined;
1254
+ filter?: ((args_0: any, ...args: unknown[]) => boolean) | undefined;
1255
+ matcher?: ((args_0: any, ...args: unknown[]) => boolean) | undefined;
1256
+ }, {
1257
+ name: string;
1258
+ transform?: ((args_0: any, args_1: any, ...args: unknown[]) => any) | undefined;
1259
+ description?: string | undefined;
1260
+ type?: "name" | "value" | "attribute" | undefined;
1261
+ filter?: ((args_0: any, ...args: unknown[]) => boolean) | undefined;
1262
+ matcher?: ((args_0: any, ...args: unknown[]) => boolean) | undefined;
1263
+ }>, "many">>>;
1264
+ customFormats: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
1265
+ name: z.ZodString;
1266
+ description: z.ZodOptional<z.ZodString>;
1267
+ formatter: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodAny], z.ZodUnknown>, z.ZodString>>;
1268
+ extension: z.ZodOptional<z.ZodString>;
1269
+ }, "strip", z.ZodTypeAny, {
1270
+ name: string;
1271
+ description?: string | undefined;
1272
+ formatter?: ((args_0: any, ...args: unknown[]) => string) | undefined;
1273
+ extension?: string | undefined;
1274
+ }, {
1275
+ name: string;
1276
+ description?: string | undefined;
1277
+ formatter?: ((args_0: any, ...args: unknown[]) => string) | undefined;
1278
+ extension?: string | undefined;
1279
+ }>, "many">>>;
1280
+ hooks: z.ZodOptional<z.ZodObject<{
1281
+ onBuildStart: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodAny], z.ZodUnknown>, z.ZodUnion<[z.ZodVoid, z.ZodPromise<z.ZodVoid>]>>>;
1282
+ onFormatComplete: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodAny], z.ZodUnknown>, z.ZodUnion<[z.ZodVoid, z.ZodPromise<z.ZodVoid>]>>>;
1283
+ onAllFormatsComplete: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodAny], z.ZodUnknown>, z.ZodUnion<[z.ZodVoid, z.ZodPromise<z.ZodVoid>]>>>;
1284
+ onBuildComplete: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodAny], z.ZodUnknown>, z.ZodUnion<[z.ZodVoid, z.ZodPromise<z.ZodVoid>]>>>;
1285
+ onError: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodAny], z.ZodUnknown>, z.ZodUnion<[z.ZodVoid, z.ZodPromise<z.ZodVoid>]>>>;
1286
+ }, "strip", z.ZodTypeAny, {
1287
+ onBuildStart?: ((args_0: any, ...args: unknown[]) => void | Promise<void>) | undefined;
1288
+ onFormatComplete?: ((args_0: any, ...args: unknown[]) => void | Promise<void>) | undefined;
1289
+ onAllFormatsComplete?: ((args_0: any, ...args: unknown[]) => void | Promise<void>) | undefined;
1290
+ onBuildComplete?: ((args_0: any, ...args: unknown[]) => void | Promise<void>) | undefined;
1291
+ onError?: ((args_0: any, ...args: unknown[]) => void | Promise<void>) | undefined;
1292
+ }, {
1293
+ onBuildStart?: ((args_0: any, ...args: unknown[]) => void | Promise<void>) | undefined;
1294
+ onFormatComplete?: ((args_0: any, ...args: unknown[]) => void | Promise<void>) | undefined;
1295
+ onAllFormatsComplete?: ((args_0: any, ...args: unknown[]) => void | Promise<void>) | undefined;
1296
+ onBuildComplete?: ((args_0: any, ...args: unknown[]) => void | Promise<void>) | undefined;
1297
+ onError?: ((args_0: any, ...args: unknown[]) => void | Promise<void>) | undefined;
1298
+ }>>;
1299
+ cache: z.ZodOptional<z.ZodObject<{
1300
+ enabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
1301
+ directory: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1302
+ hashType: z.ZodDefault<z.ZodOptional<z.ZodEnum<["content", "timestamp", "version", "none"]>>>;
1303
+ maxAge: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
1304
+ }, "strip", z.ZodTypeAny, {
1305
+ enabled: boolean;
1306
+ directory: string;
1307
+ hashType: "content" | "timestamp" | "version" | "none";
1308
+ maxAge: number;
1309
+ }, {
1310
+ enabled?: boolean | undefined;
1311
+ directory?: string | undefined;
1312
+ hashType?: "content" | "timestamp" | "version" | "none" | undefined;
1313
+ maxAge?: number | undefined;
1314
+ }>>;
1315
+ watch: z.ZodOptional<z.ZodObject<{
1316
+ enabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
1317
+ debounce: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
1318
+ clearScreen: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
1319
+ ignorePatterns: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
1320
+ }, "strip", z.ZodTypeAny, {
1321
+ enabled: boolean;
1322
+ debounce: number;
1323
+ clearScreen: boolean;
1324
+ ignorePatterns: string[];
1325
+ }, {
1326
+ enabled?: boolean | undefined;
1327
+ debounce?: number | undefined;
1328
+ clearScreen?: boolean | undefined;
1329
+ ignorePatterns?: string[] | undefined;
1330
+ }>>;
1331
+ verbose: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
1332
+ /** Build pipeline configuration */
1333
+ pipeline: z.ZodOptional<z.ZodObject<{
1334
+ /**
1335
+ * Steps to include in the build.
1336
+ * Order matters - steps run in sequence.
1337
+ * Default includes all steps for full @dsai-io/tokens build.
1338
+ * Simpler packages can use subset like ['validate', 'transform', 'style-dictionary']
1339
+ */
1340
+ steps: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodEnum<["validate", "transform", "style-dictionary", "sync", "sass-theme", "sass-theme-minified", "postprocess", "sass-utilities", "sass-utilities-minified", "bundle"]>, "many">>>;
1341
+ /**
1342
+ * Paths configuration for build steps
1343
+ */
1344
+ paths: z.ZodOptional<z.ZodObject<{
1345
+ /** Source file for sync step (Style Dictionary JS output) */
1346
+ syncSource: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1347
+ /** Target file for sync step */
1348
+ syncTarget: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1349
+ /** SCSS theme input file */
1350
+ sassThemeInput: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1351
+ /** CSS theme output file */
1352
+ sassThemeOutput: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1353
+ /** CSS theme minified output file */
1354
+ sassThemeMinifiedOutput: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1355
+ /** SCSS utilities input file */
1356
+ sassUtilitiesInput: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1357
+ /** CSS utilities output file */
1358
+ sassUtilitiesOutput: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1359
+ /** CSS utilities minified output file */
1360
+ sassUtilitiesMinifiedOutput: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1361
+ }, "strip", z.ZodTypeAny, {
1362
+ syncSource: string;
1363
+ syncTarget: string;
1364
+ sassThemeInput: string;
1365
+ sassThemeOutput: string;
1366
+ sassThemeMinifiedOutput: string;
1367
+ sassUtilitiesInput: string;
1368
+ sassUtilitiesOutput: string;
1369
+ sassUtilitiesMinifiedOutput: string;
1370
+ }, {
1371
+ syncSource?: string | undefined;
1372
+ syncTarget?: string | undefined;
1373
+ sassThemeInput?: string | undefined;
1374
+ sassThemeOutput?: string | undefined;
1375
+ sassThemeMinifiedOutput?: string | undefined;
1376
+ sassUtilitiesInput?: string | undefined;
1377
+ sassUtilitiesOutput?: string | undefined;
1378
+ sassUtilitiesMinifiedOutput?: string | undefined;
1379
+ }>>;
1380
+ /** Style Dictionary config file name */
1381
+ styleDictionaryConfig: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1382
+ }, "strip", z.ZodTypeAny, {
1383
+ steps: ("validate" | "transform" | "style-dictionary" | "sync" | "sass-theme" | "sass-theme-minified" | "postprocess" | "sass-utilities" | "sass-utilities-minified" | "bundle")[];
1384
+ styleDictionaryConfig: string;
1385
+ paths?: {
1386
+ syncSource: string;
1387
+ syncTarget: string;
1388
+ sassThemeInput: string;
1389
+ sassThemeOutput: string;
1390
+ sassThemeMinifiedOutput: string;
1391
+ sassUtilitiesInput: string;
1392
+ sassUtilitiesOutput: string;
1393
+ sassUtilitiesMinifiedOutput: string;
1394
+ } | undefined;
1395
+ }, {
1396
+ steps?: ("validate" | "transform" | "style-dictionary" | "sync" | "sass-theme" | "sass-theme-minified" | "postprocess" | "sass-utilities" | "sass-utilities-minified" | "bundle")[] | undefined;
1397
+ paths?: {
1398
+ syncSource?: string | undefined;
1399
+ syncTarget?: string | undefined;
1400
+ sassThemeInput?: string | undefined;
1401
+ sassThemeOutput?: string | undefined;
1402
+ sassThemeMinifiedOutput?: string | undefined;
1403
+ sassUtilitiesInput?: string | undefined;
1404
+ sassUtilitiesOutput?: string | undefined;
1405
+ sassUtilitiesMinifiedOutput?: string | undefined;
1406
+ } | undefined;
1407
+ styleDictionaryConfig?: string | undefined;
1408
+ }>>;
1409
+ }, "strip", z.ZodTypeAny, {
1410
+ verbose: boolean;
1411
+ prefix: string;
1412
+ enabled: boolean;
1413
+ formats: ("css" | "scss" | "js" | "ts" | "json" | "less" | "esm" | "cjs")[];
1414
+ transforms: string[];
1415
+ customTransforms: {
1416
+ name: string;
1417
+ type: "name" | "value" | "attribute";
1418
+ transform?: ((args_0: any, args_1: any, ...args: unknown[]) => any) | undefined;
1419
+ description?: string | undefined;
1420
+ filter?: ((args_0: any, ...args: unknown[]) => boolean) | undefined;
1421
+ matcher?: ((args_0: any, ...args: unknown[]) => boolean) | undefined;
1422
+ }[];
1423
+ sourcePatterns: string[];
1424
+ additionalScssDirectories: string[];
1425
+ mergeOrder: string[];
1426
+ createBundle: boolean;
1427
+ bundleFileName: string;
1428
+ customFormats: {
1429
+ name: string;
1430
+ description?: string | undefined;
1431
+ formatter?: ((args_0: any, ...args: unknown[]) => string) | undefined;
1432
+ extension?: string | undefined;
1433
+ }[];
1434
+ outputDirs?: {
1435
+ css: string;
1436
+ scss: string;
1437
+ js: string;
1438
+ ts: string;
1439
+ json: string;
1440
+ less: string;
1441
+ } | undefined;
1442
+ outputFileNames?: {
1443
+ variables: string;
1444
+ utilities: string;
1445
+ mixins: string;
1446
+ tokens: string;
1447
+ } | undefined;
1448
+ platforms?: Record<string, {
1449
+ format: "css" | "scss" | "js" | "ts" | "json" | "less" | "esm" | "cjs";
1450
+ filter?: ((args_0: any, ...args: unknown[]) => boolean | Promise<boolean>) | undefined;
1451
+ selector?: string | undefined;
1452
+ prefix?: string | undefined;
1453
+ outputFileName?: string | undefined;
1454
+ outputDir?: string | undefined;
1455
+ fileExtension?: string | undefined;
1456
+ useVariables?: boolean | undefined;
1457
+ transforms?: string[] | undefined;
1458
+ customTransforms?: {
1459
+ name: string;
1460
+ type: "name" | "value" | "attribute";
1461
+ transform?: ((args_0: any, args_1: any, ...args: unknown[]) => any) | undefined;
1462
+ description?: string | undefined;
1463
+ filter?: ((args_0: any, ...args: unknown[]) => boolean) | undefined;
1464
+ matcher?: ((args_0: any, ...args: unknown[]) => boolean) | undefined;
1465
+ }[] | undefined;
1466
+ header?: string | undefined;
1467
+ footer?: string | undefined;
1468
+ }> | undefined;
1469
+ hooks?: {
1470
+ onBuildStart?: ((args_0: any, ...args: unknown[]) => void | Promise<void>) | undefined;
1471
+ onFormatComplete?: ((args_0: any, ...args: unknown[]) => void | Promise<void>) | undefined;
1472
+ onAllFormatsComplete?: ((args_0: any, ...args: unknown[]) => void | Promise<void>) | undefined;
1473
+ onBuildComplete?: ((args_0: any, ...args: unknown[]) => void | Promise<void>) | undefined;
1474
+ onError?: ((args_0: any, ...args: unknown[]) => void | Promise<void>) | undefined;
1475
+ } | undefined;
1476
+ cache?: {
1477
+ enabled: boolean;
1478
+ directory: string;
1479
+ hashType: "content" | "timestamp" | "version" | "none";
1480
+ maxAge: number;
1481
+ } | undefined;
1482
+ watch?: {
1483
+ enabled: boolean;
1484
+ debounce: number;
1485
+ clearScreen: boolean;
1486
+ ignorePatterns: string[];
1487
+ } | undefined;
1488
+ pipeline?: {
1489
+ steps: ("validate" | "transform" | "style-dictionary" | "sync" | "sass-theme" | "sass-theme-minified" | "postprocess" | "sass-utilities" | "sass-utilities-minified" | "bundle")[];
1490
+ styleDictionaryConfig: string;
1491
+ paths?: {
1492
+ syncSource: string;
1493
+ syncTarget: string;
1494
+ sassThemeInput: string;
1495
+ sassThemeOutput: string;
1496
+ sassThemeMinifiedOutput: string;
1497
+ sassUtilitiesInput: string;
1498
+ sassUtilitiesOutput: string;
1499
+ sassUtilitiesMinifiedOutput: string;
1500
+ } | undefined;
1501
+ } | undefined;
1502
+ }, {
1503
+ verbose?: boolean | undefined;
1504
+ prefix?: string | undefined;
1505
+ enabled?: boolean | undefined;
1506
+ formats?: ("css" | "scss" | "js" | "ts" | "json" | "less" | "esm" | "cjs")[] | undefined;
1507
+ transforms?: string[] | undefined;
1508
+ customTransforms?: {
1509
+ name: string;
1510
+ transform?: ((args_0: any, args_1: any, ...args: unknown[]) => any) | undefined;
1511
+ description?: string | undefined;
1512
+ type?: "name" | "value" | "attribute" | undefined;
1513
+ filter?: ((args_0: any, ...args: unknown[]) => boolean) | undefined;
1514
+ matcher?: ((args_0: any, ...args: unknown[]) => boolean) | undefined;
1515
+ }[] | undefined;
1516
+ sourcePatterns?: string[] | undefined;
1517
+ outputDirs?: {
1518
+ css?: string | undefined;
1519
+ scss?: string | undefined;
1520
+ js?: string | undefined;
1521
+ ts?: string | undefined;
1522
+ json?: string | undefined;
1523
+ less?: string | undefined;
1524
+ } | undefined;
1525
+ additionalScssDirectories?: string[] | undefined;
1526
+ outputFileNames?: {
1527
+ variables?: string | undefined;
1528
+ utilities?: string | undefined;
1529
+ mixins?: string | undefined;
1530
+ tokens?: string | undefined;
1531
+ } | undefined;
1532
+ mergeOrder?: string[] | undefined;
1533
+ createBundle?: boolean | undefined;
1534
+ bundleFileName?: string | undefined;
1535
+ platforms?: Record<string, {
1536
+ format: "css" | "scss" | "js" | "ts" | "json" | "less" | "esm" | "cjs";
1537
+ filter?: ((args_0: any, ...args: unknown[]) => boolean | Promise<boolean>) | undefined;
1538
+ selector?: string | undefined;
1539
+ prefix?: string | undefined;
1540
+ outputFileName?: string | undefined;
1541
+ outputDir?: string | undefined;
1542
+ fileExtension?: string | undefined;
1543
+ useVariables?: boolean | undefined;
1544
+ transforms?: string[] | undefined;
1545
+ customTransforms?: {
1546
+ name: string;
1547
+ transform?: ((args_0: any, args_1: any, ...args: unknown[]) => any) | undefined;
1548
+ description?: string | undefined;
1549
+ type?: "name" | "value" | "attribute" | undefined;
1550
+ filter?: ((args_0: any, ...args: unknown[]) => boolean) | undefined;
1551
+ matcher?: ((args_0: any, ...args: unknown[]) => boolean) | undefined;
1552
+ }[] | undefined;
1553
+ header?: string | undefined;
1554
+ footer?: string | undefined;
1555
+ }> | undefined;
1556
+ customFormats?: {
1557
+ name: string;
1558
+ description?: string | undefined;
1559
+ formatter?: ((args_0: any, ...args: unknown[]) => string) | undefined;
1560
+ extension?: string | undefined;
1561
+ }[] | undefined;
1562
+ hooks?: {
1563
+ onBuildStart?: ((args_0: any, ...args: unknown[]) => void | Promise<void>) | undefined;
1564
+ onFormatComplete?: ((args_0: any, ...args: unknown[]) => void | Promise<void>) | undefined;
1565
+ onAllFormatsComplete?: ((args_0: any, ...args: unknown[]) => void | Promise<void>) | undefined;
1566
+ onBuildComplete?: ((args_0: any, ...args: unknown[]) => void | Promise<void>) | undefined;
1567
+ onError?: ((args_0: any, ...args: unknown[]) => void | Promise<void>) | undefined;
1568
+ } | undefined;
1569
+ cache?: {
1570
+ enabled?: boolean | undefined;
1571
+ directory?: string | undefined;
1572
+ hashType?: "content" | "timestamp" | "version" | "none" | undefined;
1573
+ maxAge?: number | undefined;
1574
+ } | undefined;
1575
+ watch?: {
1576
+ enabled?: boolean | undefined;
1577
+ debounce?: number | undefined;
1578
+ clearScreen?: boolean | undefined;
1579
+ ignorePatterns?: string[] | undefined;
1580
+ } | undefined;
1581
+ pipeline?: {
1582
+ steps?: ("validate" | "transform" | "style-dictionary" | "sync" | "sass-theme" | "sass-theme-minified" | "postprocess" | "sass-utilities" | "sass-utilities-minified" | "bundle")[] | undefined;
1583
+ paths?: {
1584
+ syncSource?: string | undefined;
1585
+ syncTarget?: string | undefined;
1586
+ sassThemeInput?: string | undefined;
1587
+ sassThemeOutput?: string | undefined;
1588
+ sassThemeMinifiedOutput?: string | undefined;
1589
+ sassUtilitiesInput?: string | undefined;
1590
+ sassUtilitiesOutput?: string | undefined;
1591
+ sassUtilitiesMinifiedOutput?: string | undefined;
1592
+ } | undefined;
1593
+ styleDictionaryConfig?: string | undefined;
1594
+ } | undefined;
1595
+ }>>;
1596
+ themes: z.ZodOptional<z.ZodObject<{
1597
+ enabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
1598
+ defaultMode: z.ZodDefault<z.ZodOptional<z.ZodEnum<["light", "dark", "system"]>>>;
1599
+ modes: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
1600
+ selector: z.ZodString;
1601
+ mediaQuery: z.ZodOptional<z.ZodString>;
1602
+ dataAttribute: z.ZodOptional<z.ZodString>;
1603
+ cssVariables: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
1604
+ generateSeparateFiles: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
1605
+ prefix: z.ZodOptional<z.ZodString>;
1606
+ }, "strip", z.ZodTypeAny, {
1607
+ selector: string;
1608
+ cssVariables: boolean;
1609
+ generateSeparateFiles: boolean;
1610
+ mediaQuery?: string | undefined;
1611
+ dataAttribute?: string | undefined;
1612
+ prefix?: string | undefined;
1613
+ }, {
1614
+ selector: string;
1615
+ mediaQuery?: string | undefined;
1616
+ dataAttribute?: string | undefined;
1617
+ cssVariables?: boolean | undefined;
1618
+ generateSeparateFiles?: boolean | undefined;
1619
+ prefix?: string | undefined;
1620
+ }>>>>;
1621
+ outputFileName: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1622
+ colorScheme: z.ZodOptional<z.ZodObject<{
1623
+ light: z.ZodOptional<z.ZodString>;
1624
+ dark: z.ZodOptional<z.ZodString>;
1625
+ }, "strip", z.ZodTypeAny, {
1626
+ light?: string | undefined;
1627
+ dark?: string | undefined;
1628
+ }, {
1629
+ light?: string | undefined;
1630
+ dark?: string | undefined;
1631
+ }>>;
1632
+ }, "strip", z.ZodTypeAny, {
1633
+ enabled: boolean;
1634
+ defaultMode: "light" | "dark" | "system";
1635
+ modes: Record<string, {
1636
+ selector: string;
1637
+ cssVariables: boolean;
1638
+ generateSeparateFiles: boolean;
1639
+ mediaQuery?: string | undefined;
1640
+ dataAttribute?: string | undefined;
1641
+ prefix?: string | undefined;
1642
+ }>;
1643
+ outputFileName: string;
1644
+ colorScheme?: {
1645
+ light?: string | undefined;
1646
+ dark?: string | undefined;
1647
+ } | undefined;
1648
+ }, {
1649
+ enabled?: boolean | undefined;
1650
+ defaultMode?: "light" | "dark" | "system" | undefined;
1651
+ modes?: Record<string, {
1652
+ selector: string;
1653
+ mediaQuery?: string | undefined;
1654
+ dataAttribute?: string | undefined;
1655
+ cssVariables?: boolean | undefined;
1656
+ generateSeparateFiles?: boolean | undefined;
1657
+ prefix?: string | undefined;
1658
+ }> | undefined;
1659
+ outputFileName?: string | undefined;
1660
+ colorScheme?: {
1661
+ light?: string | undefined;
1662
+ dark?: string | undefined;
1663
+ } | undefined;
1664
+ }>>;
1665
+ icons: z.ZodOptional<z.ZodObject<{
1666
+ enabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
1667
+ sourceDir: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1668
+ outputDir: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1669
+ formats: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodEnum<["svg", "react", "vue", "sprite", "font"]>, "many">>>;
1670
+ optimization: z.ZodOptional<z.ZodObject<{
1671
+ enabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
1672
+ removeComments: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
1673
+ removeDimensions: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
1674
+ removeViewBox: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
1675
+ removeXMLNS: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
1676
+ cleanupIds: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
1677
+ minify: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
1678
+ }, "strip", z.ZodTypeAny, {
1679
+ enabled: boolean;
1680
+ removeComments: boolean;
1681
+ removeDimensions: boolean;
1682
+ removeViewBox: boolean;
1683
+ removeXMLNS: boolean;
1684
+ cleanupIds: boolean;
1685
+ minify: boolean;
1686
+ }, {
1687
+ enabled?: boolean | undefined;
1688
+ removeComments?: boolean | undefined;
1689
+ removeDimensions?: boolean | undefined;
1690
+ removeViewBox?: boolean | undefined;
1691
+ removeXMLNS?: boolean | undefined;
1692
+ cleanupIds?: boolean | undefined;
1693
+ minify?: boolean | undefined;
1694
+ }>>;
1695
+ sprite: z.ZodOptional<z.ZodObject<{
1696
+ enabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
1697
+ fileName: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1698
+ format: z.ZodDefault<z.ZodOptional<z.ZodEnum<["symbol", "stack", "css"]>>>;
1699
+ prefix: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1700
+ }, "strip", z.ZodTypeAny, {
1701
+ prefix: string;
1702
+ enabled: boolean;
1703
+ fileName: string;
1704
+ format: "symbol" | "css" | "stack";
1705
+ }, {
1706
+ prefix?: string | undefined;
1707
+ enabled?: boolean | undefined;
1708
+ fileName?: string | undefined;
1709
+ format?: "symbol" | "css" | "stack" | undefined;
1710
+ }>>;
1711
+ componentPrefix: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1712
+ componentSuffix: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1713
+ generateIndex: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
1714
+ generateTypes: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
1715
+ }, "strip", z.ZodTypeAny, {
1716
+ enabled: boolean;
1717
+ sourceDir: string;
1718
+ outputDir: string;
1719
+ formats: ("react" | "vue" | "svg" | "sprite" | "font")[];
1720
+ componentPrefix: string;
1721
+ componentSuffix: string;
1722
+ generateIndex: boolean;
1723
+ generateTypes: boolean;
1724
+ sprite?: {
1725
+ prefix: string;
1726
+ enabled: boolean;
1727
+ fileName: string;
1728
+ format: "symbol" | "css" | "stack";
1729
+ } | undefined;
1730
+ optimization?: {
1731
+ enabled: boolean;
1732
+ removeComments: boolean;
1733
+ removeDimensions: boolean;
1734
+ removeViewBox: boolean;
1735
+ removeXMLNS: boolean;
1736
+ cleanupIds: boolean;
1737
+ minify: boolean;
1738
+ } | undefined;
1739
+ }, {
1740
+ enabled?: boolean | undefined;
1741
+ sourceDir?: string | undefined;
1742
+ outputDir?: string | undefined;
1743
+ sprite?: {
1744
+ prefix?: string | undefined;
1745
+ enabled?: boolean | undefined;
1746
+ fileName?: string | undefined;
1747
+ format?: "symbol" | "css" | "stack" | undefined;
1748
+ } | undefined;
1749
+ formats?: ("react" | "vue" | "svg" | "sprite" | "font")[] | undefined;
1750
+ optimization?: {
1751
+ enabled?: boolean | undefined;
1752
+ removeComments?: boolean | undefined;
1753
+ removeDimensions?: boolean | undefined;
1754
+ removeViewBox?: boolean | undefined;
1755
+ removeXMLNS?: boolean | undefined;
1756
+ cleanupIds?: boolean | undefined;
1757
+ minify?: boolean | undefined;
1758
+ } | undefined;
1759
+ componentPrefix?: string | undefined;
1760
+ componentSuffix?: string | undefined;
1761
+ generateIndex?: boolean | undefined;
1762
+ generateTypes?: boolean | undefined;
1763
+ }>>;
1764
+ }, "strip", z.ZodTypeAny, {
1765
+ themes?: {
1766
+ enabled: boolean;
1767
+ defaultMode: "light" | "dark" | "system";
1768
+ modes: Record<string, {
1769
+ selector: string;
1770
+ cssVariables: boolean;
1771
+ generateSeparateFiles: boolean;
1772
+ mediaQuery?: string | undefined;
1773
+ dataAttribute?: string | undefined;
1774
+ prefix?: string | undefined;
1775
+ }>;
1776
+ outputFileName: string;
1777
+ colorScheme?: {
1778
+ light?: string | undefined;
1779
+ dark?: string | undefined;
1780
+ } | undefined;
1781
+ } | undefined;
1782
+ icons?: {
1783
+ enabled: boolean;
1784
+ sourceDir: string;
1785
+ outputDir: string;
1786
+ formats: ("react" | "vue" | "svg" | "sprite" | "font")[];
1787
+ componentPrefix: string;
1788
+ componentSuffix: string;
1789
+ generateIndex: boolean;
1790
+ generateTypes: boolean;
1791
+ sprite?: {
1792
+ prefix: string;
1793
+ enabled: boolean;
1794
+ fileName: string;
1795
+ format: "symbol" | "css" | "stack";
1796
+ } | undefined;
1797
+ optimization?: {
1798
+ enabled: boolean;
1799
+ removeComments: boolean;
1800
+ removeDimensions: boolean;
1801
+ removeViewBox: boolean;
1802
+ removeXMLNS: boolean;
1803
+ cleanupIds: boolean;
1804
+ minify: boolean;
1805
+ } | undefined;
1806
+ } | undefined;
1807
+ tokens?: {
1808
+ verbose: boolean;
1809
+ prefix: string;
1810
+ enabled: boolean;
1811
+ formats: ("css" | "scss" | "js" | "ts" | "json" | "less" | "esm" | "cjs")[];
1812
+ transforms: string[];
1813
+ customTransforms: {
1814
+ name: string;
1815
+ type: "name" | "value" | "attribute";
1816
+ transform?: ((args_0: any, args_1: any, ...args: unknown[]) => any) | undefined;
1817
+ description?: string | undefined;
1818
+ filter?: ((args_0: any, ...args: unknown[]) => boolean) | undefined;
1819
+ matcher?: ((args_0: any, ...args: unknown[]) => boolean) | undefined;
1820
+ }[];
1821
+ sourcePatterns: string[];
1822
+ additionalScssDirectories: string[];
1823
+ mergeOrder: string[];
1824
+ createBundle: boolean;
1825
+ bundleFileName: string;
1826
+ customFormats: {
1827
+ name: string;
1828
+ description?: string | undefined;
1829
+ formatter?: ((args_0: any, ...args: unknown[]) => string) | undefined;
1830
+ extension?: string | undefined;
1831
+ }[];
1832
+ outputDirs?: {
1833
+ css: string;
1834
+ scss: string;
1835
+ js: string;
1836
+ ts: string;
1837
+ json: string;
1838
+ less: string;
1839
+ } | undefined;
1840
+ outputFileNames?: {
1841
+ variables: string;
1842
+ utilities: string;
1843
+ mixins: string;
1844
+ tokens: string;
1845
+ } | undefined;
1846
+ platforms?: Record<string, {
1847
+ format: "css" | "scss" | "js" | "ts" | "json" | "less" | "esm" | "cjs";
1848
+ filter?: ((args_0: any, ...args: unknown[]) => boolean | Promise<boolean>) | undefined;
1849
+ selector?: string | undefined;
1850
+ prefix?: string | undefined;
1851
+ outputFileName?: string | undefined;
1852
+ outputDir?: string | undefined;
1853
+ fileExtension?: string | undefined;
1854
+ useVariables?: boolean | undefined;
1855
+ transforms?: string[] | undefined;
1856
+ customTransforms?: {
1857
+ name: string;
1858
+ type: "name" | "value" | "attribute";
1859
+ transform?: ((args_0: any, args_1: any, ...args: unknown[]) => any) | undefined;
1860
+ description?: string | undefined;
1861
+ filter?: ((args_0: any, ...args: unknown[]) => boolean) | undefined;
1862
+ matcher?: ((args_0: any, ...args: unknown[]) => boolean) | undefined;
1863
+ }[] | undefined;
1864
+ header?: string | undefined;
1865
+ footer?: string | undefined;
1866
+ }> | undefined;
1867
+ hooks?: {
1868
+ onBuildStart?: ((args_0: any, ...args: unknown[]) => void | Promise<void>) | undefined;
1869
+ onFormatComplete?: ((args_0: any, ...args: unknown[]) => void | Promise<void>) | undefined;
1870
+ onAllFormatsComplete?: ((args_0: any, ...args: unknown[]) => void | Promise<void>) | undefined;
1871
+ onBuildComplete?: ((args_0: any, ...args: unknown[]) => void | Promise<void>) | undefined;
1872
+ onError?: ((args_0: any, ...args: unknown[]) => void | Promise<void>) | undefined;
1873
+ } | undefined;
1874
+ cache?: {
1875
+ enabled: boolean;
1876
+ directory: string;
1877
+ hashType: "content" | "timestamp" | "version" | "none";
1878
+ maxAge: number;
1879
+ } | undefined;
1880
+ watch?: {
1881
+ enabled: boolean;
1882
+ debounce: number;
1883
+ clearScreen: boolean;
1884
+ ignorePatterns: string[];
1885
+ } | undefined;
1886
+ pipeline?: {
1887
+ steps: ("validate" | "transform" | "style-dictionary" | "sync" | "sass-theme" | "sass-theme-minified" | "postprocess" | "sass-utilities" | "sass-utilities-minified" | "bundle")[];
1888
+ styleDictionaryConfig: string;
1889
+ paths?: {
1890
+ syncSource: string;
1891
+ syncTarget: string;
1892
+ sassThemeInput: string;
1893
+ sassThemeOutput: string;
1894
+ sassThemeMinifiedOutput: string;
1895
+ sassUtilitiesInput: string;
1896
+ sassUtilitiesOutput: string;
1897
+ sassUtilitiesMinifiedOutput: string;
1898
+ } | undefined;
1899
+ } | undefined;
1900
+ } | undefined;
1901
+ $schema?: string | undefined;
1902
+ extends?: string | string[] | undefined;
1903
+ global?: {
1904
+ logLevel: "silent" | "error" | "warn" | "info" | "debug" | "verbose";
1905
+ colors: boolean;
1906
+ ci: boolean;
1907
+ dryRun: boolean;
1908
+ cwd?: string | undefined;
1909
+ configPath?: string | undefined;
1910
+ framework?: "react" | "vue" | "svelte" | "angular" | "vanilla" | undefined;
1911
+ build?: {
1912
+ minify: boolean;
1913
+ outDir: string;
1914
+ clean: boolean;
1915
+ sourcemap: boolean;
1916
+ parallel: boolean;
1917
+ maxConcurrency: number;
1918
+ } | undefined;
1919
+ } | undefined;
1920
+ }, {
1921
+ themes?: {
1922
+ enabled?: boolean | undefined;
1923
+ defaultMode?: "light" | "dark" | "system" | undefined;
1924
+ modes?: Record<string, {
1925
+ selector: string;
1926
+ mediaQuery?: string | undefined;
1927
+ dataAttribute?: string | undefined;
1928
+ cssVariables?: boolean | undefined;
1929
+ generateSeparateFiles?: boolean | undefined;
1930
+ prefix?: string | undefined;
1931
+ }> | undefined;
1932
+ outputFileName?: string | undefined;
1933
+ colorScheme?: {
1934
+ light?: string | undefined;
1935
+ dark?: string | undefined;
1936
+ } | undefined;
1937
+ } | undefined;
1938
+ icons?: {
1939
+ enabled?: boolean | undefined;
1940
+ sourceDir?: string | undefined;
1941
+ outputDir?: string | undefined;
1942
+ sprite?: {
1943
+ prefix?: string | undefined;
1944
+ enabled?: boolean | undefined;
1945
+ fileName?: string | undefined;
1946
+ format?: "symbol" | "css" | "stack" | undefined;
1947
+ } | undefined;
1948
+ formats?: ("react" | "vue" | "svg" | "sprite" | "font")[] | undefined;
1949
+ optimization?: {
1950
+ enabled?: boolean | undefined;
1951
+ removeComments?: boolean | undefined;
1952
+ removeDimensions?: boolean | undefined;
1953
+ removeViewBox?: boolean | undefined;
1954
+ removeXMLNS?: boolean | undefined;
1955
+ cleanupIds?: boolean | undefined;
1956
+ minify?: boolean | undefined;
1957
+ } | undefined;
1958
+ componentPrefix?: string | undefined;
1959
+ componentSuffix?: string | undefined;
1960
+ generateIndex?: boolean | undefined;
1961
+ generateTypes?: boolean | undefined;
1962
+ } | undefined;
1963
+ tokens?: {
1964
+ verbose?: boolean | undefined;
1965
+ prefix?: string | undefined;
1966
+ enabled?: boolean | undefined;
1967
+ formats?: ("css" | "scss" | "js" | "ts" | "json" | "less" | "esm" | "cjs")[] | undefined;
1968
+ transforms?: string[] | undefined;
1969
+ customTransforms?: {
1970
+ name: string;
1971
+ transform?: ((args_0: any, args_1: any, ...args: unknown[]) => any) | undefined;
1972
+ description?: string | undefined;
1973
+ type?: "name" | "value" | "attribute" | undefined;
1974
+ filter?: ((args_0: any, ...args: unknown[]) => boolean) | undefined;
1975
+ matcher?: ((args_0: any, ...args: unknown[]) => boolean) | undefined;
1976
+ }[] | undefined;
1977
+ sourcePatterns?: string[] | undefined;
1978
+ outputDirs?: {
1979
+ css?: string | undefined;
1980
+ scss?: string | undefined;
1981
+ js?: string | undefined;
1982
+ ts?: string | undefined;
1983
+ json?: string | undefined;
1984
+ less?: string | undefined;
1985
+ } | undefined;
1986
+ additionalScssDirectories?: string[] | undefined;
1987
+ outputFileNames?: {
1988
+ variables?: string | undefined;
1989
+ utilities?: string | undefined;
1990
+ mixins?: string | undefined;
1991
+ tokens?: string | undefined;
1992
+ } | undefined;
1993
+ mergeOrder?: string[] | undefined;
1994
+ createBundle?: boolean | undefined;
1995
+ bundleFileName?: string | undefined;
1996
+ platforms?: Record<string, {
1997
+ format: "css" | "scss" | "js" | "ts" | "json" | "less" | "esm" | "cjs";
1998
+ filter?: ((args_0: any, ...args: unknown[]) => boolean | Promise<boolean>) | undefined;
1999
+ selector?: string | undefined;
2000
+ prefix?: string | undefined;
2001
+ outputFileName?: string | undefined;
2002
+ outputDir?: string | undefined;
2003
+ fileExtension?: string | undefined;
2004
+ useVariables?: boolean | undefined;
2005
+ transforms?: string[] | undefined;
2006
+ customTransforms?: {
2007
+ name: string;
2008
+ transform?: ((args_0: any, args_1: any, ...args: unknown[]) => any) | undefined;
2009
+ description?: string | undefined;
2010
+ type?: "name" | "value" | "attribute" | undefined;
2011
+ filter?: ((args_0: any, ...args: unknown[]) => boolean) | undefined;
2012
+ matcher?: ((args_0: any, ...args: unknown[]) => boolean) | undefined;
2013
+ }[] | undefined;
2014
+ header?: string | undefined;
2015
+ footer?: string | undefined;
2016
+ }> | undefined;
2017
+ customFormats?: {
2018
+ name: string;
2019
+ description?: string | undefined;
2020
+ formatter?: ((args_0: any, ...args: unknown[]) => string) | undefined;
2021
+ extension?: string | undefined;
2022
+ }[] | undefined;
2023
+ hooks?: {
2024
+ onBuildStart?: ((args_0: any, ...args: unknown[]) => void | Promise<void>) | undefined;
2025
+ onFormatComplete?: ((args_0: any, ...args: unknown[]) => void | Promise<void>) | undefined;
2026
+ onAllFormatsComplete?: ((args_0: any, ...args: unknown[]) => void | Promise<void>) | undefined;
2027
+ onBuildComplete?: ((args_0: any, ...args: unknown[]) => void | Promise<void>) | undefined;
2028
+ onError?: ((args_0: any, ...args: unknown[]) => void | Promise<void>) | undefined;
2029
+ } | undefined;
2030
+ cache?: {
2031
+ enabled?: boolean | undefined;
2032
+ directory?: string | undefined;
2033
+ hashType?: "content" | "timestamp" | "version" | "none" | undefined;
2034
+ maxAge?: number | undefined;
2035
+ } | undefined;
2036
+ watch?: {
2037
+ enabled?: boolean | undefined;
2038
+ debounce?: number | undefined;
2039
+ clearScreen?: boolean | undefined;
2040
+ ignorePatterns?: string[] | undefined;
2041
+ } | undefined;
2042
+ pipeline?: {
2043
+ steps?: ("validate" | "transform" | "style-dictionary" | "sync" | "sass-theme" | "sass-theme-minified" | "postprocess" | "sass-utilities" | "sass-utilities-minified" | "bundle")[] | undefined;
2044
+ paths?: {
2045
+ syncSource?: string | undefined;
2046
+ syncTarget?: string | undefined;
2047
+ sassThemeInput?: string | undefined;
2048
+ sassThemeOutput?: string | undefined;
2049
+ sassThemeMinifiedOutput?: string | undefined;
2050
+ sassUtilitiesInput?: string | undefined;
2051
+ sassUtilitiesOutput?: string | undefined;
2052
+ sassUtilitiesMinifiedOutput?: string | undefined;
2053
+ } | undefined;
2054
+ styleDictionaryConfig?: string | undefined;
2055
+ } | undefined;
2056
+ } | undefined;
2057
+ $schema?: string | undefined;
2058
+ extends?: string | string[] | undefined;
2059
+ global?: {
2060
+ logLevel?: "silent" | "error" | "warn" | "info" | "debug" | "verbose" | undefined;
2061
+ colors?: boolean | undefined;
2062
+ ci?: boolean | undefined;
2063
+ dryRun?: boolean | undefined;
2064
+ cwd?: string | undefined;
2065
+ configPath?: string | undefined;
2066
+ framework?: "react" | "vue" | "svelte" | "angular" | "vanilla" | undefined;
2067
+ build?: {
2068
+ minify?: boolean | undefined;
2069
+ outDir?: string | undefined;
2070
+ clean?: boolean | undefined;
2071
+ sourcemap?: boolean | undefined;
2072
+ parallel?: boolean | undefined;
2073
+ maxConcurrency?: number | undefined;
2074
+ } | undefined;
2075
+ } | undefined;
2076
+ }>;
2077
+ /** Inferred LogLevel type from schema */
2078
+ type LogLevelFromSchema = z.infer<typeof logLevelSchema>;
2079
+ /** Inferred OutputFormat type from schema */
2080
+ type OutputFormatFromSchema = z.infer<typeof outputFormatSchema>;
2081
+ /** Inferred Framework type from schema */
2082
+ type FrameworkFromSchema = z.infer<typeof frameworkSchema>;
2083
+ /** Inferred DsaiConfig type from schema */
2084
+ type DsaiConfigFromSchema = z.infer<typeof dsaiConfigSchema>;
2085
+ /** Inferred TokensConfig type from schema */
2086
+ type TokensConfigFromSchema = z.infer<typeof tokensConfigSchema>;
2087
+ /** Inferred ThemesConfig type from schema */
2088
+ type ThemesConfigFromSchema = z.infer<typeof themesConfigSchema>;
2089
+ /** Inferred IconsConfig type from schema */
2090
+ type IconsConfigFromSchema = z.infer<typeof iconsConfigSchema>;
2091
+ /** Inferred GlobalConfig type from schema */
2092
+ type GlobalConfigFromSchema = z.infer<typeof globalConfigSchema>;
2093
+ /**
2094
+ * Validation result with typed data
2095
+ */
2096
+ interface ValidationResult<T> {
2097
+ success: boolean;
2098
+ data?: T;
2099
+ errors?: ValidationError[];
2100
+ }
2101
+ /**
2102
+ * Structured validation error
2103
+ */
2104
+ interface ValidationError {
2105
+ path: string;
2106
+ message: string;
2107
+ code: string;
2108
+ expected?: string;
2109
+ received?: string;
2110
+ }
2111
+ /**
2112
+ * Format Zod errors into user-friendly validation errors
2113
+ *
2114
+ * @param zodError - Zod error object
2115
+ * @returns Array of formatted validation errors
2116
+ */
2117
+ declare function formatValidationErrors(zodError: z.ZodError): ValidationError[];
2118
+ /**
2119
+ * Validate configuration object against schema
2120
+ *
2121
+ * @param config - Configuration object to validate
2122
+ * @returns Validation result with typed data or errors
2123
+ *
2124
+ * @example
2125
+ * ```typescript
2126
+ * const result = validateConfig({
2127
+ * tokens: { enabled: true },
2128
+ * themes: { defaultMode: 'dark' }
2129
+ * });
2130
+ *
2131
+ * if (result.success) {
2132
+ * console.log(result.data);
2133
+ * } else {
2134
+ * result.errors?.forEach(err => console.error(err.message));
2135
+ * }
2136
+ * ```
2137
+ */
2138
+ declare function validateConfig(config: unknown): ValidationResult<DsaiConfigFromSchema>;
2139
+ /**
2140
+ * Validate configuration and throw on errors
2141
+ *
2142
+ * @param config - Configuration object to validate
2143
+ * @returns Validated configuration
2144
+ * @throws {Error} If validation fails
2145
+ *
2146
+ * @example
2147
+ * ```typescript
2148
+ * try {
2149
+ * const validConfig = validateConfigOrThrow(rawConfig);
2150
+ * // Use validConfig safely
2151
+ * } catch (error) {
2152
+ * console.error('Invalid configuration:', error.message);
2153
+ * }
2154
+ * ```
2155
+ */
2156
+ declare function validateConfigOrThrow(config: unknown): DsaiConfigFromSchema;
2157
+ /**
2158
+ * Validate a specific section of the configuration
2159
+ *
2160
+ * @param section - Section name to validate
2161
+ * @param config - Section configuration object
2162
+ * @returns Validation result for the section
2163
+ */
2164
+ declare function validateConfigSection<T extends keyof DsaiConfigFromSchema>(section: T, config: unknown): ValidationResult<NonNullable<DsaiConfigFromSchema[T]>>;
2165
+ /**
2166
+ * Create a pretty-printed error message from validation errors
2167
+ *
2168
+ * @param errors - Array of validation errors
2169
+ * @returns Formatted error message string
2170
+ */
2171
+ declare function formatErrorMessage(errors: ValidationError[]): string;
2172
+
2173
+ /**
2174
+ * @fileoverview Default configuration values for DSAI Tools
2175
+ *
2176
+ * Provides comprehensive default values for all configuration options.
2177
+ * These defaults are merged with user configuration during resolution.
2178
+ *
2179
+ * @module @dsai-io/tools/config/defaults
2180
+ */
2181
+
2182
+ /**
2183
+ * Default prefix for CSS custom properties
2184
+ */
2185
+ declare const DEFAULT_PREFIX = "--dsai-";
2186
+ /**
2187
+ * Default log level for CLI output
2188
+ */
2189
+ declare const DEFAULT_LOG_LEVEL: LogLevel;
2190
+ /**
2191
+ * Default output directory
2192
+ */
2193
+ declare const DEFAULT_OUTPUT_DIR = "dist";
2194
+ /**
2195
+ * Default source directory for tokens (Figma exports)
2196
+ */
2197
+ declare const DEFAULT_SOURCE_DIR = "figma-exports";
2198
+ /**
2199
+ * Default collections directory
2200
+ */
2201
+ declare const DEFAULT_COLLECTIONS_DIR = "collections";
2202
+ /**
2203
+ * Default icons source directory
2204
+ */
2205
+ declare const DEFAULT_ICONS_SOURCE_DIR = "icons";
2206
+ /**
2207
+ * Default icons output directory
2208
+ */
2209
+ declare const DEFAULT_ICONS_OUTPUT_DIR = "dist/icons";
2210
+ /**
2211
+ * Default source patterns for finding Figma exports
2212
+ */
2213
+ declare const defaultSourcePatterns: string[];
2214
+ /**
2215
+ * Default output formats for tokens
2216
+ */
2217
+ declare const defaultFormats: OutputFormat[];
2218
+ /**
2219
+ * Default output file names for each format
2220
+ */
2221
+ declare const defaultOutputFileNames: Record<OutputFormat, string>;
2222
+ /**
2223
+ * Default theme selector pattern
2224
+ */
2225
+ declare const defaultSelectorPattern: Required<ThemeSelectorPattern>;
2226
+ /**
2227
+ * Default resolved themes configuration
2228
+ */
2229
+ declare const defaultThemesConfig: ResolvedThemesConfig;
2230
+ /**
2231
+ * Default icon framework
2232
+ */
2233
+ declare const defaultIconFramework: IconFramework;
2234
+ /**
2235
+ * Default resolved icons configuration
2236
+ */
2237
+ declare const defaultIconsConfig: ResolvedIconsConfig;
2238
+ /**
2239
+ * Default resolved tokens configuration
2240
+ */
2241
+ declare const defaultTokensConfig: ResolvedTokensConfig;
2242
+ /**
2243
+ * Default resolved global configuration
2244
+ */
2245
+ declare const defaultGlobalConfig: ResolvedGlobalConfig;
2246
+ /**
2247
+ * Complete default resolved configuration
2248
+ *
2249
+ * This is used as the base for merging user configurations.
2250
+ * All values have sensible defaults that work for most projects.
2251
+ */
2252
+ declare const defaultConfig: ResolvedConfig;
2253
+ /**
2254
+ * Mapping of environment variables to configuration paths
2255
+ *
2256
+ * Format: { ENV_VAR_NAME: 'config.path.to.value' }
2257
+ *
2258
+ * @example
2259
+ * DSAI_LOG_LEVEL=debug → { global: { logLevel: 'debug' } }
2260
+ * DSAI_PREFIX=myapp → { tokens: { prefix: 'myapp' } }
2261
+ */
2262
+ declare const envMappings: Record<string, string>;
2263
+ /**
2264
+ * Environment variables that should be parsed as booleans
2265
+ */
2266
+ declare const envBooleanKeys: Set<string>;
2267
+ /**
2268
+ * Environment variables that should be parsed as numbers
2269
+ */
2270
+ declare const envNumberKeys: Set<string>;
2271
+ /**
2272
+ * Environment variables that should be parsed as arrays (comma-separated)
2273
+ */
2274
+ declare const envArrayKeys: Set<string>;
2275
+ /**
2276
+ * Get the output file name for a format with optional theme
2277
+ *
2278
+ * @param format - Output format
2279
+ * @param theme - Optional theme name
2280
+ * @returns Output file name
2281
+ */
2282
+ declare function getOutputFileName(format: OutputFormat, theme?: string): string;
2283
+ /**
2284
+ * Get the default output directory for a format
2285
+ *
2286
+ * @param format - Output format
2287
+ * @returns Output directory path
2288
+ */
2289
+ declare function getDefaultOutputDir(format: OutputFormat): string;
2290
+ /**
2291
+ * Get default extension for a format
2292
+ *
2293
+ * @param format - Output format
2294
+ * @returns File extension including the dot
2295
+ */
2296
+ declare function getDefaultExtension(format: OutputFormat): string;
2297
+
2298
+ /**
2299
+ * @fileoverview Configuration file loader for DSAI Tools
2300
+ *
2301
+ * Uses cosmiconfig to load configuration from multiple file formats
2302
+ * and locations following standard conventions.
2303
+ *
2304
+ * @module @dsai-io/tools/config/loader
2305
+ */
2306
+
2307
+ /**
2308
+ * Supported configuration file names (in search order)
2309
+ */
2310
+ declare const CONFIG_FILE_NAMES: string[];
2311
+ /**
2312
+ * Load configuration from file and merge with defaults
2313
+ *
2314
+ * This is the main entry point for loading configuration.
2315
+ * It searches for config files, loads them, validates,
2316
+ * and resolves with defaults.
2317
+ *
2318
+ * @param options - Load options
2319
+ * @returns Resolved configuration with metadata
2320
+ *
2321
+ * @example
2322
+ * ```typescript
2323
+ * // Load from current directory
2324
+ * const result = await loadConfig();
2325
+ *
2326
+ * // Load from specific path
2327
+ * const result = await loadConfig({
2328
+ * configPath: './my-config.js'
2329
+ * });
2330
+ *
2331
+ * // Load with overrides
2332
+ * const result = await loadConfig({
2333
+ * overrides: { global: { debug: true } }
2334
+ * });
2335
+ * ```
2336
+ */
2337
+ declare function loadConfig(options?: LoadConfigOptions): Promise<LoadConfigResult>;
2338
+ /**
2339
+ * Search for configuration file without loading
2340
+ *
2341
+ * Useful for checking if a config file exists before operations.
2342
+ *
2343
+ * @param cwd - Directory to search from
2344
+ * @returns Path to config file if found, undefined otherwise
2345
+ */
2346
+ declare function searchConfigFile(cwd?: string): Promise<string | undefined>;
2347
+ /**
2348
+ * Clear the configuration cache
2349
+ *
2350
+ * Useful when files have changed and need to be reloaded.
2351
+ */
2352
+ declare function clearConfigCache(): void;
2353
+ /**
2354
+ * Load configuration synchronously (limited format support)
2355
+ *
2356
+ * Note: This only works with JSON and synchronous JS/CJS configs.
2357
+ * For full format support including ESM and TypeScript, use loadConfig().
2358
+ *
2359
+ * @param options - Load options
2360
+ * @returns Resolved configuration with metadata
2361
+ */
2362
+ declare function loadConfigSync(options?: LoadConfigOptions): LoadConfigResult;
2363
+ /**
2364
+ * Define configuration with type checking
2365
+ *
2366
+ * A helper function that provides TypeScript type checking for config files.
2367
+ * Use this in your dsai.config.ts or dsai.config.mjs files.
2368
+ *
2369
+ * @param config - Configuration object
2370
+ * @returns The same configuration object with type checking applied
2371
+ *
2372
+ * @example
2373
+ * ```typescript
2374
+ * // dsai.config.ts
2375
+ * import { defineConfig } from '@dsai-io/tools';
2376
+ *
2377
+ * export default defineConfig({
2378
+ * tokens: {
2379
+ * prefix: '--myapp-',
2380
+ * formats: ['css', 'scss', 'ts'],
2381
+ * },
2382
+ * icons: {
2383
+ * framework: 'react',
2384
+ * },
2385
+ * });
2386
+ * ```
2387
+ */
2388
+ declare function defineConfig(config: DsaiConfig): DsaiConfig;
2389
+ /**
2390
+ * Define configuration with async function
2391
+ *
2392
+ * Allows async operations during configuration creation.
2393
+ *
2394
+ * @param configFn - Async function returning configuration
2395
+ * @returns Promise resolving to the configuration
2396
+ *
2397
+ * @example
2398
+ * ```typescript
2399
+ * // dsai.config.ts
2400
+ * import { defineConfigAsync } from '@dsai-io/tools';
2401
+ *
2402
+ * export default defineConfigAsync(async () => {
2403
+ * const baseConfig = await loadExternalConfig();
2404
+ * return {
2405
+ * ...baseConfig,
2406
+ * tokens: {
2407
+ * prefix: '--custom-',
2408
+ * },
2409
+ * };
2410
+ * });
2411
+ * ```
2412
+ */
2413
+ declare function defineConfigAsync(configFn: () => Promise<DsaiConfig>): Promise<DsaiConfig>;
2414
+
2415
+ /**
2416
+ * @fileoverview Configuration resolver for DSAI Tools
2417
+ *
2418
+ * Merges user configuration with defaults and resolves relative paths.
2419
+ * Handles configuration inheritance and validation.
2420
+ *
2421
+ * @module @dsai-io/tools/config/resolver
2422
+ */
2423
+
2424
+ /**
2425
+ * Options for resolving configuration
2426
+ */
2427
+ interface ResolveOptions {
2428
+ /** Working directory */
2429
+ cwd?: string;
2430
+ /** Directory containing config file (for relative path resolution) */
2431
+ configDir?: string;
2432
+ /** Override values (highest priority) */
2433
+ overrides?: Partial<DsaiConfig>;
2434
+ }
2435
+ /**
2436
+ * Resolve user configuration with defaults
2437
+ *
2438
+ * Merges user configuration with defaults, resolves relative paths,
2439
+ * and applies overrides.
2440
+ *
2441
+ * Resolution order (later overrides earlier):
2442
+ * 1. Default configuration
2443
+ * 2. User configuration (from file)
2444
+ * 3. Override configuration (from CLI or programmatic)
2445
+ *
2446
+ * @param config - User configuration object
2447
+ * @param options - Resolution options
2448
+ * @returns Fully resolved configuration
2449
+ *
2450
+ * @example
2451
+ * ```typescript
2452
+ * const resolved = resolveConfig(
2453
+ * { tokens: { prefix: '--custom-' } },
2454
+ * { cwd: '/path/to/project' }
2455
+ * );
2456
+ * ```
2457
+ */
2458
+ declare function resolveConfig(config?: DsaiConfig, options?: ResolveOptions): ResolvedConfig;
2459
+ /**
2460
+ * Merge multiple configurations
2461
+ *
2462
+ * Useful for extending base configurations.
2463
+ *
2464
+ * @param configs - Array of configurations to merge (later overrides earlier)
2465
+ * @returns Merged configuration
2466
+ *
2467
+ * @example
2468
+ * ```typescript
2469
+ * const merged = mergeConfigs(
2470
+ * baseConfig,
2471
+ * teamConfig,
2472
+ * projectConfig
2473
+ * );
2474
+ * ```
2475
+ */
2476
+ declare function mergeConfigs(...configs: DsaiConfig[]): DsaiConfig;
2477
+ /**
2478
+ * Create a partial resolved config for testing
2479
+ *
2480
+ * @param partial - Partial configuration to fill
2481
+ * @returns Full resolved configuration with defaults
2482
+ */
2483
+ declare function createResolvedConfig(partial?: Partial<ResolvedConfig>): ResolvedConfig;
2484
+
2485
+ /**
2486
+ * @fileoverview Environment variable parsing for DSAI Tools configuration
2487
+ *
2488
+ * Reads configuration values from environment variables and converts
2489
+ * them to the appropriate types.
2490
+ *
2491
+ * @module @dsai-io/tools/config/env
2492
+ */
2493
+
2494
+ /**
2495
+ * Options for parsing environment variables
2496
+ */
2497
+ interface EnvParseOptions {
2498
+ /** Environment object to read from (default: process.env) */
2499
+ env?: NodeJS.ProcessEnv;
2500
+ /** Prefix filter for environment variables */
2501
+ prefix?: string;
2502
+ }
2503
+ /**
2504
+ * Read configuration values from environment variables
2505
+ *
2506
+ * Parses environment variables according to the mappings defined in defaults.ts.
2507
+ * Supports string, boolean, number, and array types.
2508
+ *
2509
+ * @param options - Parse options
2510
+ * @returns Partial configuration object from environment
2511
+ *
2512
+ * @example
2513
+ * ```typescript
2514
+ * // Read from process.env
2515
+ * const envConfig = getConfigFromEnv();
2516
+ *
2517
+ * // Read from custom env object
2518
+ * const envConfig = getConfigFromEnv({
2519
+ * env: { DSAI_LOG_LEVEL: 'debug' }
2520
+ * });
2521
+ * ```
2522
+ */
2523
+ declare function getConfigFromEnv(options?: EnvParseOptions): Partial<DsaiConfig>;
2524
+ /**
2525
+ * Check if running in CI environment
2526
+ *
2527
+ * Checks common CI environment variables.
2528
+ *
2529
+ * @param env - Environment object to check
2530
+ * @returns True if CI environment detected
2531
+ */
2532
+ declare function isCI(env?: NodeJS.ProcessEnv): boolean;
2533
+ /**
2534
+ * Check if colors should be disabled based on environment
2535
+ *
2536
+ * @param env - Environment object to check
2537
+ * @returns True if colors should be disabled
2538
+ */
2539
+ declare function shouldDisableColors(env?: NodeJS.ProcessEnv): boolean;
2540
+ /**
2541
+ * Get the effective log level from environment
2542
+ *
2543
+ * Checks DSAI_LOG_LEVEL, DEBUG, and VERBOSE env vars.
2544
+ *
2545
+ * @param env - Environment object to check
2546
+ * @returns Log level string or undefined
2547
+ */
2548
+ declare function getLogLevelFromEnv(env?: NodeJS.ProcessEnv): string | undefined;
2549
+ /**
2550
+ * Get environment-based overrides for configuration
2551
+ *
2552
+ * This combines all environment-based settings into a single override object.
2553
+ *
2554
+ * @param env - Environment object to check
2555
+ * @returns Configuration overrides from environment
2556
+ */
2557
+ declare function getEnvOverrides(env?: NodeJS.ProcessEnv): Partial<DsaiConfig>;
2558
+
2559
+ /**
2560
+ * Legacy configuration migration utilities
2561
+ *
2562
+ * Provides migration support for older config formats and helps users
2563
+ * upgrade to the latest configuration schema.
2564
+ *
2565
+ * @packageDocumentation
2566
+ */
2567
+
2568
+ /**
2569
+ * Legacy tokens.config.json format (v0.x)
2570
+ */
2571
+ interface LegacyTokensConfig {
2572
+ /** Source directory for tokens */
2573
+ source?: string;
2574
+ /** Output directory */
2575
+ output?: string;
2576
+ /** CSS prefix */
2577
+ prefix?: string;
2578
+ /** Output formats */
2579
+ formats?: string[];
2580
+ /** Theme configuration */
2581
+ themes?: {
2582
+ default?: string;
2583
+ modes?: string[];
2584
+ };
2585
+ }
2586
+ /**
2587
+ * Result of migration check
2588
+ */
2589
+ interface MigrationCheck {
2590
+ /** Whether migration is needed */
2591
+ needsMigration: boolean;
2592
+ /** Detected config version or format */
2593
+ detectedFormat: ConfigFormat;
2594
+ /** Warnings about deprecated options */
2595
+ warnings: string[];
2596
+ /** Suggested migration steps */
2597
+ suggestions: string[];
2598
+ }
2599
+ /**
2600
+ * Supported configuration formats
2601
+ */
2602
+ type ConfigFormat = 'current' | 'legacy-tokens' | 'unknown';
2603
+ /**
2604
+ * Check if a configuration needs migration
2605
+ *
2606
+ * @param config - Raw configuration object
2607
+ * @param filename - Optional filename for format detection
2608
+ * @returns Migration check result
2609
+ *
2610
+ * @example
2611
+ * ```typescript
2612
+ * const check = checkMigrationNeeded(oldConfig, 'tokens.config.json');
2613
+ * if (check.needsMigration) {
2614
+ * console.log('Migration needed:', check.suggestions);
2615
+ * }
2616
+ * ```
2617
+ */
2618
+ declare function checkMigrationNeeded(config: unknown, filename?: string): MigrationCheck;
2619
+ /**
2620
+ * Migrate legacy tokens.config.json to new format
2621
+ *
2622
+ * @param legacy - Legacy configuration object
2623
+ * @returns Migrated configuration
2624
+ *
2625
+ * @example
2626
+ * ```typescript
2627
+ * const oldConfig = require('./tokens.config.json');
2628
+ * const newConfig = migrateLegacyTokensConfig(oldConfig);
2629
+ * ```
2630
+ */
2631
+ declare function migrateLegacyTokensConfig(legacy: LegacyTokensConfig): DsaiConfig;
2632
+ /**
2633
+ * Migrate any legacy configuration to current format
2634
+ *
2635
+ * @param config - Raw configuration (any format)
2636
+ * @param filename - Optional filename for format detection
2637
+ * @returns Migrated configuration and warnings
2638
+ *
2639
+ * @example
2640
+ * ```typescript
2641
+ * const { config, warnings } = migrateConfig(rawConfig, 'tokens.config.json');
2642
+ * if (warnings.length > 0) {
2643
+ * warnings.forEach(w => console.warn(w));
2644
+ * }
2645
+ * ```
2646
+ */
2647
+ declare function migrateConfig(config: unknown, filename?: string): {
2648
+ config: DsaiConfig;
2649
+ warnings: string[];
2650
+ };
2651
+ /**
2652
+ * Check for deprecated options in a configuration
2653
+ *
2654
+ * @param config - Configuration to check
2655
+ * @returns Array of deprecation warnings
2656
+ */
2657
+ declare function checkDeprecatedOptions(config: DsaiConfig): string[];
2658
+ /**
2659
+ * Generate migration script content
2660
+ *
2661
+ * @param _oldConfig - Old configuration (unused, reserved for future use)
2662
+ * @param newConfig - Migrated configuration
2663
+ * @returns String content for new config file
2664
+ */
2665
+ declare function generateMigrationScript(_oldConfig: unknown, newConfig: DsaiConfig): string;
2666
+
2667
+ export { CONFIG_FILE_NAMES, type ConfigFormat, DEFAULT_COLLECTIONS_DIR, DEFAULT_ICONS_OUTPUT_DIR, DEFAULT_ICONS_SOURCE_DIR, DEFAULT_LOG_LEVEL, DEFAULT_OUTPUT_DIR, DEFAULT_PREFIX, DEFAULT_SOURCE_DIR, DsaiConfig, type DsaiConfigFromSchema, type EnvParseOptions, type FrameworkFromSchema, type GlobalConfigFromSchema, IconFramework, type IconsConfigFromSchema, LoadConfigOptions, LoadConfigResult, LogLevel, type LogLevelFromSchema, type MigrationCheck, OutputFormat, type OutputFormatFromSchema, type ResolveOptions, ResolvedConfig, ResolvedGlobalConfig, ResolvedIconsConfig, ResolvedThemesConfig, ResolvedTokensConfig, ThemeSelectorPattern, type ThemesConfigFromSchema, type TokensConfigFromSchema, type ValidationError, type ValidationResult, buildConfigSchema, checkDeprecatedOptions, checkMigrationNeeded, clearConfigCache, createResolvedConfig, customFormatSchema, customTransformSchema, defaultConfig, defaultFormats, defaultGlobalConfig, defaultIconFramework, defaultIconsConfig, defaultOutputFileNames, defaultSelectorPattern, defaultSourcePatterns, defaultThemesConfig, defaultTokensConfig, defineConfig, defineConfigAsync, dsaiConfigSchema, envArrayKeys, envBooleanKeys, envMappings, envNumberKeys, filePathSchema, formatErrorMessage, formatValidationErrors, frameworkSchema, generateMigrationScript, getConfigFromEnv, getDefaultExtension, getDefaultOutputDir, getEnvOverrides, getLogLevelFromEnv, getOutputFileName, globPatternSchema, globalConfigSchema, hashTypeSchema, iconOptimizationSchema, iconSpriteSchema, iconsConfigSchema, isCI, loadConfig, loadConfigSync, logLevelSchema, mergeConfigs, migrateConfig, migrateLegacyTokensConfig, outputFormatSchema, resolveConfig, searchConfigFile, shouldDisableColors, themeModeSchema, themesConfigSchema, tokenBuildConfigSchema, tokenCacheConfigSchema, tokenWatchConfigSchema, tokensConfigSchema, tokensHooksSchema, validateConfig, validateConfigOrThrow, validateConfigSection, versionSchema };