@sugarcube-org/core 0.0.1-alpha.4 → 0.0.1-alpha.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,445 +1,588 @@
1
1
  import { z } from 'zod';
2
2
 
3
- type ColorFormat = "hex" | "rgb" | "rgba" | "hsl" | "hsla" | "oklch" | "p3";
4
- type ColorConfig = {
5
- format?: ColorFormat;
6
- };
7
- type FluidConfig = {
8
- min: number;
9
- max: number;
10
- };
11
- type TokenCollection = {
12
- source: string[];
13
- type: "starter-kit" | "custom";
14
- themes?: Record<string, string[]>;
15
- };
16
- type TokenCollections = Record<string, TokenCollection>;
17
- type OptionsConfig = {
18
- fluid?: FluidConfig;
19
- prefix?: string;
20
- color?: ColorFormat;
21
- };
22
- type DirectoriesConfig = {
23
- tokens: string;
24
- components?: string;
25
- css: string;
26
- };
27
- type CSSOutputConfig = {
28
- /**
29
- * Controls how CSS variables are organized in output files:
30
- * - When false: Generates one file per collection, combining all tokens within each collection
31
- * (e.g., base/tokens.variables.css, ui/tokens.variables.css)
32
- * - When true: Generates separate files by token type within each collection
33
- * (e.g., base/colors.variables.css, base/space.variables.css)
34
- * @default false
35
- */
36
- separate: boolean;
37
- manageIndex?: boolean;
38
- format?: "css" | "scss" | "less";
39
- };
40
- type OutputConfig = {
41
- directories: DirectoriesConfig;
42
- css: CSSOutputConfig;
43
- };
44
- interface SugarcubeConfig {
45
- tokens: TokenCollection | TokenCollections;
46
- options?: OptionsConfig;
47
- output: OutputConfig;
48
- }
49
-
50
- /**
51
- * Represents a single CSS file output with its name and content
52
- */
53
- type CSSFile = {
54
- path: string;
55
- css: string;
56
- };
57
- /**
58
- * Represents the output from generateCSS which always returns exactly one file
59
- */
60
- type SingleFileOutput = [CSSFile];
61
- /**
62
- * Represents multiple CSS file outputs from generateSeparateFiles or generateSingleFile
63
- */
64
- type CSSFileOutput = CSSFile[];
65
- /**
66
- * Result of the CSS generation process
67
- * For generateCSS: Contains exactly one file
68
- * For generate: Contains one or more files
69
- */
70
- type CSSGenerationResult = {
71
- output: SingleFileOutput | CSSFileOutput;
72
- };
73
-
74
3
  /**
75
- * A token value that can either be a raw value or a reference
4
+ * A token value that can either be a raw value or a reference.
5
+ * This is the base type for all token values in the W3C Design Token Format.
6
+ * @template T - The type of token (e.g., "color", "dimension", etc.)
76
7
  */
77
8
  type TokenValue<T extends TokenType> = RawTokenValue<T> | Reference<T>;
78
9
  /**
79
- * The actual value of a token without references
10
+ * The actual value of a token without references.
11
+ * This represents the concrete value that will be used in the final output.
12
+ * @template T - The type of token (e.g., "color", "dimension", etc.)
80
13
  */
81
14
  type RawTokenValue<T extends TokenType> = T extends SimpleTokenType ? SimpleTokenValue<T> : T extends CompositeTokenType ? CompositeTokenValue<T> : never;
82
15
  /**
83
- * A reference to another token, with optional type checking
16
+ * A reference to another token, with optional type checking.
17
+ * References are strings that point to other tokens in the token tree.
18
+ * The phantom type parameter ensures type safety when resolving references.
19
+ * @template T - The type of token being referenced
84
20
  */
85
21
  type Reference<T extends TokenType = TokenType> = string & {
22
+ /** Phantom type for type safety during reference resolution */
86
23
  __tokenType?: T;
87
24
  };
88
25
  /**
89
- * Metadata that can be attached to any node in the token tree
26
+ * Metadata that can be attached to any node in the token tree.
27
+ * This includes descriptions and custom extensions as defined in the W3C spec.
90
28
  */
91
29
  type NodeMetadata = {
30
+ /** Optional description of the token or group */
92
31
  $description?: string;
32
+ /** Optional custom extensions as defined in the W3C spec */
93
33
  $extensions?: {
94
34
  [key: string]: unknown;
95
35
  };
96
36
  };
97
37
  /**
98
- * A single token with its value and metadata
38
+ * A single token with its value and metadata.
39
+ * This is the basic building block of the token system.
99
40
  */
100
41
  type Token = NodeMetadata & {
42
+ /** The value of the token, which can be a raw value or a reference */
101
43
  $value: TokenValue<TokenType>;
44
+ /** Optional type specification, can be inherited from parent groups */
102
45
  $type?: TokenType;
103
46
  };
104
47
  /**
105
- * A group of tokens that can be nested. The type allows for:
48
+ * A group of tokens that can be nested.
49
+ * The type allows for:
106
50
  * - Regular token properties (non-$ prefixed) which must be Token | TokenGroup
107
51
  * - Metadata properties from NodeMetadata (like $description, $extensions)
108
52
  * - $type property for type inheritance as specified in the W3C spec
109
53
  * - undefined to support optional metadata properties
110
54
  */
111
55
  type TokenGroup = NodeMetadata & {
56
+ /** Optional type specification for the group, can be inherited by child tokens */
112
57
  $type?: TokenType;
58
+ /** Dynamic properties that can be either tokens, token groups, or undefined */
113
59
  [key: string]: Token | TokenGroup | TokenType | undefined;
114
60
  };
115
61
  /**
116
- * All possible token types, either simple or composite
62
+ * All possible token types, either simple or composite.
63
+ * This is the union of all supported token types in the system.
117
64
  */
118
65
  type TokenType = SimpleTokenType | CompositeTokenType;
119
66
  /**
120
- * Token types that contain a single value
67
+ * Token types that contain a single value.
68
+ * These are the basic building blocks of the token system.
121
69
  */
122
70
  type SimpleTokenType = "color" | "dimension" | "fluidDimension" | "duration" | "cubicBezier" | "fontFamily" | "fontWeight" | "number";
123
71
  /**
124
- * Values for simple token types
72
+ * Values for simple token types.
73
+ * Maps each simple token type to its corresponding value type.
74
+ * @template T - The type of token (e.g., "color", "dimension", etc.)
125
75
  */
126
76
  type SimpleTokenValue<T extends SimpleTokenType = SimpleTokenType> = T extends "color" ? Color : T extends "dimension" ? Dimension : T extends "fluidDimension" ? FluidDimension : T extends "duration" ? Duration : T extends "cubicBezier" ? CubicBezier : T extends "fontFamily" ? FontFamily : T extends "fontWeight" ? FontWeight : T extends "number" ? number : never;
127
77
  /**
128
- * Token types that contain multiple values or are structurally complex
78
+ * Token types that contain multiple values or are structurally complex.
79
+ * These types combine multiple simple types to create more complex tokens.
129
80
  */
130
81
  type CompositeTokenType = AlwaysDecomposedType | "border" | "shadow" | "gradient" | "transition" | StructuralCompositeType;
131
82
  /**
132
- * Token types that must always be broken down into their constituent parts
83
+ * Token types that must always be broken down into their constituent parts.
84
+ * These types are never used directly in CSS output.
133
85
  */
134
86
  type AlwaysDecomposedType = "typography";
135
87
  /**
136
- * Token types that define structural patterns
88
+ * Token types that define structural patterns.
89
+ * These types are used to define reusable patterns in the token system.
137
90
  */
138
91
  type StructuralCompositeType = "strokeStyle";
139
92
  /**
140
- * Values for composite token types
93
+ * Values for composite token types.
94
+ * Maps each composite token type to its corresponding value type.
95
+ * @template T - The type of token (e.g., "typography", "border", etc.)
141
96
  */
142
97
  type CompositeTokenValue<T extends CompositeTokenType = CompositeTokenType> = T extends "typography" ? Typography : T extends "border" ? Border : T extends "shadow" ? Shadow : T extends "gradient" ? Gradient : T extends "transition" ? Transition : T extends "strokeStyle" ? StrokeStyle : never;
143
98
  /**
144
- * A color value in any valid CSS color format
99
+ * A color value in any valid CSS color format.
100
+ * This can be any string that is valid in CSS color contexts.
145
101
  */
146
102
  type Color = string;
147
103
  /**
148
- * A dimensional value with a numeric value and unit
104
+ * A dimensional value with a numeric value and unit.
105
+ * Used for measurements like width, height, spacing, etc.
149
106
  */
150
107
  type Dimension = {
108
+ /** The numeric value of the dimension */
151
109
  value: number;
110
+ /** The unit of measurement (px or rem) */
152
111
  unit: "px" | "rem";
153
112
  };
154
113
  /**
155
- * A fluid dimension that scales between min and max values
114
+ * A fluid dimension that scales between min and max values.
115
+ * Used for responsive design tokens that need to scale with viewport size.
156
116
  */
157
117
  type FluidDimension = {
118
+ /** The minimum value at the smallest viewport size */
158
119
  min: Dimension;
120
+ /** The maximum value at the largest viewport size */
159
121
  max: Dimension;
160
122
  };
161
123
  /**
162
- * A duration value with a numeric value and time unit
124
+ * A duration value with a numeric value and time unit.
125
+ * Used for animations, transitions, and other time-based values.
163
126
  */
164
127
  type Duration = {
128
+ /** The numeric value of the duration */
165
129
  value: number;
130
+ /** The unit of time (milliseconds or seconds) */
166
131
  unit: "ms" | "s";
167
132
  };
168
133
  /**
169
- * A cubic bezier curve defined by four control points
134
+ * A cubic bezier curve defined by four control points.
135
+ * Used for defining custom easing functions in animations and transitions.
136
+ * The four numbers represent the x,y coordinates of the two control points.
170
137
  */
171
138
  type CubicBezier = [number, number, number, number];
172
139
  /**
173
- * A font family name or list of fallback fonts
140
+ * A font family name or list of fallback fonts.
141
+ * Can be a single font name or an array of fonts in order of preference.
174
142
  */
175
143
  type FontFamily = string | string[];
176
144
  /**
177
- * A font weight value as either a number or semantic string
145
+ * A font weight value as either a number or semantic string.
146
+ * Numbers range from 100-900, strings are semantic names for common weights.
178
147
  */
179
148
  type FontWeight = number | FontWeightString;
180
149
  /**
181
- * Semantic font weight names
150
+ * Semantic font weight names.
151
+ * These are standardized names for common font weights.
182
152
  */
183
153
  type FontWeightString = "thin" | "hairline" | "extra-light" | "ultra-light" | "light" | "normal" | "regular" | "book" | "medium" | "semi-bold" | "demi-bold" | "bold" | "extra-bold" | "ultra-bold" | "black" | "heavy" | "extra-black" | "ultra-black";
184
154
  /**
185
- * Line cap style for strokes
155
+ * Line cap style for strokes.
156
+ * Defines how the end of a stroke should be rendered.
186
157
  */
187
158
  type LineCap = "round" | "butt" | "square";
188
159
  /**
189
- * Typography token combining font properties
160
+ * Typography token combining font properties.
161
+ * This is a composite type that combines multiple font-related properties.
190
162
  */
191
163
  type Typography = {
164
+ /** The font family to use */
192
165
  fontFamily: TokenValue<"fontFamily">;
166
+ /** The size of the font */
193
167
  fontSize: TokenValue<"dimension">;
168
+ /** Optional font weight */
194
169
  fontWeight?: TokenValue<"fontWeight">;
170
+ /** Optional letter spacing */
195
171
  letterSpacing?: TokenValue<"dimension">;
172
+ /** Optional line height as a multiplier */
196
173
  lineHeight?: TokenValue<"number">;
197
174
  };
198
175
  /**
199
- * Transition token defining animation properties
176
+ * Transition token defining animation properties.
177
+ * Used to define how properties should animate between states.
200
178
  */
201
179
  type Transition = {
180
+ /** How long the transition should take */
202
181
  duration: TokenValue<"duration">;
182
+ /** Optional delay before the transition starts */
203
183
  delay?: TokenValue<"duration">;
184
+ /** The easing function to use for the transition */
204
185
  timingFunction: TokenValue<"cubicBezier">;
205
186
  };
206
187
  /**
207
- * Predefined stroke style keywords
188
+ * Predefined stroke style keywords.
189
+ * These are the standard stroke styles available in CSS.
208
190
  */
209
191
  type StrokeStyleKeyword = "solid" | "dashed" | "dotted" | "double" | "groove" | "ridge" | "outset" | "inset";
210
192
  /**
211
- * Custom stroke style definition
193
+ * Custom stroke style definition.
194
+ * Used when the predefined stroke styles are not sufficient.
212
195
  */
213
196
  type StrokeStyleCustom = {
197
+ /** Array of dimensions defining the dash pattern */
214
198
  dashArray: Array<TokenValue<"dimension">>;
199
+ /** How the ends of the stroke should be rendered */
215
200
  lineCap: LineCap;
216
201
  };
217
202
  /**
218
- * A stroke style that can be either a keyword or custom definition
203
+ * A stroke style can be either a predefined keyword or a custom definition.
204
+ * This allows for both simple and complex stroke styles.
219
205
  */
220
206
  type StrokeStyle = StrokeStyleKeyword | StrokeStyleCustom;
221
207
  /**
222
- * Border token combining color, width, and style
208
+ * Border token combining color, width, and style.
209
+ * This is a composite type that defines a complete border.
223
210
  */
224
211
  type Border = {
212
+ /** The color of the border */
225
213
  color: TokenValue<"color">;
214
+ /** The width of the border */
226
215
  width: TokenValue<"dimension">;
216
+ /** The style of the border, either a stroke style or a reference to one */
227
217
  style: StrokeStyle | Reference<"strokeStyle">;
228
218
  };
229
219
  /**
230
- * Individual shadow definition
220
+ * A single shadow definition.
221
+ * This is the basic building block for shadow tokens.
231
222
  */
232
223
  type ShadowObject = {
224
+ /** The color of the shadow */
233
225
  color: TokenValue<"color">;
226
+ /** Horizontal offset of the shadow */
234
227
  offsetX: TokenValue<"dimension">;
228
+ /** Vertical offset of the shadow */
235
229
  offsetY: TokenValue<"dimension">;
230
+ /** How much the shadow should blur */
236
231
  blur: TokenValue<"dimension">;
232
+ /** How much the shadow should spread */
237
233
  spread: TokenValue<"dimension">;
234
+ /** Whether the shadow should be inset */
238
235
  inset?: boolean;
239
236
  };
240
237
  /**
241
- * Shadow token that can be single or multiple shadows
238
+ * A shadow can be either a single shadow or multiple shadows.
239
+ * Multiple shadows are rendered in order, with later shadows appearing on top.
242
240
  */
243
241
  type Shadow = ShadowObject | ShadowObject[];
244
242
  /**
245
- * Color stop in a gradient
243
+ * A single stop in a gradient.
244
+ * Defines the color and position of a point in the gradient.
246
245
  */
247
246
  type GradientStop = {
247
+ /** The color at this point in the gradient */
248
248
  color: TokenValue<"color">;
249
+ /** The position of this point in the gradient (0-1) */
249
250
  position: number | Reference<"number">;
250
251
  };
251
252
  /**
252
- * Gradient defined as a list of color stops
253
+ * A gradient is defined by a series of stops.
254
+ * The stops define how the gradient transitions between colors.
253
255
  */
254
256
  type Gradient = GradientStop[];
255
257
 
256
258
  /**
257
- * Source information for a token, tracking its collection and theme
259
+ * Directional variants for utility properties
258
260
  */
259
- type TokenSource = {
260
- collection: string;
261
- theme?: string;
262
- sourcePath: string;
263
- };
261
+ type DirectionalVariant = "top" | "right" | "bottom" | "left" | "x" | "y" | "full";
264
262
  /**
265
- * A complete token tree with collection and theme information
263
+ * Configuration for utility generation
266
264
  */
267
- type TokenTree = {
268
- collection: string;
269
- theme?: string;
270
- tokens: TokenGroup;
271
- sourcePath: string;
265
+ type UtilityConfig = {
266
+ properties?: string[];
267
+ typeMap?: Partial<Record<TokenType, string[]>>;
268
+ custom?: Record<string, string>;
269
+ prefix?: string;
270
+ stripLevels?: number;
271
+ directions?: DirectionalVariant | DirectionalVariant[];
272
272
  };
273
-
274
273
  /**
275
- * Base error type that all other error types extend from.
276
- * Used as the foundation for all error types in the system.
274
+ * Definition of a generated utility class
277
275
  */
278
- type BaseError = {
279
- message: string;
276
+ type UtilityDefinition = {
277
+ className: string;
278
+ property: string;
279
+ value: string;
280
+ tokenPath: string[];
280
281
  };
281
282
 
282
283
  /**
283
- * A flattened token with its source information and path
284
+ * Supported color formats for CSS output
284
285
  */
285
- type FlattenedToken<T extends TokenType = TokenType> = NodeMetadata & {
286
- $type: T;
287
- $value: TokenValue<T>;
288
- $path: string;
289
- $source: TokenSource;
290
- $originalPath: string;
291
- };
286
+ type ColorFormat = "hex" | "rgb" | "rgba" | "hsl" | "hsla" | "oklch" | "p3";
292
287
  /**
293
- * A map of flattened tokens and metadata by their lookup path, with an index for quick reference lookups
288
+ * Configuration for fluid (responsive) values
294
289
  */
295
- type FlattenedTokens = {
296
- tokens: {
297
- [lookupKey: string]: FlattenedToken | NodeMetadata;
298
- };
299
- pathIndex: Map<string, string>;
290
+ type FluidConfig = {
291
+ /** Minimum viewport width in pixels */
292
+ min: number;
293
+ /** Maximum viewport width in pixels */
294
+ max: number;
300
295
  };
301
296
  /**
302
- * An error that occurred during token flattening
297
+ * A collection of token files with shared namespace.
298
+ * Represents either a starter kit or custom token collection.
303
299
  */
304
- type FlattenError = BaseError & {
305
- path: string;
306
- source: TokenSource;
300
+ type TokenCollection = {
301
+ /** Array of source file paths for this collection */
302
+ source: string[];
303
+ /** Optional theme-specific source files */
304
+ themes?: Record<string, string[]>;
307
305
  };
308
-
309
306
  /**
310
- * An error that occurred during token validation
307
+ * Multiple named collections of tokens.
308
+ * Each key is a collection name (e.g., "base", "ui", "marketing").
311
309
  */
312
- type ValidationError = BaseError & {
313
- path: string;
314
- source: TokenSource;
310
+ type TokenCollections = Record<string, TokenCollection>;
311
+ /**
312
+ * Configuration for transforms applied to tokens during processing
313
+ */
314
+ type TransformsConfig = {
315
+ /** Configuration for fluid (responsive) values */
316
+ fluid?: FluidConfig;
317
+ /** Default color format for all color tokens */
318
+ colorFormat?: ColorFormat;
319
+ /** Prefix to add to all CSS variable names */
320
+ prefix?: string;
315
321
  };
316
-
317
322
  /**
318
- * A resolved token with its final value
323
+ * Configuration for output directories (user config - optional fields)
319
324
  */
320
- type ResolvedToken<T extends TokenType = TokenType> = NodeMetadata & {
321
- $type: T;
322
- $value: RawTokenValue<T>;
323
- $path: string;
324
- $source: TokenSource;
325
- $originalPath: string;
326
- $resolvedValue: RawTokenValue<T>;
325
+ type UserOutputConfig = {
326
+ /** Directory where CSS files will be written */
327
+ css?: string;
328
+ /** Directory containing token source files */
329
+ tokens?: string;
330
+ /** Directory for component files */
331
+ components?: string;
332
+ /** Whether to generate separate CSS files by token type (default: false) */
333
+ separate?: boolean;
327
334
  };
328
335
  /**
329
- * A map of resolved tokens by their lookup path
336
+ * Configuration for output directories (internal config - required fields)
330
337
  */
331
- type ResolvedTokens = {
332
- [lookupKey: string]: ResolvedToken | NodeMetadata;
338
+ type OutputConfig = {
339
+ /** Directory where CSS files will be written */
340
+ css: string;
341
+ /** Directory containing token source files */
342
+ tokens: string;
343
+ /** Directory for component files */
344
+ components?: string;
345
+ /** Whether to generate separate CSS files by token type */
346
+ separate: boolean;
333
347
  };
334
348
  /**
335
- * Type of resolution error that occurred
349
+ * Configuration for utility class generation
336
350
  */
337
- type ResolutionErrorType = "circular" | "missing" | "type-mismatch";
351
+ type UtilitiesConfig = {
352
+ /** Include core utilities (static, always-available utilities) */
353
+ core?: boolean;
354
+ } & Record<string, UtilityConfig | UtilityConfig[]>;
338
355
  /**
339
- * An error that occurred during token resolution
356
+ * Configuration for component framework integration
340
357
  */
341
- type ResolutionError = BaseError & {
342
- type: ResolutionErrorType;
343
- path: string;
344
- source: TokenSource;
358
+ type ComponentsConfig = {
359
+ /** The component framework to use */
360
+ framework?: "react" | "astro";
361
+ /** List of installed component names */
362
+ installed?: string[];
345
363
  };
364
+ /**
365
+ * User configuration type - what users write (minimal, optional fields)
366
+ */
367
+ interface UserConfig {
368
+ /** Token source configuration, either a single collection or multiple named collections */
369
+ tokens: TokenCollection | TokenCollections;
370
+ /** Optional transforms applied during token processing */
371
+ transforms?: TransformsConfig;
372
+ /** Optional output configuration for generated files */
373
+ output?: UserOutputConfig;
374
+ /** Configuration for utility class generation */
375
+ utilities?: UtilitiesConfig;
376
+ /** Configuration for component framework integration */
377
+ components?: ComponentsConfig;
378
+ /** List of plugin names to load */
379
+ plugins?: string[];
380
+ }
381
+ /**
382
+ * Internal configuration type - what code uses (complete, required fields)
383
+ */
384
+ interface SugarcubeConfig {
385
+ /** Token source configuration, either a single collection or multiple named collections */
386
+ tokens: TokenCollection | TokenCollections;
387
+ /** Optional transforms applied during token processing */
388
+ transforms?: TransformsConfig;
389
+ /** Required output configuration for generated files */
390
+ output: OutputConfig;
391
+ /** Configuration for utility class generation */
392
+ utilities?: UtilitiesConfig;
393
+ /** Configuration for component framework integration */
394
+ components?: ComponentsConfig;
395
+ /** List of plugin names to load */
396
+ plugins?: string[];
397
+ }
346
398
 
347
399
  /**
348
- * A warning that occurred during token normalization
400
+ * Base error type that all other error types extend from.
401
+ * Used as the foundation for all error types in the system.
402
+ * Provides a consistent structure for error messages across the codebase.
349
403
  */
350
- type NormalizationWarning = {
351
- type: "warning";
404
+ type BaseError = {
405
+ /** A human-readable error message describing what went wrong */
352
406
  message: string;
353
- file: string;
354
- collection: string;
355
- theme?: string;
356
407
  };
408
+
357
409
  /**
358
- * An error that occurred during token normalization
410
+ * Source information for a token, tracking its collection and theme.
411
+ * This metadata helps with error reporting and token organization.
359
412
  */
360
- type NormalizationError = ValidationError & {
413
+ type TokenSource = {
414
+ /** The collection this token belongs to (e.g., "base", "ui", "marketing") */
361
415
  collection: string;
362
- theme: string;
416
+ /** Optional theme name (e.g., "dark", "light", "high-contrast") */
417
+ theme?: string;
418
+ /** The path to the source file containing this token */
419
+ sourcePath: string;
363
420
  };
364
421
  /**
365
- * A set of tokens for a theme, including metadata nodes
422
+ * A complete token tree with collection and theme information.
423
+ * This represents a single token file's contents with its metadata.
366
424
  */
367
- type ThemeTokenSet = {
368
- default: ResolvedTokens;
369
- [theme: string]: ResolvedTokens;
425
+ type TokenTree = {
426
+ /** The collection this token tree belongs to (e.g., "base", "ui", "marketing") */
427
+ collection: string;
428
+ /** Optional theme name (e.g., "dark", "light", "high-contrast") */
429
+ theme?: string;
430
+ /** The actual token data following the W3C design tokens format */
431
+ tokens: TokenGroup;
432
+ /** The path to the source file containing these tokens */
433
+ sourcePath: string;
370
434
  };
435
+
371
436
  /**
372
- * Normalized tokens organized by collection and theme
437
+ * An error that occurred during token flattening.
438
+ * Extends the base error type with flattening-specific information.
373
439
  */
374
- type NormalizedTokens = {
375
- [collection: string]: ThemeTokenSet;
440
+ type FlattenError = BaseError & {
441
+ /** The path to the token that failed flattening */
442
+ path: string;
443
+ /** Source information about where the token was loaded from */
444
+ source: TokenSource;
376
445
  };
446
+
377
447
  /**
378
- * Result of the normalization process
448
+ * Represents a single CSS file output with its path and content
379
449
  */
380
- type NormalizeResult = {
381
- tokens: NormalizedTokens;
382
- errors: NormalizationError[];
383
- warnings: NormalizationWarning[];
450
+ type CSSFile = {
451
+ /** The path where the CSS file will be written */
452
+ path: string;
453
+ /** The CSS content to write to the file */
454
+ css: string;
384
455
  };
385
-
386
456
  /**
387
- * Result of loading token trees from files or memory
457
+ * Represents multiple CSS file outputs from generateSeparateFiles or generateSingleFile
388
458
  */
389
- type LoadResult = {
390
- trees: TokenTree[];
391
- errors: LoadError[];
392
- };
459
+ type CSSFileOutput = CSSFile[];
460
+
393
461
  /**
394
- * Data structure for loading tokens from memory
462
+ * Data structure for loading tokens from memory.
463
+ * Maps file paths to their token content and metadata.
464
+ * Used for programmatic token loading.
395
465
  */
396
466
  type TokenMemoryData = Record<string, {
467
+ /** The collection name this token belongs to */
397
468
  collection: string;
469
+ /** Optional theme name for themed tokens */
398
470
  theme?: string;
471
+ /** The raw token content as a string */
399
472
  content: string;
400
473
  }>;
401
474
  /**
402
- * An error that occurred during token loading
475
+ * An error that occurred during token loading.
476
+ * Extends the base error type with file-specific information.
403
477
  */
404
478
  type LoadError = BaseError & {
479
+ /** The file path where the error occurred */
405
480
  file: string;
406
481
  };
407
482
 
408
483
  /**
409
- * Result of running the tokens-to-CSS pipeline
484
+ * A resolved token with its final value.
485
+ * Contains both the original token data and its resolved value after reference resolution.
486
+ * @template T - The type of token (e.g., "color", "dimension", etc.)
487
+ */
488
+ type ResolvedToken<T extends TokenType = TokenType> = NodeMetadata & {
489
+ /** The type of the token */
490
+ $type: T;
491
+ /** The original value of the token, which may contain references */
492
+ $value: RawTokenValue<T>;
493
+ /** The path to this token in the token tree */
494
+ $path: string;
495
+ /** Information about where this token was loaded from */
496
+ $source: TokenSource;
497
+ /** The original path before any resolution */
498
+ $originalPath: string;
499
+ /** The final resolved value after all references are resolved */
500
+ $resolvedValue: RawTokenValue<T>;
501
+ };
502
+ /**
503
+ * A map of resolved tokens by their lookup path.
504
+ * Used to store the final resolved state of all tokens in a collection.
505
+ * Keys are token paths, values are either resolved tokens or node metadata.
506
+ */
507
+ type ResolvedTokens = {
508
+ /** Token path as key, resolved token or metadata as value */
509
+ [lookupKey: string]: ResolvedToken | NodeMetadata;
510
+ };
511
+ /**
512
+ * Type of resolution error that occurred.
513
+ * - "circular": A circular reference was detected
514
+ * - "missing": A referenced token could not be found
515
+ * - "type-mismatch": A referenced token's type doesn't match the expected type
516
+ */
517
+ type ResolutionErrorType = "circular" | "missing" | "type-mismatch";
518
+ /**
519
+ * An error that occurred during token resolution.
520
+ * Extends the base error type with resolution-specific information.
521
+ */
522
+ type ResolutionError = BaseError & {
523
+ /** The type of resolution error that occurred */
524
+ type: ResolutionErrorType;
525
+ /** The path to the token that failed resolution */
526
+ path: string;
527
+ /** Source information about where the token was loaded from */
528
+ source: TokenSource;
529
+ };
530
+
531
+ /**
532
+ * An error that occurred during token validation.
533
+ * Extends the base error type with token-specific information.
534
+ */
535
+ type ValidationError = BaseError & {
536
+ /** The path to the token that failed validation */
537
+ path: string;
538
+ /** Source information about where the token was loaded from */
539
+ source: TokenSource;
540
+ };
541
+
542
+ /**
543
+ * Result of running any pipeline.
544
+ * Contains the generated output, token trees, and any errors.
410
545
  */
411
- type TokensToCSSPipelineResult = {
546
+ type PipelineResult = {
547
+ /** The generated output (e.g. CSS files) */
412
548
  output: CSSFileOutput;
549
+ /** The loaded token trees */
413
550
  trees: TokenTree[];
551
+ /** Any errors that occurred during pipeline execution */
414
552
  errors: PipelineErrors;
415
- warnings: PipelineWarnings;
416
553
  };
417
554
  /**
418
- * Common error types that can occur during pipeline execution
555
+ * Common error types that can occur during pipeline execution.
556
+ * Organizes errors by the pipeline stage where they occurred.
419
557
  */
420
558
  type PipelineErrors = {
559
+ /** Errors that occurred during token loading */
421
560
  load: LoadError[];
561
+ /** Errors that occurred during token flattening */
422
562
  flatten: FlattenError[];
563
+ /** Errors that occurred during token validation */
423
564
  validation: ValidationError[];
565
+ /** Errors that occurred during token resolution */
424
566
  resolution: ResolutionError[];
425
567
  };
426
568
  /**
427
- * Common warning types that can occur during pipeline execution
428
- */
429
- type PipelineWarnings = {
430
- normalization: NormalizationWarning[];
431
- };
432
- /**
433
- * Result of running the validation pipeline
569
+ * Defines how tokens should be loaded and processed.
570
+ * Either from files using a config, or from memory with token data.
434
571
  */
435
- type ValidationPipelineResult = {
436
- trees: TokenTree[];
437
- flattenedTokens: FlattenedTokens;
438
- resolved: ResolvedTokens;
439
- errors: PipelineErrors;
572
+ type TokenPipelineSource = {
573
+ type: "files";
574
+ config: SugarcubeConfig;
575
+ } | {
576
+ type: "memory";
577
+ data: Record<string, {
578
+ collection: string;
579
+ content: string;
580
+ }>;
581
+ config: SugarcubeConfig;
440
582
  };
441
583
  /**
442
- * Options for loading tokens in the validation pipeline
584
+ * Options for loading tokens in the pipeline.
585
+ * Specifies whether to load tokens from files or memory.
443
586
  */
444
587
  type TokenLoader = {
445
588
  type: "files";
@@ -448,389 +591,1350 @@ type TokenLoader = {
448
591
  type: "memory";
449
592
  data: TokenMemoryData;
450
593
  };
594
+
451
595
  /**
452
- * Options for configuring the validation pipeline
453
- */
454
- type ValidationPipelineOptions = {
455
- loader: TokenLoader;
456
- };
457
- /**
458
- * Result of running the generation pipeline
596
+ * Core token processing pipeline that handles loading, validation, and resolution of tokens.
597
+ * This is the foundation for all other token processing operations.
598
+ *
599
+ * This pipeline:
600
+ * 1. Loads token trees from config or memory
601
+ * 2. Flattens trees into a single structure
602
+ * 3. Validates tokens for correctness
603
+ * 4. Resolves all token references
604
+ *
605
+ * Each stage can produce errors which are collected and returned in the result.
606
+ *
607
+ * @param source - The source of tokens to process, either from memory or config
608
+ * @returns An object containing the processed trees, resolved tokens, and any errors
609
+ *
610
+ * @example
611
+ * const result = await tokenProcessingPipeline({ type: "config", config });
612
+ * if (result.errors.validation.length > 0) {
613
+ * console.error("Validation failed:", result.errors.validation);
614
+ * }
459
615
  */
460
- type GenerationPipelineResult = {
461
- output: CSSFileOutput;
462
- warnings: PipelineWarnings;
463
- };
464
-
465
- declare function tokensToCSSPipeline(config: SugarcubeConfig, options?: {
466
- loader?: TokenLoader;
467
- }): Promise<TokensToCSSPipelineResult>;
468
-
469
- declare function validationPipeline(config: SugarcubeConfig, options: ValidationPipelineOptions): Promise<ValidationPipelineResult>;
470
-
471
- declare function generationPipeline(trees: TokenTree[], resolved: ResolvedTokens, configState: SugarcubeConfig): Promise<GenerationPipelineResult>;
472
-
473
- declare function loadTreesFromConfig(config: SugarcubeConfig): Promise<LoadResult>;
474
- declare function loadTreesFromMemory(data: TokenMemoryData): Promise<LoadResult>;
475
-
476
- declare function validate(tokens: FlattenedTokens): ValidationError[];
477
-
478
- declare function flatten(trees: TokenTree[]): {
479
- tokens: FlattenedTokens;
480
- errors: FlattenError[];
481
- };
482
-
483
- declare function resolve(tokens: FlattenedTokens): {
616
+ declare function tokenProcessingPipeline(source: TokenPipelineSource): Promise<{
617
+ trees: TokenTree[];
484
618
  resolved: ResolvedTokens;
485
- errors: ResolutionError[];
486
- };
619
+ errors: PipelineResult["errors"];
620
+ }>;
487
621
 
488
622
  /**
489
- * A processed token tree that has been filtered to only include tokens
490
- * from its specific collection and theme, with resolved values
623
+ * Result of loading a Sugarcube configuration file
491
624
  */
492
- type ProcessedTree = {
493
- collection: string;
494
- theme?: string;
495
- tokens: ResolvedTokens;
625
+ type LoadConfigResult = {
626
+ /** The validated configuration */
627
+ config: SugarcubeConfig;
628
+ /** The path to the config file that was loaded */
629
+ configPath: string;
496
630
  };
497
-
498
631
  /**
499
- * Process token trees by filtering resolved tokens based on collection and theme.
500
- * Uses a two-level index (collection -> theme) for O(1) lookups.
632
+ * Loads and validates the sugarcube configuration file from disk.
633
+ *
634
+ * This function:
635
+ * 1. Reads the config file from the specified path
636
+ * 2. Parses and validates the configuration
637
+ * 3. Returns the validated configuration object and the path used
638
+ *
639
+ * @param configPath - Path to the config file (default: "sugarcube.config.json")
640
+ * @returns A promise that resolves to the validated configuration and config path
641
+ * @throws Error if the config file is not found or invalid
642
+ *
643
+ * @example
644
+ * // Load default config file
645
+ * const { config, configPath } = await loadConfig();
646
+ *
647
+ * // Load custom config file
648
+ * const { config, configPath } = await loadConfig("./config/sugarcube.json");
501
649
  */
502
- declare function processTrees(trees: TokenTree[], resolved: ResolvedTokens): ProcessedTree[];
650
+ declare function loadConfig(configPath?: string): Promise<LoadConfigResult>;
503
651
 
504
652
  /**
505
- * A token that has been converted to CSS properties
653
+ * Validates a user configuration object against the schema and normalizes it.
654
+ *
655
+ * This function:
656
+ * 1. Validates the configuration structure using the user schema
657
+ * 2. Normalizes the configuration by filling in defaults
658
+ * 3. Validates the complete configuration using the internal schema
659
+ * 4. Checks for duplicate filenames across collections
660
+ * 5. Returns the validated and normalized configuration
661
+ *
662
+ * @param config - The user configuration object to validate
663
+ * @returns The validated and normalized configuration
664
+ * @throws Error if the configuration is invalid or contains duplicate filenames
665
+ *
666
+ * @example
667
+ * const config = {
668
+ * tokens: {
669
+ * source: ["tokens.json"]
670
+ * }
671
+ * };
672
+ * const validatedConfig = validateConfig(config);
673
+ * // validatedConfig.output.css === "src/styles" (default filled in)
506
674
  */
507
- type ConvertedToken<T extends TokenType = TokenType> = ResolvedToken<T> & {
508
- $cssProperties: CSSProperties<T>;
509
- };
675
+ declare function validateConfig(config: Partial<UserConfig>): SugarcubeConfig;
510
676
  /**
511
- * A collection of converted tokens
677
+ * Parses and validates a JSON configuration string.
678
+ *
679
+ * This function:
680
+ * 1. Parses the JSON string into a configuration object
681
+ * 2. Validates and normalizes the configuration using validateConfig
682
+ * 3. Returns the validated and normalized configuration
683
+ *
684
+ * @param configString - The JSON configuration string to parse and validate
685
+ * @returns The validated and normalized configuration
686
+ * @throws Error if the JSON is invalid or the configuration is invalid
687
+ *
688
+ * @example
689
+ * const configString = `{
690
+ * "tokens": {
691
+ * "source": ["tokens.json"]
692
+ * }
693
+ * }`;
694
+ * const config = parseAndValidateConfig(configString);
695
+ * // config.output.css === "src/styles" (default filled in)
512
696
  */
513
- type ConvertedTokens = {
514
- [lookupKey: string]: ConvertedToken | NodeMetadata;
515
- };
697
+ declare function parseAndValidateConfig(configString: string): SugarcubeConfig;
698
+
516
699
  /**
517
- * A collection of converted tokens organized by theme
700
+ * Default configuration values
518
701
  */
519
- type ConvertedThemeTokenSet = {
520
- default: ConvertedTokens;
521
- [theme: string]: ConvertedTokens;
702
+ declare const DEFAULT_CONFIG: {
703
+ readonly output: {
704
+ readonly css: "src/styles";
705
+ readonly tokens: "src/design-tokens";
706
+ readonly components: "src/ui/components";
707
+ readonly separate: false;
708
+ };
522
709
  };
523
710
  /**
524
- * A collection of converted tokens organized by collection and theme
525
- */
526
- type NormalizedConvertedTokens = {
527
- [collection: string]: ConvertedThemeTokenSet;
528
- };
711
+ * Normalizes a user configuration by filling in default values.
712
+ *
713
+ * This function takes a minimal user config (with optional fields) and
714
+ * returns a complete internal config (with all required fields).
715
+ *
716
+ * @param userConfig - The user configuration with optional fields
717
+ * @returns A complete configuration with all defaults filled in
718
+ *
719
+ * @example
720
+ * const userConfig = {
721
+ * tokens: { source: ["tokens/*.json"] }
722
+ * };
723
+ * const completeConfig = normalizeConfig(userConfig);
724
+ * // completeConfig.output.css === "src/styles"
725
+ * // completeConfig.output.tokens === "src/design-tokens"
726
+ * // completeConfig.output.components === "src/ui/components"
727
+ * // completeConfig.output.separate === false
728
+ */
729
+ declare function normalizeConfig(userConfig: UserConfig): SugarcubeConfig;
730
+
529
731
  /**
530
- * CSS property types for different token types
732
+ * Gets all token source file paths from the configuration.
733
+ *
734
+ * This function handles both single and multiple collection configurations:
735
+ * - Single collection: Returns the source array directly
736
+ * - Multiple collections: Flattens and returns all source paths from all collections
737
+ *
738
+ * @param config - The sugarcube configuration
739
+ * @returns An array of all token source file paths
740
+ *
741
+ * @example
742
+ * // Single collection
743
+ * getTokenPathsFromConfig({ tokens: { source: ["tokens.json"] } })
744
+ * // Returns: ["tokens.json"]
745
+ *
746
+ * // Multiple collections
747
+ * getTokenPathsFromConfig({
748
+ * tokens: {
749
+ * base: { source: ["base.json"] },
750
+ * ui: { source: ["ui.json"] }
751
+ * }
752
+ * })
753
+ * // Returns: ["base.json", "ui.json"]
531
754
  */
532
- type CSSProperties<T extends TokenType> = T extends SimpleTokenType ? SimpleCSSProperties : T extends AlwaysDecomposedType ? AlwaysDecomposedProperties : T extends "border" ? CSSBorderProperties : T extends "shadow" ? CSSShadowProperties : T extends "gradient" ? CSSGradientProperties : T extends "transition" ? CSSTransitionProperties : T extends StructuralCompositeType ? SimpleCSSProperties : never;
755
+ declare function getTokenPathsFromConfig(config: SugarcubeConfig): string[];
533
756
  /**
534
- * Simple CSS properties with a single value
757
+ * Writes CSS files to disk, creating directories as needed.
758
+ *
759
+ * This function:
760
+ * 1. Creates any missing directories in the file path
761
+ * 2. Adds a warning banner to prevent direct edits
762
+ * 3. Only writes files if the content has changed
763
+ * 4. Handles both single and multiple CSS file outputs
764
+ *
765
+ * @param output - Array of CSS file outputs to write
766
+ * @returns The original output array
767
+ * @throws Error if file writing fails
768
+ *
769
+ * @example
770
+ * await writeCSSFilesToDisk([
771
+ * { path: "styles/tokens.css", css: "body { color: red; }" }
772
+ * ]);
535
773
  */
536
- type SimpleCSSProperties = {
537
- value: string | number;
538
- featureValues?: Array<{
539
- query: string;
540
- value: string;
541
- }>;
542
- };
774
+ declare function writeCSSVariablesToDisk(output: CSSFileOutput): Promise<CSSFileOutput>;
543
775
  /**
544
- * CSS properties that are always broken down into multiple properties
776
+ * Writes utility CSS files to disk, creating directories as needed.
777
+ *
778
+ * This function:
779
+ * 1. Creates any missing directories in the file path
780
+ * 2. Adds a warning banner specific to utility classes
781
+ * 3. Only writes files if the content has changed
782
+ *
783
+ * @param output - The CSS file output to write
784
+ * @param config - The sugarcube configuration
785
+ * @returns The CSS file output that was written
786
+ * @throws Error if file writing fails
787
+ *
788
+ * @example
789
+ * await writeCSSUtilitiesToDisk(
790
+ * [{ path: "src/styles/utilities/utilities.css", css: ".p-4 { padding: var(--spacing-4); }" }],
791
+ * config
792
+ * );
545
793
  */
546
- type AlwaysDecomposedProperties = CSSTypographyProperties;
794
+ declare function writeCSSUtilitiesToDisk(output: CSSFileOutput): Promise<CSSFileOutput>;
795
+
547
796
  /**
548
- * CSS properties specific to typography tokens
797
+ * Generates utility CSS classes from resolved tokens based on utility configuration.
798
+ * This function creates CSS utility classes that map token values to CSS properties.
799
+ *
800
+ * The generation process:
801
+ * 1. Iterates through all resolved tokens
802
+ * 2. Matches tokens against utility configurations
803
+ * 3. Generates CSS rules for each matching token and property
804
+ * 4. Handles directional variants (e.g., padding-top, margin-right) if configured
805
+ * 5. Formats and returns the final CSS string
806
+ *
807
+ * The generated CSS uses CSS custom properties (variables) to reference token values,
808
+ * maintaining the connection between tokens and their usage in utilities.
809
+ *
810
+ * @param tokens - The resolved tokens to generate utilities from
811
+ * @param config - The sugarcube configuration containing utility settings
812
+ * @returns An object containing the generated CSS, errors, and warnings
813
+ *
814
+ * @example
815
+ * const { css } = generateUtilityCSS(resolvedTokens, config);
816
+ * // css = ".u-p-4 { padding: var(--spacing-4); }\n.u-mt-2 { margin-top: var(--spacing-2); }"
549
817
  */
550
- type CSSTypographyProperties = {
551
- "font-family": string;
552
- "font-size": string;
553
- "font-weight"?: number | string;
554
- "letter-spacing"?: string;
555
- "line-height"?: number | string;
556
- };
557
- /**
558
- * CSS properties for specific token types
559
- */
560
- type CSSBorderProperties = {
561
- value: string;
562
- };
563
- type CSSShadowProperties = {
564
- value: string;
565
- };
566
- type CSSGradientProperties = {
567
- value: string;
568
- };
569
- type CSSTransitionProperties = {
570
- value: string;
818
+ declare function generateCSSUtilityClasses(tokens: ResolvedTokens, config: SugarcubeConfig): {
819
+ output: CSSFileOutput;
820
+ errors: Error[];
571
821
  };
572
822
 
573
- declare function convert(tokens: NormalizedTokens, config: SugarcubeConfig): NormalizedConvertedTokens;
574
-
575
823
  /**
576
- * Normalizes processed token trees into a collection-theme-token structure.
824
+ * Generates CSS variables from processed token trees and resolved tokens.
825
+ * This pipeline handles the conversion of tokens into CSS variable format.
577
826
  *
578
- * This stage:
579
- * 1. Organizes tokens by collection and theme
580
- * 2. Removes collection prefixes from token keys (e.g., "default.color.primary" -> "color.primary")
581
- * 3. Preserves metadata nodes
582
- * 4. Maintains theme isolation (tokens only appear in their specified theme)
827
+ * This pipeline:
828
+ * 1. Processes trees with resolved tokens
829
+ * 2. Normalizes tokens into a collection-theme structure
830
+ * 3. Converts tokens to CSS-ready format
831
+ * 4. Generates final CSS output
583
832
  *
584
- * The output structure is:
585
- * {
586
- * [collection]: {
587
- * [theme]: {
588
- * [tokenKey]: Token
589
- * }
590
- * }
591
- * }
833
+ * @param trees - The processed token trees
834
+ * @param resolved - The resolved tokens
835
+ * @param config - The sugarcube configuration
836
+ * @returns An object containing the generated CSS output
592
837
  *
593
- * For example:
594
- * {
595
- * default: {
596
- * default: { "color.primary": { $value: "#FF0000" } },
597
- * dark: { "color.primary": { $value: "#000000" } }
598
- * },
599
- * components: {
600
- * default: { "button.primary": { $value: "#00FF00" } }
601
- * }
602
- * }
838
+ * @example
839
+ * const { output } = await cssVariablesPipeline(trees, resolved, config);
840
+ * // output = [{ path: "path/to/output.css", css: ":root { ... }" }]
603
841
  */
604
- declare function normalizeTokens(trees: ProcessedTree[]): NormalizeResult;
842
+ declare function generateCSSVariables(trees: TokenTree[], resolved: ResolvedTokens, config: SugarcubeConfig): Promise<{
843
+ output: CSSFileOutput;
844
+ }>;
605
845
 
606
- /**
607
- * Generates CSS variable files from normalized and converted design tokens.
608
- * Output organization is controlled by config.output.css.separate:
609
- *
610
- * When separate=false (default):
611
- * - Generates one file per collection
612
- * - Each collection's tokens are combined into a single file named 'tokens.variables.css'
613
- * - Example for collections 'base' and 'ui':
614
- * - base/tokens.variables.css
615
- * - ui/tokens.variables.css
616
- *
617
- * When separate=true:
618
- * - Generates multiple files per collection, based on source filenames
619
- * - Files are organized in directories by collection name
620
- * - Example for collection 'base' with source 'base.json' and collection 'ui' with source 'ui.json':
621
- * - base/base.variables.css
622
- * - ui/ui.variables.css
623
- *
624
- * Note: Each collection gets its own directory regardless of the 'separate' setting.
625
- * This maintains a clear separation between different token collections.
626
- */
627
- declare function generate(tokens: NormalizedConvertedTokens, config: SugarcubeConfig): Promise<CSSGenerationResult>;
846
+ declare function generateIndex(stylesDir: string, config: SugarcubeConfig): Promise<string>;
847
+ declare function shouldRegenerateIndex(stylesDir: string, config: SugarcubeConfig): Promise<boolean>;
628
848
 
629
- /**
630
- * Adds a warning banner to generated CSS content
631
- */
632
- declare function addWarningBanner(cssContent: string): string;
633
- /**
634
- * Gets the token file paths from config for use in warning banners
635
- */
636
- declare function getTokenPathsFromConfig(config: SugarcubeConfig): string[];
637
- /**
638
- * Writes CSS files to disk with directory creation
639
- */
640
- declare function writeCSSFilesToDisk(output: CSSFileOutput, addBanner?: boolean, tokenPaths?: string[]): Promise<CSSFileOutput>;
849
+ interface CSSImport {
850
+ path: string;
851
+ layer: string;
852
+ relativePath: string;
853
+ }
854
+ declare function discoverAllFiles(stylesDir: string, config: SugarcubeConfig): Promise<CSSImport[]>;
641
855
 
642
- /**
643
- * Validates the configuration object against the schema
644
- */
645
- declare function validateConfig(config: Partial<SugarcubeConfig>): SugarcubeConfig;
646
- /**
647
- * Parses and validates a JSON configuration string
648
- */
649
- declare function parseAndValidateConfig(configString: string): SugarcubeConfig;
856
+ declare function generateIndexContent(files: CSSImport[]): string;
650
857
 
651
- /**
652
- * Loads and validates the config file from disk
653
- */
654
- declare function loadConfig(configPath?: string): Promise<SugarcubeConfig>;
858
+ declare const SUGARCUBE_FILE = "_sugarcube.css";
859
+ declare const GLOBAL_DIR = "global";
860
+ declare const UTILITIES_DIR = "utilities";
861
+ declare const VARIABLES_FILE_SUFFIX = ".variables.css";
862
+ declare const TOKENS_FILE_SUFFIX = ".tokens.json";
863
+ declare const DEFAULT_VARIABLES_FILENAME = "tokens";
864
+ declare const DEFAULT_UTILITIES_FILENAME = "utilities.css";
865
+ declare const DEFAULT_STYLES_PATH = "src/styles";
866
+ declare const DEFAULT_DESIGN_TOKENS_PATH = "src/design-tokens";
867
+ declare const SUGARCUBE_CONFIG_FILE = "sugarcube.config.json";
655
868
 
656
- /**
657
- * Manages the CSS index file that imports all CSS files.
658
- * @param options.cssOutputDirectory - Directory where the index.css will be created/updated
659
- * @param options.files - CSS files to include in the index
660
- * @returns Path to the generated index file
661
- */
662
- declare function manageCSSIndex({ cssOutputDirectory, files, }: {
663
- cssOutputDirectory: string;
664
- files: string[];
665
- }): Promise<string>;
869
+ declare class Instrumentation implements Disposable {
870
+ #private;
871
+ private defaultFlush;
872
+ constructor(defaultFlush?: (message: string) => undefined);
873
+ hit(label: string): void;
874
+ start(label: string): void;
875
+ end(label: string): void;
876
+ report(flush?: (message: string) => undefined): void;
877
+ [Symbol.dispose](): void;
878
+ }
666
879
 
667
- /**
668
- * Schema for configuration
669
- */
670
- declare const configSchema: z.ZodObject<{
880
+ declare const userConfigSchema: z.ZodObject<{
671
881
  tokens: z.ZodUnion<[z.ZodObject<{
672
882
  source: z.ZodArray<z.ZodString, "many">;
673
- type: z.ZodEnum<["starter-kit", "custom"]>;
674
883
  themes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString, "many">>>;
675
884
  }, "strip", z.ZodTypeAny, {
676
885
  source: string[];
677
- type: "starter-kit" | "custom";
678
886
  themes?: Record<string, string[]> | undefined;
679
887
  }, {
680
888
  source: string[];
681
- type: "starter-kit" | "custom";
682
889
  themes?: Record<string, string[]> | undefined;
683
890
  }>, z.ZodRecord<z.ZodString, z.ZodObject<{
684
891
  source: z.ZodArray<z.ZodString, "many">;
685
- type: z.ZodEnum<["starter-kit", "custom"]>;
686
892
  themes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString, "many">>>;
687
893
  }, "strip", z.ZodTypeAny, {
688
894
  source: string[];
689
- type: "starter-kit" | "custom";
690
895
  themes?: Record<string, string[]> | undefined;
691
896
  }, {
692
897
  source: string[];
693
- type: "starter-kit" | "custom";
694
898
  themes?: Record<string, string[]> | undefined;
695
899
  }>>]>;
696
- options: z.ZodOptional<z.ZodObject<{
900
+ transforms: z.ZodOptional<z.ZodObject<{
697
901
  fluid: z.ZodOptional<z.ZodObject<{
698
902
  min: z.ZodNumber;
699
903
  max: z.ZodNumber;
700
- }, "strict", z.ZodTypeAny, {
904
+ }, "strip", z.ZodTypeAny, {
701
905
  min: number;
702
906
  max: number;
703
907
  }, {
704
908
  min: number;
705
909
  max: number;
706
910
  }>>;
911
+ colorFormat: z.ZodOptional<z.ZodEnum<["hex", "rgb", "rgba", "hsl", "hsla", "oklch", "p3"]>>;
707
912
  prefix: z.ZodOptional<z.ZodString>;
708
- color: z.ZodOptional<z.ZodEnum<["hex", "rgb", "rgba", "hsl", "hsla", "oklch", "p3"]>>;
709
913
  }, "strip", z.ZodTypeAny, {
710
- color?: "hex" | "rgb" | "rgba" | "hsl" | "hsla" | "oklch" | "p3" | undefined;
914
+ prefix?: string | undefined;
711
915
  fluid?: {
712
916
  min: number;
713
917
  max: number;
714
918
  } | undefined;
715
- prefix?: string | undefined;
919
+ colorFormat?: "hex" | "rgb" | "rgba" | "hsl" | "hsla" | "oklch" | "p3" | undefined;
716
920
  }, {
717
- color?: "hex" | "rgb" | "rgba" | "hsl" | "hsla" | "oklch" | "p3" | undefined;
921
+ prefix?: string | undefined;
718
922
  fluid?: {
719
923
  min: number;
720
924
  max: number;
721
925
  } | undefined;
926
+ colorFormat?: "hex" | "rgb" | "rgba" | "hsl" | "hsla" | "oklch" | "p3" | undefined;
927
+ }>>;
928
+ output: z.ZodOptional<z.ZodObject<{
929
+ css: z.ZodOptional<z.ZodString>;
930
+ tokens: z.ZodOptional<z.ZodString>;
931
+ components: z.ZodOptional<z.ZodString>;
932
+ separate: z.ZodOptional<z.ZodBoolean>;
933
+ }, "strip", z.ZodTypeAny, {
934
+ tokens?: string | undefined;
935
+ css?: string | undefined;
936
+ components?: string | undefined;
937
+ separate?: boolean | undefined;
938
+ }, {
939
+ tokens?: string | undefined;
940
+ css?: string | undefined;
941
+ components?: string | undefined;
942
+ separate?: boolean | undefined;
943
+ }>>;
944
+ utilities: z.ZodOptional<z.ZodObject<{
945
+ core: z.ZodOptional<z.ZodBoolean>;
946
+ }, "strip", z.ZodUnion<[z.ZodObject<{
947
+ typeMap: z.ZodOptional<z.ZodRecord<z.ZodEnum<["color", "dimension", "fluidDimension", "duration", "cubicBezier", "fontFamily", "fontWeight", "number", "border", "shadow", "gradient", "transition", "strokeStyle"]>, z.ZodArray<z.ZodString, "many">>>;
948
+ directions: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["top", "right", "bottom", "left", "x", "y", "full"]>, z.ZodArray<z.ZodEnum<["top", "right", "bottom", "left", "x", "y", "full"]>, "many">]>>;
949
+ properties: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
950
+ prefix: z.ZodOptional<z.ZodString>;
951
+ stripLevels: z.ZodOptional<z.ZodNumber>;
952
+ custom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
953
+ }, "strip", z.ZodTypeAny, {
954
+ properties?: string[] | undefined;
955
+ custom?: Record<string, string> | undefined;
956
+ typeMap?: Partial<Record<"number" | "color" | "dimension" | "fluidDimension" | "duration" | "cubicBezier" | "fontFamily" | "fontWeight" | "border" | "shadow" | "gradient" | "transition" | "strokeStyle", string[]>> | undefined;
957
+ directions?: "top" | "right" | "bottom" | "left" | "x" | "y" | "full" | ("top" | "right" | "bottom" | "left" | "x" | "y" | "full")[] | undefined;
958
+ prefix?: string | undefined;
959
+ stripLevels?: number | undefined;
960
+ }, {
961
+ properties?: string[] | undefined;
962
+ custom?: Record<string, string> | undefined;
963
+ typeMap?: Partial<Record<"number" | "color" | "dimension" | "fluidDimension" | "duration" | "cubicBezier" | "fontFamily" | "fontWeight" | "border" | "shadow" | "gradient" | "transition" | "strokeStyle", string[]>> | undefined;
964
+ directions?: "top" | "right" | "bottom" | "left" | "x" | "y" | "full" | ("top" | "right" | "bottom" | "left" | "x" | "y" | "full")[] | undefined;
965
+ prefix?: string | undefined;
966
+ stripLevels?: number | undefined;
967
+ }>, z.ZodArray<z.ZodObject<{
968
+ typeMap: z.ZodOptional<z.ZodRecord<z.ZodEnum<["color", "dimension", "fluidDimension", "duration", "cubicBezier", "fontFamily", "fontWeight", "number", "border", "shadow", "gradient", "transition", "strokeStyle"]>, z.ZodArray<z.ZodString, "many">>>;
969
+ directions: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["top", "right", "bottom", "left", "x", "y", "full"]>, z.ZodArray<z.ZodEnum<["top", "right", "bottom", "left", "x", "y", "full"]>, "many">]>>;
970
+ properties: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
971
+ prefix: z.ZodOptional<z.ZodString>;
972
+ stripLevels: z.ZodOptional<z.ZodNumber>;
973
+ custom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
974
+ }, "strip", z.ZodTypeAny, {
975
+ properties?: string[] | undefined;
976
+ custom?: Record<string, string> | undefined;
977
+ typeMap?: Partial<Record<"number" | "color" | "dimension" | "fluidDimension" | "duration" | "cubicBezier" | "fontFamily" | "fontWeight" | "border" | "shadow" | "gradient" | "transition" | "strokeStyle", string[]>> | undefined;
978
+ directions?: "top" | "right" | "bottom" | "left" | "x" | "y" | "full" | ("top" | "right" | "bottom" | "left" | "x" | "y" | "full")[] | undefined;
979
+ prefix?: string | undefined;
980
+ stripLevels?: number | undefined;
981
+ }, {
982
+ properties?: string[] | undefined;
983
+ custom?: Record<string, string> | undefined;
984
+ typeMap?: Partial<Record<"number" | "color" | "dimension" | "fluidDimension" | "duration" | "cubicBezier" | "fontFamily" | "fontWeight" | "border" | "shadow" | "gradient" | "transition" | "strokeStyle", string[]>> | undefined;
985
+ directions?: "top" | "right" | "bottom" | "left" | "x" | "y" | "full" | ("top" | "right" | "bottom" | "left" | "x" | "y" | "full")[] | undefined;
986
+ prefix?: string | undefined;
987
+ stripLevels?: number | undefined;
988
+ }>, "many">]>, z.objectOutputType<{
989
+ core: z.ZodOptional<z.ZodBoolean>;
990
+ }, z.ZodUnion<[z.ZodObject<{
991
+ typeMap: z.ZodOptional<z.ZodRecord<z.ZodEnum<["color", "dimension", "fluidDimension", "duration", "cubicBezier", "fontFamily", "fontWeight", "number", "border", "shadow", "gradient", "transition", "strokeStyle"]>, z.ZodArray<z.ZodString, "many">>>;
992
+ directions: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["top", "right", "bottom", "left", "x", "y", "full"]>, z.ZodArray<z.ZodEnum<["top", "right", "bottom", "left", "x", "y", "full"]>, "many">]>>;
993
+ properties: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
994
+ prefix: z.ZodOptional<z.ZodString>;
995
+ stripLevels: z.ZodOptional<z.ZodNumber>;
996
+ custom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
997
+ }, "strip", z.ZodTypeAny, {
998
+ properties?: string[] | undefined;
999
+ custom?: Record<string, string> | undefined;
1000
+ typeMap?: Partial<Record<"number" | "color" | "dimension" | "fluidDimension" | "duration" | "cubicBezier" | "fontFamily" | "fontWeight" | "border" | "shadow" | "gradient" | "transition" | "strokeStyle", string[]>> | undefined;
1001
+ directions?: "top" | "right" | "bottom" | "left" | "x" | "y" | "full" | ("top" | "right" | "bottom" | "left" | "x" | "y" | "full")[] | undefined;
722
1002
  prefix?: string | undefined;
1003
+ stripLevels?: number | undefined;
1004
+ }, {
1005
+ properties?: string[] | undefined;
1006
+ custom?: Record<string, string> | undefined;
1007
+ typeMap?: Partial<Record<"number" | "color" | "dimension" | "fluidDimension" | "duration" | "cubicBezier" | "fontFamily" | "fontWeight" | "border" | "shadow" | "gradient" | "transition" | "strokeStyle", string[]>> | undefined;
1008
+ directions?: "top" | "right" | "bottom" | "left" | "x" | "y" | "full" | ("top" | "right" | "bottom" | "left" | "x" | "y" | "full")[] | undefined;
1009
+ prefix?: string | undefined;
1010
+ stripLevels?: number | undefined;
1011
+ }>, z.ZodArray<z.ZodObject<{
1012
+ typeMap: z.ZodOptional<z.ZodRecord<z.ZodEnum<["color", "dimension", "fluidDimension", "duration", "cubicBezier", "fontFamily", "fontWeight", "number", "border", "shadow", "gradient", "transition", "strokeStyle"]>, z.ZodArray<z.ZodString, "many">>>;
1013
+ directions: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["top", "right", "bottom", "left", "x", "y", "full"]>, z.ZodArray<z.ZodEnum<["top", "right", "bottom", "left", "x", "y", "full"]>, "many">]>>;
1014
+ properties: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1015
+ prefix: z.ZodOptional<z.ZodString>;
1016
+ stripLevels: z.ZodOptional<z.ZodNumber>;
1017
+ custom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1018
+ }, "strip", z.ZodTypeAny, {
1019
+ properties?: string[] | undefined;
1020
+ custom?: Record<string, string> | undefined;
1021
+ typeMap?: Partial<Record<"number" | "color" | "dimension" | "fluidDimension" | "duration" | "cubicBezier" | "fontFamily" | "fontWeight" | "border" | "shadow" | "gradient" | "transition" | "strokeStyle", string[]>> | undefined;
1022
+ directions?: "top" | "right" | "bottom" | "left" | "x" | "y" | "full" | ("top" | "right" | "bottom" | "left" | "x" | "y" | "full")[] | undefined;
1023
+ prefix?: string | undefined;
1024
+ stripLevels?: number | undefined;
1025
+ }, {
1026
+ properties?: string[] | undefined;
1027
+ custom?: Record<string, string> | undefined;
1028
+ typeMap?: Partial<Record<"number" | "color" | "dimension" | "fluidDimension" | "duration" | "cubicBezier" | "fontFamily" | "fontWeight" | "border" | "shadow" | "gradient" | "transition" | "strokeStyle", string[]>> | undefined;
1029
+ directions?: "top" | "right" | "bottom" | "left" | "x" | "y" | "full" | ("top" | "right" | "bottom" | "left" | "x" | "y" | "full")[] | undefined;
1030
+ prefix?: string | undefined;
1031
+ stripLevels?: number | undefined;
1032
+ }>, "many">]>, "strip">, z.objectInputType<{
1033
+ core: z.ZodOptional<z.ZodBoolean>;
1034
+ }, z.ZodUnion<[z.ZodObject<{
1035
+ typeMap: z.ZodOptional<z.ZodRecord<z.ZodEnum<["color", "dimension", "fluidDimension", "duration", "cubicBezier", "fontFamily", "fontWeight", "number", "border", "shadow", "gradient", "transition", "strokeStyle"]>, z.ZodArray<z.ZodString, "many">>>;
1036
+ directions: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["top", "right", "bottom", "left", "x", "y", "full"]>, z.ZodArray<z.ZodEnum<["top", "right", "bottom", "left", "x", "y", "full"]>, "many">]>>;
1037
+ properties: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1038
+ prefix: z.ZodOptional<z.ZodString>;
1039
+ stripLevels: z.ZodOptional<z.ZodNumber>;
1040
+ custom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1041
+ }, "strip", z.ZodTypeAny, {
1042
+ properties?: string[] | undefined;
1043
+ custom?: Record<string, string> | undefined;
1044
+ typeMap?: Partial<Record<"number" | "color" | "dimension" | "fluidDimension" | "duration" | "cubicBezier" | "fontFamily" | "fontWeight" | "border" | "shadow" | "gradient" | "transition" | "strokeStyle", string[]>> | undefined;
1045
+ directions?: "top" | "right" | "bottom" | "left" | "x" | "y" | "full" | ("top" | "right" | "bottom" | "left" | "x" | "y" | "full")[] | undefined;
1046
+ prefix?: string | undefined;
1047
+ stripLevels?: number | undefined;
1048
+ }, {
1049
+ properties?: string[] | undefined;
1050
+ custom?: Record<string, string> | undefined;
1051
+ typeMap?: Partial<Record<"number" | "color" | "dimension" | "fluidDimension" | "duration" | "cubicBezier" | "fontFamily" | "fontWeight" | "border" | "shadow" | "gradient" | "transition" | "strokeStyle", string[]>> | undefined;
1052
+ directions?: "top" | "right" | "bottom" | "left" | "x" | "y" | "full" | ("top" | "right" | "bottom" | "left" | "x" | "y" | "full")[] | undefined;
1053
+ prefix?: string | undefined;
1054
+ stripLevels?: number | undefined;
1055
+ }>, z.ZodArray<z.ZodObject<{
1056
+ typeMap: z.ZodOptional<z.ZodRecord<z.ZodEnum<["color", "dimension", "fluidDimension", "duration", "cubicBezier", "fontFamily", "fontWeight", "number", "border", "shadow", "gradient", "transition", "strokeStyle"]>, z.ZodArray<z.ZodString, "many">>>;
1057
+ directions: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["top", "right", "bottom", "left", "x", "y", "full"]>, z.ZodArray<z.ZodEnum<["top", "right", "bottom", "left", "x", "y", "full"]>, "many">]>>;
1058
+ properties: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1059
+ prefix: z.ZodOptional<z.ZodString>;
1060
+ stripLevels: z.ZodOptional<z.ZodNumber>;
1061
+ custom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1062
+ }, "strip", z.ZodTypeAny, {
1063
+ properties?: string[] | undefined;
1064
+ custom?: Record<string, string> | undefined;
1065
+ typeMap?: Partial<Record<"number" | "color" | "dimension" | "fluidDimension" | "duration" | "cubicBezier" | "fontFamily" | "fontWeight" | "border" | "shadow" | "gradient" | "transition" | "strokeStyle", string[]>> | undefined;
1066
+ directions?: "top" | "right" | "bottom" | "left" | "x" | "y" | "full" | ("top" | "right" | "bottom" | "left" | "x" | "y" | "full")[] | undefined;
1067
+ prefix?: string | undefined;
1068
+ stripLevels?: number | undefined;
1069
+ }, {
1070
+ properties?: string[] | undefined;
1071
+ custom?: Record<string, string> | undefined;
1072
+ typeMap?: Partial<Record<"number" | "color" | "dimension" | "fluidDimension" | "duration" | "cubicBezier" | "fontFamily" | "fontWeight" | "border" | "shadow" | "gradient" | "transition" | "strokeStyle", string[]>> | undefined;
1073
+ directions?: "top" | "right" | "bottom" | "left" | "x" | "y" | "full" | ("top" | "right" | "bottom" | "left" | "x" | "y" | "full")[] | undefined;
1074
+ prefix?: string | undefined;
1075
+ stripLevels?: number | undefined;
1076
+ }>, "many">]>, "strip">>>;
1077
+ components: z.ZodOptional<z.ZodObject<{
1078
+ framework: z.ZodOptional<z.ZodEnum<["react", "astro"]>>;
1079
+ installed: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1080
+ }, "strip", z.ZodTypeAny, {
1081
+ framework?: "react" | "astro" | undefined;
1082
+ installed?: string[] | undefined;
1083
+ }, {
1084
+ framework?: "react" | "astro" | undefined;
1085
+ installed?: string[] | undefined;
723
1086
  }>>;
724
- output: z.ZodObject<{
725
- directories: z.ZodObject<{
726
- tokens: z.ZodString;
727
- components: z.ZodOptional<z.ZodString>;
728
- css: z.ZodString;
729
- }, "strip", z.ZodTypeAny, {
730
- css: string;
731
- tokens: string;
732
- components?: string | undefined;
733
- }, {
734
- css: string;
735
- tokens: string;
736
- components?: string | undefined;
737
- }>;
738
- css: z.ZodObject<{
739
- separate: z.ZodBoolean;
740
- manageIndex: z.ZodOptional<z.ZodBoolean>;
741
- format: z.ZodOptional<z.ZodEnum<["css", "scss", "less"]>>;
1087
+ plugins: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1088
+ }, "strip", z.ZodTypeAny, {
1089
+ tokens: {
1090
+ source: string[];
1091
+ themes?: Record<string, string[]> | undefined;
1092
+ } | Record<string, {
1093
+ source: string[];
1094
+ themes?: Record<string, string[]> | undefined;
1095
+ }>;
1096
+ utilities?: z.objectOutputType<{
1097
+ core: z.ZodOptional<z.ZodBoolean>;
1098
+ }, z.ZodUnion<[z.ZodObject<{
1099
+ typeMap: z.ZodOptional<z.ZodRecord<z.ZodEnum<["color", "dimension", "fluidDimension", "duration", "cubicBezier", "fontFamily", "fontWeight", "number", "border", "shadow", "gradient", "transition", "strokeStyle"]>, z.ZodArray<z.ZodString, "many">>>;
1100
+ directions: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["top", "right", "bottom", "left", "x", "y", "full"]>, z.ZodArray<z.ZodEnum<["top", "right", "bottom", "left", "x", "y", "full"]>, "many">]>>;
1101
+ properties: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1102
+ prefix: z.ZodOptional<z.ZodString>;
1103
+ stripLevels: z.ZodOptional<z.ZodNumber>;
1104
+ custom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1105
+ }, "strip", z.ZodTypeAny, {
1106
+ properties?: string[] | undefined;
1107
+ custom?: Record<string, string> | undefined;
1108
+ typeMap?: Partial<Record<"number" | "color" | "dimension" | "fluidDimension" | "duration" | "cubicBezier" | "fontFamily" | "fontWeight" | "border" | "shadow" | "gradient" | "transition" | "strokeStyle", string[]>> | undefined;
1109
+ directions?: "top" | "right" | "bottom" | "left" | "x" | "y" | "full" | ("top" | "right" | "bottom" | "left" | "x" | "y" | "full")[] | undefined;
1110
+ prefix?: string | undefined;
1111
+ stripLevels?: number | undefined;
1112
+ }, {
1113
+ properties?: string[] | undefined;
1114
+ custom?: Record<string, string> | undefined;
1115
+ typeMap?: Partial<Record<"number" | "color" | "dimension" | "fluidDimension" | "duration" | "cubicBezier" | "fontFamily" | "fontWeight" | "border" | "shadow" | "gradient" | "transition" | "strokeStyle", string[]>> | undefined;
1116
+ directions?: "top" | "right" | "bottom" | "left" | "x" | "y" | "full" | ("top" | "right" | "bottom" | "left" | "x" | "y" | "full")[] | undefined;
1117
+ prefix?: string | undefined;
1118
+ stripLevels?: number | undefined;
1119
+ }>, z.ZodArray<z.ZodObject<{
1120
+ typeMap: z.ZodOptional<z.ZodRecord<z.ZodEnum<["color", "dimension", "fluidDimension", "duration", "cubicBezier", "fontFamily", "fontWeight", "number", "border", "shadow", "gradient", "transition", "strokeStyle"]>, z.ZodArray<z.ZodString, "many">>>;
1121
+ directions: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["top", "right", "bottom", "left", "x", "y", "full"]>, z.ZodArray<z.ZodEnum<["top", "right", "bottom", "left", "x", "y", "full"]>, "many">]>>;
1122
+ properties: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1123
+ prefix: z.ZodOptional<z.ZodString>;
1124
+ stripLevels: z.ZodOptional<z.ZodNumber>;
1125
+ custom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1126
+ }, "strip", z.ZodTypeAny, {
1127
+ properties?: string[] | undefined;
1128
+ custom?: Record<string, string> | undefined;
1129
+ typeMap?: Partial<Record<"number" | "color" | "dimension" | "fluidDimension" | "duration" | "cubicBezier" | "fontFamily" | "fontWeight" | "border" | "shadow" | "gradient" | "transition" | "strokeStyle", string[]>> | undefined;
1130
+ directions?: "top" | "right" | "bottom" | "left" | "x" | "y" | "full" | ("top" | "right" | "bottom" | "left" | "x" | "y" | "full")[] | undefined;
1131
+ prefix?: string | undefined;
1132
+ stripLevels?: number | undefined;
1133
+ }, {
1134
+ properties?: string[] | undefined;
1135
+ custom?: Record<string, string> | undefined;
1136
+ typeMap?: Partial<Record<"number" | "color" | "dimension" | "fluidDimension" | "duration" | "cubicBezier" | "fontFamily" | "fontWeight" | "border" | "shadow" | "gradient" | "transition" | "strokeStyle", string[]>> | undefined;
1137
+ directions?: "top" | "right" | "bottom" | "left" | "x" | "y" | "full" | ("top" | "right" | "bottom" | "left" | "x" | "y" | "full")[] | undefined;
1138
+ prefix?: string | undefined;
1139
+ stripLevels?: number | undefined;
1140
+ }>, "many">]>, "strip"> | undefined;
1141
+ output?: {
1142
+ tokens?: string | undefined;
1143
+ css?: string | undefined;
1144
+ components?: string | undefined;
1145
+ separate?: boolean | undefined;
1146
+ } | undefined;
1147
+ transforms?: {
1148
+ prefix?: string | undefined;
1149
+ fluid?: {
1150
+ min: number;
1151
+ max: number;
1152
+ } | undefined;
1153
+ colorFormat?: "hex" | "rgb" | "rgba" | "hsl" | "hsla" | "oklch" | "p3" | undefined;
1154
+ } | undefined;
1155
+ components?: {
1156
+ framework?: "react" | "astro" | undefined;
1157
+ installed?: string[] | undefined;
1158
+ } | undefined;
1159
+ plugins?: string[] | undefined;
1160
+ }, {
1161
+ tokens: {
1162
+ source: string[];
1163
+ themes?: Record<string, string[]> | undefined;
1164
+ } | Record<string, {
1165
+ source: string[];
1166
+ themes?: Record<string, string[]> | undefined;
1167
+ }>;
1168
+ utilities?: z.objectInputType<{
1169
+ core: z.ZodOptional<z.ZodBoolean>;
1170
+ }, z.ZodUnion<[z.ZodObject<{
1171
+ typeMap: z.ZodOptional<z.ZodRecord<z.ZodEnum<["color", "dimension", "fluidDimension", "duration", "cubicBezier", "fontFamily", "fontWeight", "number", "border", "shadow", "gradient", "transition", "strokeStyle"]>, z.ZodArray<z.ZodString, "many">>>;
1172
+ directions: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["top", "right", "bottom", "left", "x", "y", "full"]>, z.ZodArray<z.ZodEnum<["top", "right", "bottom", "left", "x", "y", "full"]>, "many">]>>;
1173
+ properties: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1174
+ prefix: z.ZodOptional<z.ZodString>;
1175
+ stripLevels: z.ZodOptional<z.ZodNumber>;
1176
+ custom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1177
+ }, "strip", z.ZodTypeAny, {
1178
+ properties?: string[] | undefined;
1179
+ custom?: Record<string, string> | undefined;
1180
+ typeMap?: Partial<Record<"number" | "color" | "dimension" | "fluidDimension" | "duration" | "cubicBezier" | "fontFamily" | "fontWeight" | "border" | "shadow" | "gradient" | "transition" | "strokeStyle", string[]>> | undefined;
1181
+ directions?: "top" | "right" | "bottom" | "left" | "x" | "y" | "full" | ("top" | "right" | "bottom" | "left" | "x" | "y" | "full")[] | undefined;
1182
+ prefix?: string | undefined;
1183
+ stripLevels?: number | undefined;
1184
+ }, {
1185
+ properties?: string[] | undefined;
1186
+ custom?: Record<string, string> | undefined;
1187
+ typeMap?: Partial<Record<"number" | "color" | "dimension" | "fluidDimension" | "duration" | "cubicBezier" | "fontFamily" | "fontWeight" | "border" | "shadow" | "gradient" | "transition" | "strokeStyle", string[]>> | undefined;
1188
+ directions?: "top" | "right" | "bottom" | "left" | "x" | "y" | "full" | ("top" | "right" | "bottom" | "left" | "x" | "y" | "full")[] | undefined;
1189
+ prefix?: string | undefined;
1190
+ stripLevels?: number | undefined;
1191
+ }>, z.ZodArray<z.ZodObject<{
1192
+ typeMap: z.ZodOptional<z.ZodRecord<z.ZodEnum<["color", "dimension", "fluidDimension", "duration", "cubicBezier", "fontFamily", "fontWeight", "number", "border", "shadow", "gradient", "transition", "strokeStyle"]>, z.ZodArray<z.ZodString, "many">>>;
1193
+ directions: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["top", "right", "bottom", "left", "x", "y", "full"]>, z.ZodArray<z.ZodEnum<["top", "right", "bottom", "left", "x", "y", "full"]>, "many">]>>;
1194
+ properties: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1195
+ prefix: z.ZodOptional<z.ZodString>;
1196
+ stripLevels: z.ZodOptional<z.ZodNumber>;
1197
+ custom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1198
+ }, "strip", z.ZodTypeAny, {
1199
+ properties?: string[] | undefined;
1200
+ custom?: Record<string, string> | undefined;
1201
+ typeMap?: Partial<Record<"number" | "color" | "dimension" | "fluidDimension" | "duration" | "cubicBezier" | "fontFamily" | "fontWeight" | "border" | "shadow" | "gradient" | "transition" | "strokeStyle", string[]>> | undefined;
1202
+ directions?: "top" | "right" | "bottom" | "left" | "x" | "y" | "full" | ("top" | "right" | "bottom" | "left" | "x" | "y" | "full")[] | undefined;
1203
+ prefix?: string | undefined;
1204
+ stripLevels?: number | undefined;
1205
+ }, {
1206
+ properties?: string[] | undefined;
1207
+ custom?: Record<string, string> | undefined;
1208
+ typeMap?: Partial<Record<"number" | "color" | "dimension" | "fluidDimension" | "duration" | "cubicBezier" | "fontFamily" | "fontWeight" | "border" | "shadow" | "gradient" | "transition" | "strokeStyle", string[]>> | undefined;
1209
+ directions?: "top" | "right" | "bottom" | "left" | "x" | "y" | "full" | ("top" | "right" | "bottom" | "left" | "x" | "y" | "full")[] | undefined;
1210
+ prefix?: string | undefined;
1211
+ stripLevels?: number | undefined;
1212
+ }>, "many">]>, "strip"> | undefined;
1213
+ output?: {
1214
+ tokens?: string | undefined;
1215
+ css?: string | undefined;
1216
+ components?: string | undefined;
1217
+ separate?: boolean | undefined;
1218
+ } | undefined;
1219
+ transforms?: {
1220
+ prefix?: string | undefined;
1221
+ fluid?: {
1222
+ min: number;
1223
+ max: number;
1224
+ } | undefined;
1225
+ colorFormat?: "hex" | "rgb" | "rgba" | "hsl" | "hsla" | "oklch" | "p3" | undefined;
1226
+ } | undefined;
1227
+ components?: {
1228
+ framework?: "react" | "astro" | undefined;
1229
+ installed?: string[] | undefined;
1230
+ } | undefined;
1231
+ plugins?: string[] | undefined;
1232
+ }>;
1233
+ declare const internalConfigSchema: z.ZodObject<{
1234
+ tokens: z.ZodUnion<[z.ZodObject<{
1235
+ source: z.ZodArray<z.ZodString, "many">;
1236
+ themes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString, "many">>>;
1237
+ }, "strip", z.ZodTypeAny, {
1238
+ source: string[];
1239
+ themes?: Record<string, string[]> | undefined;
1240
+ }, {
1241
+ source: string[];
1242
+ themes?: Record<string, string[]> | undefined;
1243
+ }>, z.ZodRecord<z.ZodString, z.ZodObject<{
1244
+ source: z.ZodArray<z.ZodString, "many">;
1245
+ themes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString, "many">>>;
1246
+ }, "strip", z.ZodTypeAny, {
1247
+ source: string[];
1248
+ themes?: Record<string, string[]> | undefined;
1249
+ }, {
1250
+ source: string[];
1251
+ themes?: Record<string, string[]> | undefined;
1252
+ }>>]>;
1253
+ transforms: z.ZodOptional<z.ZodObject<{
1254
+ fluid: z.ZodOptional<z.ZodObject<{
1255
+ min: z.ZodNumber;
1256
+ max: z.ZodNumber;
742
1257
  }, "strip", z.ZodTypeAny, {
743
- separate: boolean;
744
- manageIndex?: boolean | undefined;
745
- format?: "css" | "scss" | "less" | undefined;
1258
+ min: number;
1259
+ max: number;
746
1260
  }, {
747
- separate: boolean;
748
- manageIndex?: boolean | undefined;
749
- format?: "css" | "scss" | "less" | undefined;
750
- }>;
751
- }, "strip", z.ZodTypeAny, {
752
- css: {
753
- separate: boolean;
754
- manageIndex?: boolean | undefined;
755
- format?: "css" | "scss" | "less" | undefined;
756
- };
757
- directories: {
758
- css: string;
759
- tokens: string;
760
- components?: string | undefined;
761
- };
762
- }, {
763
- css: {
764
- separate: boolean;
765
- manageIndex?: boolean | undefined;
766
- format?: "css" | "scss" | "less" | undefined;
767
- };
768
- directories: {
769
- css: string;
770
- tokens: string;
771
- components?: string | undefined;
772
- };
1261
+ min: number;
1262
+ max: number;
1263
+ }>>;
1264
+ colorFormat: z.ZodOptional<z.ZodEnum<["hex", "rgb", "rgba", "hsl", "hsla", "oklch", "p3"]>>;
1265
+ prefix: z.ZodOptional<z.ZodString>;
1266
+ }, "strip", z.ZodTypeAny, {
1267
+ prefix?: string | undefined;
1268
+ fluid?: {
1269
+ min: number;
1270
+ max: number;
1271
+ } | undefined;
1272
+ colorFormat?: "hex" | "rgb" | "rgba" | "hsl" | "hsla" | "oklch" | "p3" | undefined;
1273
+ }, {
1274
+ prefix?: string | undefined;
1275
+ fluid?: {
1276
+ min: number;
1277
+ max: number;
1278
+ } | undefined;
1279
+ colorFormat?: "hex" | "rgb" | "rgba" | "hsl" | "hsla" | "oklch" | "p3" | undefined;
1280
+ }>>;
1281
+ output: z.ZodObject<{
1282
+ css: z.ZodString;
1283
+ tokens: z.ZodString;
1284
+ components: z.ZodString;
1285
+ separate: z.ZodBoolean;
1286
+ }, "strip", z.ZodTypeAny, {
1287
+ tokens: string;
1288
+ css: string;
1289
+ components: string;
1290
+ separate: boolean;
1291
+ }, {
1292
+ tokens: string;
1293
+ css: string;
1294
+ components: string;
1295
+ separate: boolean;
773
1296
  }>;
1297
+ utilities: z.ZodOptional<z.ZodObject<{
1298
+ core: z.ZodOptional<z.ZodBoolean>;
1299
+ }, "strip", z.ZodUnion<[z.ZodObject<{
1300
+ typeMap: z.ZodOptional<z.ZodRecord<z.ZodEnum<["color", "dimension", "fluidDimension", "duration", "cubicBezier", "fontFamily", "fontWeight", "number", "border", "shadow", "gradient", "transition", "strokeStyle"]>, z.ZodArray<z.ZodString, "many">>>;
1301
+ directions: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["top", "right", "bottom", "left", "x", "y", "full"]>, z.ZodArray<z.ZodEnum<["top", "right", "bottom", "left", "x", "y", "full"]>, "many">]>>;
1302
+ properties: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1303
+ prefix: z.ZodOptional<z.ZodString>;
1304
+ stripLevels: z.ZodOptional<z.ZodNumber>;
1305
+ custom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1306
+ }, "strip", z.ZodTypeAny, {
1307
+ properties?: string[] | undefined;
1308
+ custom?: Record<string, string> | undefined;
1309
+ typeMap?: Partial<Record<"number" | "color" | "dimension" | "fluidDimension" | "duration" | "cubicBezier" | "fontFamily" | "fontWeight" | "border" | "shadow" | "gradient" | "transition" | "strokeStyle", string[]>> | undefined;
1310
+ directions?: "top" | "right" | "bottom" | "left" | "x" | "y" | "full" | ("top" | "right" | "bottom" | "left" | "x" | "y" | "full")[] | undefined;
1311
+ prefix?: string | undefined;
1312
+ stripLevels?: number | undefined;
1313
+ }, {
1314
+ properties?: string[] | undefined;
1315
+ custom?: Record<string, string> | undefined;
1316
+ typeMap?: Partial<Record<"number" | "color" | "dimension" | "fluidDimension" | "duration" | "cubicBezier" | "fontFamily" | "fontWeight" | "border" | "shadow" | "gradient" | "transition" | "strokeStyle", string[]>> | undefined;
1317
+ directions?: "top" | "right" | "bottom" | "left" | "x" | "y" | "full" | ("top" | "right" | "bottom" | "left" | "x" | "y" | "full")[] | undefined;
1318
+ prefix?: string | undefined;
1319
+ stripLevels?: number | undefined;
1320
+ }>, z.ZodArray<z.ZodObject<{
1321
+ typeMap: z.ZodOptional<z.ZodRecord<z.ZodEnum<["color", "dimension", "fluidDimension", "duration", "cubicBezier", "fontFamily", "fontWeight", "number", "border", "shadow", "gradient", "transition", "strokeStyle"]>, z.ZodArray<z.ZodString, "many">>>;
1322
+ directions: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["top", "right", "bottom", "left", "x", "y", "full"]>, z.ZodArray<z.ZodEnum<["top", "right", "bottom", "left", "x", "y", "full"]>, "many">]>>;
1323
+ properties: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1324
+ prefix: z.ZodOptional<z.ZodString>;
1325
+ stripLevels: z.ZodOptional<z.ZodNumber>;
1326
+ custom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1327
+ }, "strip", z.ZodTypeAny, {
1328
+ properties?: string[] | undefined;
1329
+ custom?: Record<string, string> | undefined;
1330
+ typeMap?: Partial<Record<"number" | "color" | "dimension" | "fluidDimension" | "duration" | "cubicBezier" | "fontFamily" | "fontWeight" | "border" | "shadow" | "gradient" | "transition" | "strokeStyle", string[]>> | undefined;
1331
+ directions?: "top" | "right" | "bottom" | "left" | "x" | "y" | "full" | ("top" | "right" | "bottom" | "left" | "x" | "y" | "full")[] | undefined;
1332
+ prefix?: string | undefined;
1333
+ stripLevels?: number | undefined;
1334
+ }, {
1335
+ properties?: string[] | undefined;
1336
+ custom?: Record<string, string> | undefined;
1337
+ typeMap?: Partial<Record<"number" | "color" | "dimension" | "fluidDimension" | "duration" | "cubicBezier" | "fontFamily" | "fontWeight" | "border" | "shadow" | "gradient" | "transition" | "strokeStyle", string[]>> | undefined;
1338
+ directions?: "top" | "right" | "bottom" | "left" | "x" | "y" | "full" | ("top" | "right" | "bottom" | "left" | "x" | "y" | "full")[] | undefined;
1339
+ prefix?: string | undefined;
1340
+ stripLevels?: number | undefined;
1341
+ }>, "many">]>, z.objectOutputType<{
1342
+ core: z.ZodOptional<z.ZodBoolean>;
1343
+ }, z.ZodUnion<[z.ZodObject<{
1344
+ typeMap: z.ZodOptional<z.ZodRecord<z.ZodEnum<["color", "dimension", "fluidDimension", "duration", "cubicBezier", "fontFamily", "fontWeight", "number", "border", "shadow", "gradient", "transition", "strokeStyle"]>, z.ZodArray<z.ZodString, "many">>>;
1345
+ directions: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["top", "right", "bottom", "left", "x", "y", "full"]>, z.ZodArray<z.ZodEnum<["top", "right", "bottom", "left", "x", "y", "full"]>, "many">]>>;
1346
+ properties: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1347
+ prefix: z.ZodOptional<z.ZodString>;
1348
+ stripLevels: z.ZodOptional<z.ZodNumber>;
1349
+ custom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1350
+ }, "strip", z.ZodTypeAny, {
1351
+ properties?: string[] | undefined;
1352
+ custom?: Record<string, string> | undefined;
1353
+ typeMap?: Partial<Record<"number" | "color" | "dimension" | "fluidDimension" | "duration" | "cubicBezier" | "fontFamily" | "fontWeight" | "border" | "shadow" | "gradient" | "transition" | "strokeStyle", string[]>> | undefined;
1354
+ directions?: "top" | "right" | "bottom" | "left" | "x" | "y" | "full" | ("top" | "right" | "bottom" | "left" | "x" | "y" | "full")[] | undefined;
1355
+ prefix?: string | undefined;
1356
+ stripLevels?: number | undefined;
1357
+ }, {
1358
+ properties?: string[] | undefined;
1359
+ custom?: Record<string, string> | undefined;
1360
+ typeMap?: Partial<Record<"number" | "color" | "dimension" | "fluidDimension" | "duration" | "cubicBezier" | "fontFamily" | "fontWeight" | "border" | "shadow" | "gradient" | "transition" | "strokeStyle", string[]>> | undefined;
1361
+ directions?: "top" | "right" | "bottom" | "left" | "x" | "y" | "full" | ("top" | "right" | "bottom" | "left" | "x" | "y" | "full")[] | undefined;
1362
+ prefix?: string | undefined;
1363
+ stripLevels?: number | undefined;
1364
+ }>, z.ZodArray<z.ZodObject<{
1365
+ typeMap: z.ZodOptional<z.ZodRecord<z.ZodEnum<["color", "dimension", "fluidDimension", "duration", "cubicBezier", "fontFamily", "fontWeight", "number", "border", "shadow", "gradient", "transition", "strokeStyle"]>, z.ZodArray<z.ZodString, "many">>>;
1366
+ directions: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["top", "right", "bottom", "left", "x", "y", "full"]>, z.ZodArray<z.ZodEnum<["top", "right", "bottom", "left", "x", "y", "full"]>, "many">]>>;
1367
+ properties: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1368
+ prefix: z.ZodOptional<z.ZodString>;
1369
+ stripLevels: z.ZodOptional<z.ZodNumber>;
1370
+ custom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1371
+ }, "strip", z.ZodTypeAny, {
1372
+ properties?: string[] | undefined;
1373
+ custom?: Record<string, string> | undefined;
1374
+ typeMap?: Partial<Record<"number" | "color" | "dimension" | "fluidDimension" | "duration" | "cubicBezier" | "fontFamily" | "fontWeight" | "border" | "shadow" | "gradient" | "transition" | "strokeStyle", string[]>> | undefined;
1375
+ directions?: "top" | "right" | "bottom" | "left" | "x" | "y" | "full" | ("top" | "right" | "bottom" | "left" | "x" | "y" | "full")[] | undefined;
1376
+ prefix?: string | undefined;
1377
+ stripLevels?: number | undefined;
1378
+ }, {
1379
+ properties?: string[] | undefined;
1380
+ custom?: Record<string, string> | undefined;
1381
+ typeMap?: Partial<Record<"number" | "color" | "dimension" | "fluidDimension" | "duration" | "cubicBezier" | "fontFamily" | "fontWeight" | "border" | "shadow" | "gradient" | "transition" | "strokeStyle", string[]>> | undefined;
1382
+ directions?: "top" | "right" | "bottom" | "left" | "x" | "y" | "full" | ("top" | "right" | "bottom" | "left" | "x" | "y" | "full")[] | undefined;
1383
+ prefix?: string | undefined;
1384
+ stripLevels?: number | undefined;
1385
+ }>, "many">]>, "strip">, z.objectInputType<{
1386
+ core: z.ZodOptional<z.ZodBoolean>;
1387
+ }, z.ZodUnion<[z.ZodObject<{
1388
+ typeMap: z.ZodOptional<z.ZodRecord<z.ZodEnum<["color", "dimension", "fluidDimension", "duration", "cubicBezier", "fontFamily", "fontWeight", "number", "border", "shadow", "gradient", "transition", "strokeStyle"]>, z.ZodArray<z.ZodString, "many">>>;
1389
+ directions: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["top", "right", "bottom", "left", "x", "y", "full"]>, z.ZodArray<z.ZodEnum<["top", "right", "bottom", "left", "x", "y", "full"]>, "many">]>>;
1390
+ properties: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1391
+ prefix: z.ZodOptional<z.ZodString>;
1392
+ stripLevels: z.ZodOptional<z.ZodNumber>;
1393
+ custom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1394
+ }, "strip", z.ZodTypeAny, {
1395
+ properties?: string[] | undefined;
1396
+ custom?: Record<string, string> | undefined;
1397
+ typeMap?: Partial<Record<"number" | "color" | "dimension" | "fluidDimension" | "duration" | "cubicBezier" | "fontFamily" | "fontWeight" | "border" | "shadow" | "gradient" | "transition" | "strokeStyle", string[]>> | undefined;
1398
+ directions?: "top" | "right" | "bottom" | "left" | "x" | "y" | "full" | ("top" | "right" | "bottom" | "left" | "x" | "y" | "full")[] | undefined;
1399
+ prefix?: string | undefined;
1400
+ stripLevels?: number | undefined;
1401
+ }, {
1402
+ properties?: string[] | undefined;
1403
+ custom?: Record<string, string> | undefined;
1404
+ typeMap?: Partial<Record<"number" | "color" | "dimension" | "fluidDimension" | "duration" | "cubicBezier" | "fontFamily" | "fontWeight" | "border" | "shadow" | "gradient" | "transition" | "strokeStyle", string[]>> | undefined;
1405
+ directions?: "top" | "right" | "bottom" | "left" | "x" | "y" | "full" | ("top" | "right" | "bottom" | "left" | "x" | "y" | "full")[] | undefined;
1406
+ prefix?: string | undefined;
1407
+ stripLevels?: number | undefined;
1408
+ }>, z.ZodArray<z.ZodObject<{
1409
+ typeMap: z.ZodOptional<z.ZodRecord<z.ZodEnum<["color", "dimension", "fluidDimension", "duration", "cubicBezier", "fontFamily", "fontWeight", "number", "border", "shadow", "gradient", "transition", "strokeStyle"]>, z.ZodArray<z.ZodString, "many">>>;
1410
+ directions: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["top", "right", "bottom", "left", "x", "y", "full"]>, z.ZodArray<z.ZodEnum<["top", "right", "bottom", "left", "x", "y", "full"]>, "many">]>>;
1411
+ properties: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1412
+ prefix: z.ZodOptional<z.ZodString>;
1413
+ stripLevels: z.ZodOptional<z.ZodNumber>;
1414
+ custom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1415
+ }, "strip", z.ZodTypeAny, {
1416
+ properties?: string[] | undefined;
1417
+ custom?: Record<string, string> | undefined;
1418
+ typeMap?: Partial<Record<"number" | "color" | "dimension" | "fluidDimension" | "duration" | "cubicBezier" | "fontFamily" | "fontWeight" | "border" | "shadow" | "gradient" | "transition" | "strokeStyle", string[]>> | undefined;
1419
+ directions?: "top" | "right" | "bottom" | "left" | "x" | "y" | "full" | ("top" | "right" | "bottom" | "left" | "x" | "y" | "full")[] | undefined;
1420
+ prefix?: string | undefined;
1421
+ stripLevels?: number | undefined;
1422
+ }, {
1423
+ properties?: string[] | undefined;
1424
+ custom?: Record<string, string> | undefined;
1425
+ typeMap?: Partial<Record<"number" | "color" | "dimension" | "fluidDimension" | "duration" | "cubicBezier" | "fontFamily" | "fontWeight" | "border" | "shadow" | "gradient" | "transition" | "strokeStyle", string[]>> | undefined;
1426
+ directions?: "top" | "right" | "bottom" | "left" | "x" | "y" | "full" | ("top" | "right" | "bottom" | "left" | "x" | "y" | "full")[] | undefined;
1427
+ prefix?: string | undefined;
1428
+ stripLevels?: number | undefined;
1429
+ }>, "many">]>, "strip">>>;
1430
+ components: z.ZodOptional<z.ZodObject<{
1431
+ framework: z.ZodOptional<z.ZodEnum<["react", "astro"]>>;
1432
+ installed: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1433
+ }, "strip", z.ZodTypeAny, {
1434
+ framework?: "react" | "astro" | undefined;
1435
+ installed?: string[] | undefined;
1436
+ }, {
1437
+ framework?: "react" | "astro" | undefined;
1438
+ installed?: string[] | undefined;
1439
+ }>>;
1440
+ plugins: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
774
1441
  }, "strip", z.ZodTypeAny, {
775
1442
  tokens: {
776
1443
  source: string[];
777
- type: "starter-kit" | "custom";
778
1444
  themes?: Record<string, string[]> | undefined;
779
1445
  } | Record<string, {
780
1446
  source: string[];
781
- type: "starter-kit" | "custom";
782
1447
  themes?: Record<string, string[]> | undefined;
783
1448
  }>;
784
1449
  output: {
785
- css: {
786
- separate: boolean;
787
- manageIndex?: boolean | undefined;
788
- format?: "css" | "scss" | "less" | undefined;
789
- };
790
- directories: {
791
- css: string;
792
- tokens: string;
793
- components?: string | undefined;
794
- };
1450
+ tokens: string;
1451
+ css: string;
1452
+ components: string;
1453
+ separate: boolean;
795
1454
  };
796
- options?: {
797
- color?: "hex" | "rgb" | "rgba" | "hsl" | "hsla" | "oklch" | "p3" | undefined;
1455
+ utilities?: z.objectOutputType<{
1456
+ core: z.ZodOptional<z.ZodBoolean>;
1457
+ }, z.ZodUnion<[z.ZodObject<{
1458
+ typeMap: z.ZodOptional<z.ZodRecord<z.ZodEnum<["color", "dimension", "fluidDimension", "duration", "cubicBezier", "fontFamily", "fontWeight", "number", "border", "shadow", "gradient", "transition", "strokeStyle"]>, z.ZodArray<z.ZodString, "many">>>;
1459
+ directions: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["top", "right", "bottom", "left", "x", "y", "full"]>, z.ZodArray<z.ZodEnum<["top", "right", "bottom", "left", "x", "y", "full"]>, "many">]>>;
1460
+ properties: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1461
+ prefix: z.ZodOptional<z.ZodString>;
1462
+ stripLevels: z.ZodOptional<z.ZodNumber>;
1463
+ custom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1464
+ }, "strip", z.ZodTypeAny, {
1465
+ properties?: string[] | undefined;
1466
+ custom?: Record<string, string> | undefined;
1467
+ typeMap?: Partial<Record<"number" | "color" | "dimension" | "fluidDimension" | "duration" | "cubicBezier" | "fontFamily" | "fontWeight" | "border" | "shadow" | "gradient" | "transition" | "strokeStyle", string[]>> | undefined;
1468
+ directions?: "top" | "right" | "bottom" | "left" | "x" | "y" | "full" | ("top" | "right" | "bottom" | "left" | "x" | "y" | "full")[] | undefined;
1469
+ prefix?: string | undefined;
1470
+ stripLevels?: number | undefined;
1471
+ }, {
1472
+ properties?: string[] | undefined;
1473
+ custom?: Record<string, string> | undefined;
1474
+ typeMap?: Partial<Record<"number" | "color" | "dimension" | "fluidDimension" | "duration" | "cubicBezier" | "fontFamily" | "fontWeight" | "border" | "shadow" | "gradient" | "transition" | "strokeStyle", string[]>> | undefined;
1475
+ directions?: "top" | "right" | "bottom" | "left" | "x" | "y" | "full" | ("top" | "right" | "bottom" | "left" | "x" | "y" | "full")[] | undefined;
1476
+ prefix?: string | undefined;
1477
+ stripLevels?: number | undefined;
1478
+ }>, z.ZodArray<z.ZodObject<{
1479
+ typeMap: z.ZodOptional<z.ZodRecord<z.ZodEnum<["color", "dimension", "fluidDimension", "duration", "cubicBezier", "fontFamily", "fontWeight", "number", "border", "shadow", "gradient", "transition", "strokeStyle"]>, z.ZodArray<z.ZodString, "many">>>;
1480
+ directions: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["top", "right", "bottom", "left", "x", "y", "full"]>, z.ZodArray<z.ZodEnum<["top", "right", "bottom", "left", "x", "y", "full"]>, "many">]>>;
1481
+ properties: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1482
+ prefix: z.ZodOptional<z.ZodString>;
1483
+ stripLevels: z.ZodOptional<z.ZodNumber>;
1484
+ custom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1485
+ }, "strip", z.ZodTypeAny, {
1486
+ properties?: string[] | undefined;
1487
+ custom?: Record<string, string> | undefined;
1488
+ typeMap?: Partial<Record<"number" | "color" | "dimension" | "fluidDimension" | "duration" | "cubicBezier" | "fontFamily" | "fontWeight" | "border" | "shadow" | "gradient" | "transition" | "strokeStyle", string[]>> | undefined;
1489
+ directions?: "top" | "right" | "bottom" | "left" | "x" | "y" | "full" | ("top" | "right" | "bottom" | "left" | "x" | "y" | "full")[] | undefined;
1490
+ prefix?: string | undefined;
1491
+ stripLevels?: number | undefined;
1492
+ }, {
1493
+ properties?: string[] | undefined;
1494
+ custom?: Record<string, string> | undefined;
1495
+ typeMap?: Partial<Record<"number" | "color" | "dimension" | "fluidDimension" | "duration" | "cubicBezier" | "fontFamily" | "fontWeight" | "border" | "shadow" | "gradient" | "transition" | "strokeStyle", string[]>> | undefined;
1496
+ directions?: "top" | "right" | "bottom" | "left" | "x" | "y" | "full" | ("top" | "right" | "bottom" | "left" | "x" | "y" | "full")[] | undefined;
1497
+ prefix?: string | undefined;
1498
+ stripLevels?: number | undefined;
1499
+ }>, "many">]>, "strip"> | undefined;
1500
+ transforms?: {
1501
+ prefix?: string | undefined;
798
1502
  fluid?: {
799
1503
  min: number;
800
1504
  max: number;
801
1505
  } | undefined;
802
- prefix?: string | undefined;
1506
+ colorFormat?: "hex" | "rgb" | "rgba" | "hsl" | "hsla" | "oklch" | "p3" | undefined;
803
1507
  } | undefined;
1508
+ components?: {
1509
+ framework?: "react" | "astro" | undefined;
1510
+ installed?: string[] | undefined;
1511
+ } | undefined;
1512
+ plugins?: string[] | undefined;
804
1513
  }, {
805
1514
  tokens: {
806
1515
  source: string[];
807
- type: "starter-kit" | "custom";
808
1516
  themes?: Record<string, string[]> | undefined;
809
1517
  } | Record<string, {
810
1518
  source: string[];
811
- type: "starter-kit" | "custom";
812
1519
  themes?: Record<string, string[]> | undefined;
813
1520
  }>;
814
1521
  output: {
815
- css: {
816
- separate: boolean;
817
- manageIndex?: boolean | undefined;
818
- format?: "css" | "scss" | "less" | undefined;
819
- };
820
- directories: {
821
- css: string;
822
- tokens: string;
823
- components?: string | undefined;
824
- };
1522
+ tokens: string;
1523
+ css: string;
1524
+ components: string;
1525
+ separate: boolean;
825
1526
  };
826
- options?: {
827
- color?: "hex" | "rgb" | "rgba" | "hsl" | "hsla" | "oklch" | "p3" | undefined;
1527
+ utilities?: z.objectInputType<{
1528
+ core: z.ZodOptional<z.ZodBoolean>;
1529
+ }, z.ZodUnion<[z.ZodObject<{
1530
+ typeMap: z.ZodOptional<z.ZodRecord<z.ZodEnum<["color", "dimension", "fluidDimension", "duration", "cubicBezier", "fontFamily", "fontWeight", "number", "border", "shadow", "gradient", "transition", "strokeStyle"]>, z.ZodArray<z.ZodString, "many">>>;
1531
+ directions: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["top", "right", "bottom", "left", "x", "y", "full"]>, z.ZodArray<z.ZodEnum<["top", "right", "bottom", "left", "x", "y", "full"]>, "many">]>>;
1532
+ properties: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1533
+ prefix: z.ZodOptional<z.ZodString>;
1534
+ stripLevels: z.ZodOptional<z.ZodNumber>;
1535
+ custom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1536
+ }, "strip", z.ZodTypeAny, {
1537
+ properties?: string[] | undefined;
1538
+ custom?: Record<string, string> | undefined;
1539
+ typeMap?: Partial<Record<"number" | "color" | "dimension" | "fluidDimension" | "duration" | "cubicBezier" | "fontFamily" | "fontWeight" | "border" | "shadow" | "gradient" | "transition" | "strokeStyle", string[]>> | undefined;
1540
+ directions?: "top" | "right" | "bottom" | "left" | "x" | "y" | "full" | ("top" | "right" | "bottom" | "left" | "x" | "y" | "full")[] | undefined;
1541
+ prefix?: string | undefined;
1542
+ stripLevels?: number | undefined;
1543
+ }, {
1544
+ properties?: string[] | undefined;
1545
+ custom?: Record<string, string> | undefined;
1546
+ typeMap?: Partial<Record<"number" | "color" | "dimension" | "fluidDimension" | "duration" | "cubicBezier" | "fontFamily" | "fontWeight" | "border" | "shadow" | "gradient" | "transition" | "strokeStyle", string[]>> | undefined;
1547
+ directions?: "top" | "right" | "bottom" | "left" | "x" | "y" | "full" | ("top" | "right" | "bottom" | "left" | "x" | "y" | "full")[] | undefined;
1548
+ prefix?: string | undefined;
1549
+ stripLevels?: number | undefined;
1550
+ }>, z.ZodArray<z.ZodObject<{
1551
+ typeMap: z.ZodOptional<z.ZodRecord<z.ZodEnum<["color", "dimension", "fluidDimension", "duration", "cubicBezier", "fontFamily", "fontWeight", "number", "border", "shadow", "gradient", "transition", "strokeStyle"]>, z.ZodArray<z.ZodString, "many">>>;
1552
+ directions: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["top", "right", "bottom", "left", "x", "y", "full"]>, z.ZodArray<z.ZodEnum<["top", "right", "bottom", "left", "x", "y", "full"]>, "many">]>>;
1553
+ properties: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1554
+ prefix: z.ZodOptional<z.ZodString>;
1555
+ stripLevels: z.ZodOptional<z.ZodNumber>;
1556
+ custom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1557
+ }, "strip", z.ZodTypeAny, {
1558
+ properties?: string[] | undefined;
1559
+ custom?: Record<string, string> | undefined;
1560
+ typeMap?: Partial<Record<"number" | "color" | "dimension" | "fluidDimension" | "duration" | "cubicBezier" | "fontFamily" | "fontWeight" | "border" | "shadow" | "gradient" | "transition" | "strokeStyle", string[]>> | undefined;
1561
+ directions?: "top" | "right" | "bottom" | "left" | "x" | "y" | "full" | ("top" | "right" | "bottom" | "left" | "x" | "y" | "full")[] | undefined;
1562
+ prefix?: string | undefined;
1563
+ stripLevels?: number | undefined;
1564
+ }, {
1565
+ properties?: string[] | undefined;
1566
+ custom?: Record<string, string> | undefined;
1567
+ typeMap?: Partial<Record<"number" | "color" | "dimension" | "fluidDimension" | "duration" | "cubicBezier" | "fontFamily" | "fontWeight" | "border" | "shadow" | "gradient" | "transition" | "strokeStyle", string[]>> | undefined;
1568
+ directions?: "top" | "right" | "bottom" | "left" | "x" | "y" | "full" | ("top" | "right" | "bottom" | "left" | "x" | "y" | "full")[] | undefined;
1569
+ prefix?: string | undefined;
1570
+ stripLevels?: number | undefined;
1571
+ }>, "many">]>, "strip"> | undefined;
1572
+ transforms?: {
1573
+ prefix?: string | undefined;
828
1574
  fluid?: {
829
1575
  min: number;
830
1576
  max: number;
831
1577
  } | undefined;
1578
+ colorFormat?: "hex" | "rgb" | "rgba" | "hsl" | "hsla" | "oklch" | "p3" | undefined;
1579
+ } | undefined;
1580
+ components?: {
1581
+ framework?: "react" | "astro" | undefined;
1582
+ installed?: string[] | undefined;
1583
+ } | undefined;
1584
+ plugins?: string[] | undefined;
1585
+ }>;
1586
+ declare const configSchema: z.ZodObject<{
1587
+ tokens: z.ZodUnion<[z.ZodObject<{
1588
+ source: z.ZodArray<z.ZodString, "many">;
1589
+ themes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString, "many">>>;
1590
+ }, "strip", z.ZodTypeAny, {
1591
+ source: string[];
1592
+ themes?: Record<string, string[]> | undefined;
1593
+ }, {
1594
+ source: string[];
1595
+ themes?: Record<string, string[]> | undefined;
1596
+ }>, z.ZodRecord<z.ZodString, z.ZodObject<{
1597
+ source: z.ZodArray<z.ZodString, "many">;
1598
+ themes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString, "many">>>;
1599
+ }, "strip", z.ZodTypeAny, {
1600
+ source: string[];
1601
+ themes?: Record<string, string[]> | undefined;
1602
+ }, {
1603
+ source: string[];
1604
+ themes?: Record<string, string[]> | undefined;
1605
+ }>>]>;
1606
+ transforms: z.ZodOptional<z.ZodObject<{
1607
+ fluid: z.ZodOptional<z.ZodObject<{
1608
+ min: z.ZodNumber;
1609
+ max: z.ZodNumber;
1610
+ }, "strip", z.ZodTypeAny, {
1611
+ min: number;
1612
+ max: number;
1613
+ }, {
1614
+ min: number;
1615
+ max: number;
1616
+ }>>;
1617
+ colorFormat: z.ZodOptional<z.ZodEnum<["hex", "rgb", "rgba", "hsl", "hsla", "oklch", "p3"]>>;
1618
+ prefix: z.ZodOptional<z.ZodString>;
1619
+ }, "strip", z.ZodTypeAny, {
832
1620
  prefix?: string | undefined;
1621
+ fluid?: {
1622
+ min: number;
1623
+ max: number;
1624
+ } | undefined;
1625
+ colorFormat?: "hex" | "rgb" | "rgba" | "hsl" | "hsla" | "oklch" | "p3" | undefined;
1626
+ }, {
1627
+ prefix?: string | undefined;
1628
+ fluid?: {
1629
+ min: number;
1630
+ max: number;
1631
+ } | undefined;
1632
+ colorFormat?: "hex" | "rgb" | "rgba" | "hsl" | "hsla" | "oklch" | "p3" | undefined;
1633
+ }>>;
1634
+ output: z.ZodOptional<z.ZodObject<{
1635
+ css: z.ZodOptional<z.ZodString>;
1636
+ tokens: z.ZodOptional<z.ZodString>;
1637
+ components: z.ZodOptional<z.ZodString>;
1638
+ separate: z.ZodOptional<z.ZodBoolean>;
1639
+ }, "strip", z.ZodTypeAny, {
1640
+ tokens?: string | undefined;
1641
+ css?: string | undefined;
1642
+ components?: string | undefined;
1643
+ separate?: boolean | undefined;
1644
+ }, {
1645
+ tokens?: string | undefined;
1646
+ css?: string | undefined;
1647
+ components?: string | undefined;
1648
+ separate?: boolean | undefined;
1649
+ }>>;
1650
+ utilities: z.ZodOptional<z.ZodObject<{
1651
+ core: z.ZodOptional<z.ZodBoolean>;
1652
+ }, "strip", z.ZodUnion<[z.ZodObject<{
1653
+ typeMap: z.ZodOptional<z.ZodRecord<z.ZodEnum<["color", "dimension", "fluidDimension", "duration", "cubicBezier", "fontFamily", "fontWeight", "number", "border", "shadow", "gradient", "transition", "strokeStyle"]>, z.ZodArray<z.ZodString, "many">>>;
1654
+ directions: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["top", "right", "bottom", "left", "x", "y", "full"]>, z.ZodArray<z.ZodEnum<["top", "right", "bottom", "left", "x", "y", "full"]>, "many">]>>;
1655
+ properties: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1656
+ prefix: z.ZodOptional<z.ZodString>;
1657
+ stripLevels: z.ZodOptional<z.ZodNumber>;
1658
+ custom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1659
+ }, "strip", z.ZodTypeAny, {
1660
+ properties?: string[] | undefined;
1661
+ custom?: Record<string, string> | undefined;
1662
+ typeMap?: Partial<Record<"number" | "color" | "dimension" | "fluidDimension" | "duration" | "cubicBezier" | "fontFamily" | "fontWeight" | "border" | "shadow" | "gradient" | "transition" | "strokeStyle", string[]>> | undefined;
1663
+ directions?: "top" | "right" | "bottom" | "left" | "x" | "y" | "full" | ("top" | "right" | "bottom" | "left" | "x" | "y" | "full")[] | undefined;
1664
+ prefix?: string | undefined;
1665
+ stripLevels?: number | undefined;
1666
+ }, {
1667
+ properties?: string[] | undefined;
1668
+ custom?: Record<string, string> | undefined;
1669
+ typeMap?: Partial<Record<"number" | "color" | "dimension" | "fluidDimension" | "duration" | "cubicBezier" | "fontFamily" | "fontWeight" | "border" | "shadow" | "gradient" | "transition" | "strokeStyle", string[]>> | undefined;
1670
+ directions?: "top" | "right" | "bottom" | "left" | "x" | "y" | "full" | ("top" | "right" | "bottom" | "left" | "x" | "y" | "full")[] | undefined;
1671
+ prefix?: string | undefined;
1672
+ stripLevels?: number | undefined;
1673
+ }>, z.ZodArray<z.ZodObject<{
1674
+ typeMap: z.ZodOptional<z.ZodRecord<z.ZodEnum<["color", "dimension", "fluidDimension", "duration", "cubicBezier", "fontFamily", "fontWeight", "number", "border", "shadow", "gradient", "transition", "strokeStyle"]>, z.ZodArray<z.ZodString, "many">>>;
1675
+ directions: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["top", "right", "bottom", "left", "x", "y", "full"]>, z.ZodArray<z.ZodEnum<["top", "right", "bottom", "left", "x", "y", "full"]>, "many">]>>;
1676
+ properties: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1677
+ prefix: z.ZodOptional<z.ZodString>;
1678
+ stripLevels: z.ZodOptional<z.ZodNumber>;
1679
+ custom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1680
+ }, "strip", z.ZodTypeAny, {
1681
+ properties?: string[] | undefined;
1682
+ custom?: Record<string, string> | undefined;
1683
+ typeMap?: Partial<Record<"number" | "color" | "dimension" | "fluidDimension" | "duration" | "cubicBezier" | "fontFamily" | "fontWeight" | "border" | "shadow" | "gradient" | "transition" | "strokeStyle", string[]>> | undefined;
1684
+ directions?: "top" | "right" | "bottom" | "left" | "x" | "y" | "full" | ("top" | "right" | "bottom" | "left" | "x" | "y" | "full")[] | undefined;
1685
+ prefix?: string | undefined;
1686
+ stripLevels?: number | undefined;
1687
+ }, {
1688
+ properties?: string[] | undefined;
1689
+ custom?: Record<string, string> | undefined;
1690
+ typeMap?: Partial<Record<"number" | "color" | "dimension" | "fluidDimension" | "duration" | "cubicBezier" | "fontFamily" | "fontWeight" | "border" | "shadow" | "gradient" | "transition" | "strokeStyle", string[]>> | undefined;
1691
+ directions?: "top" | "right" | "bottom" | "left" | "x" | "y" | "full" | ("top" | "right" | "bottom" | "left" | "x" | "y" | "full")[] | undefined;
1692
+ prefix?: string | undefined;
1693
+ stripLevels?: number | undefined;
1694
+ }>, "many">]>, z.objectOutputType<{
1695
+ core: z.ZodOptional<z.ZodBoolean>;
1696
+ }, z.ZodUnion<[z.ZodObject<{
1697
+ typeMap: z.ZodOptional<z.ZodRecord<z.ZodEnum<["color", "dimension", "fluidDimension", "duration", "cubicBezier", "fontFamily", "fontWeight", "number", "border", "shadow", "gradient", "transition", "strokeStyle"]>, z.ZodArray<z.ZodString, "many">>>;
1698
+ directions: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["top", "right", "bottom", "left", "x", "y", "full"]>, z.ZodArray<z.ZodEnum<["top", "right", "bottom", "left", "x", "y", "full"]>, "many">]>>;
1699
+ properties: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1700
+ prefix: z.ZodOptional<z.ZodString>;
1701
+ stripLevels: z.ZodOptional<z.ZodNumber>;
1702
+ custom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1703
+ }, "strip", z.ZodTypeAny, {
1704
+ properties?: string[] | undefined;
1705
+ custom?: Record<string, string> | undefined;
1706
+ typeMap?: Partial<Record<"number" | "color" | "dimension" | "fluidDimension" | "duration" | "cubicBezier" | "fontFamily" | "fontWeight" | "border" | "shadow" | "gradient" | "transition" | "strokeStyle", string[]>> | undefined;
1707
+ directions?: "top" | "right" | "bottom" | "left" | "x" | "y" | "full" | ("top" | "right" | "bottom" | "left" | "x" | "y" | "full")[] | undefined;
1708
+ prefix?: string | undefined;
1709
+ stripLevels?: number | undefined;
1710
+ }, {
1711
+ properties?: string[] | undefined;
1712
+ custom?: Record<string, string> | undefined;
1713
+ typeMap?: Partial<Record<"number" | "color" | "dimension" | "fluidDimension" | "duration" | "cubicBezier" | "fontFamily" | "fontWeight" | "border" | "shadow" | "gradient" | "transition" | "strokeStyle", string[]>> | undefined;
1714
+ directions?: "top" | "right" | "bottom" | "left" | "x" | "y" | "full" | ("top" | "right" | "bottom" | "left" | "x" | "y" | "full")[] | undefined;
1715
+ prefix?: string | undefined;
1716
+ stripLevels?: number | undefined;
1717
+ }>, z.ZodArray<z.ZodObject<{
1718
+ typeMap: z.ZodOptional<z.ZodRecord<z.ZodEnum<["color", "dimension", "fluidDimension", "duration", "cubicBezier", "fontFamily", "fontWeight", "number", "border", "shadow", "gradient", "transition", "strokeStyle"]>, z.ZodArray<z.ZodString, "many">>>;
1719
+ directions: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["top", "right", "bottom", "left", "x", "y", "full"]>, z.ZodArray<z.ZodEnum<["top", "right", "bottom", "left", "x", "y", "full"]>, "many">]>>;
1720
+ properties: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1721
+ prefix: z.ZodOptional<z.ZodString>;
1722
+ stripLevels: z.ZodOptional<z.ZodNumber>;
1723
+ custom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1724
+ }, "strip", z.ZodTypeAny, {
1725
+ properties?: string[] | undefined;
1726
+ custom?: Record<string, string> | undefined;
1727
+ typeMap?: Partial<Record<"number" | "color" | "dimension" | "fluidDimension" | "duration" | "cubicBezier" | "fontFamily" | "fontWeight" | "border" | "shadow" | "gradient" | "transition" | "strokeStyle", string[]>> | undefined;
1728
+ directions?: "top" | "right" | "bottom" | "left" | "x" | "y" | "full" | ("top" | "right" | "bottom" | "left" | "x" | "y" | "full")[] | undefined;
1729
+ prefix?: string | undefined;
1730
+ stripLevels?: number | undefined;
1731
+ }, {
1732
+ properties?: string[] | undefined;
1733
+ custom?: Record<string, string> | undefined;
1734
+ typeMap?: Partial<Record<"number" | "color" | "dimension" | "fluidDimension" | "duration" | "cubicBezier" | "fontFamily" | "fontWeight" | "border" | "shadow" | "gradient" | "transition" | "strokeStyle", string[]>> | undefined;
1735
+ directions?: "top" | "right" | "bottom" | "left" | "x" | "y" | "full" | ("top" | "right" | "bottom" | "left" | "x" | "y" | "full")[] | undefined;
1736
+ prefix?: string | undefined;
1737
+ stripLevels?: number | undefined;
1738
+ }>, "many">]>, "strip">, z.objectInputType<{
1739
+ core: z.ZodOptional<z.ZodBoolean>;
1740
+ }, z.ZodUnion<[z.ZodObject<{
1741
+ typeMap: z.ZodOptional<z.ZodRecord<z.ZodEnum<["color", "dimension", "fluidDimension", "duration", "cubicBezier", "fontFamily", "fontWeight", "number", "border", "shadow", "gradient", "transition", "strokeStyle"]>, z.ZodArray<z.ZodString, "many">>>;
1742
+ directions: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["top", "right", "bottom", "left", "x", "y", "full"]>, z.ZodArray<z.ZodEnum<["top", "right", "bottom", "left", "x", "y", "full"]>, "many">]>>;
1743
+ properties: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1744
+ prefix: z.ZodOptional<z.ZodString>;
1745
+ stripLevels: z.ZodOptional<z.ZodNumber>;
1746
+ custom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1747
+ }, "strip", z.ZodTypeAny, {
1748
+ properties?: string[] | undefined;
1749
+ custom?: Record<string, string> | undefined;
1750
+ typeMap?: Partial<Record<"number" | "color" | "dimension" | "fluidDimension" | "duration" | "cubicBezier" | "fontFamily" | "fontWeight" | "border" | "shadow" | "gradient" | "transition" | "strokeStyle", string[]>> | undefined;
1751
+ directions?: "top" | "right" | "bottom" | "left" | "x" | "y" | "full" | ("top" | "right" | "bottom" | "left" | "x" | "y" | "full")[] | undefined;
1752
+ prefix?: string | undefined;
1753
+ stripLevels?: number | undefined;
1754
+ }, {
1755
+ properties?: string[] | undefined;
1756
+ custom?: Record<string, string> | undefined;
1757
+ typeMap?: Partial<Record<"number" | "color" | "dimension" | "fluidDimension" | "duration" | "cubicBezier" | "fontFamily" | "fontWeight" | "border" | "shadow" | "gradient" | "transition" | "strokeStyle", string[]>> | undefined;
1758
+ directions?: "top" | "right" | "bottom" | "left" | "x" | "y" | "full" | ("top" | "right" | "bottom" | "left" | "x" | "y" | "full")[] | undefined;
1759
+ prefix?: string | undefined;
1760
+ stripLevels?: number | undefined;
1761
+ }>, z.ZodArray<z.ZodObject<{
1762
+ typeMap: z.ZodOptional<z.ZodRecord<z.ZodEnum<["color", "dimension", "fluidDimension", "duration", "cubicBezier", "fontFamily", "fontWeight", "number", "border", "shadow", "gradient", "transition", "strokeStyle"]>, z.ZodArray<z.ZodString, "many">>>;
1763
+ directions: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["top", "right", "bottom", "left", "x", "y", "full"]>, z.ZodArray<z.ZodEnum<["top", "right", "bottom", "left", "x", "y", "full"]>, "many">]>>;
1764
+ properties: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1765
+ prefix: z.ZodOptional<z.ZodString>;
1766
+ stripLevels: z.ZodOptional<z.ZodNumber>;
1767
+ custom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1768
+ }, "strip", z.ZodTypeAny, {
1769
+ properties?: string[] | undefined;
1770
+ custom?: Record<string, string> | undefined;
1771
+ typeMap?: Partial<Record<"number" | "color" | "dimension" | "fluidDimension" | "duration" | "cubicBezier" | "fontFamily" | "fontWeight" | "border" | "shadow" | "gradient" | "transition" | "strokeStyle", string[]>> | undefined;
1772
+ directions?: "top" | "right" | "bottom" | "left" | "x" | "y" | "full" | ("top" | "right" | "bottom" | "left" | "x" | "y" | "full")[] | undefined;
1773
+ prefix?: string | undefined;
1774
+ stripLevels?: number | undefined;
1775
+ }, {
1776
+ properties?: string[] | undefined;
1777
+ custom?: Record<string, string> | undefined;
1778
+ typeMap?: Partial<Record<"number" | "color" | "dimension" | "fluidDimension" | "duration" | "cubicBezier" | "fontFamily" | "fontWeight" | "border" | "shadow" | "gradient" | "transition" | "strokeStyle", string[]>> | undefined;
1779
+ directions?: "top" | "right" | "bottom" | "left" | "x" | "y" | "full" | ("top" | "right" | "bottom" | "left" | "x" | "y" | "full")[] | undefined;
1780
+ prefix?: string | undefined;
1781
+ stripLevels?: number | undefined;
1782
+ }>, "many">]>, "strip">>>;
1783
+ components: z.ZodOptional<z.ZodObject<{
1784
+ framework: z.ZodOptional<z.ZodEnum<["react", "astro"]>>;
1785
+ installed: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1786
+ }, "strip", z.ZodTypeAny, {
1787
+ framework?: "react" | "astro" | undefined;
1788
+ installed?: string[] | undefined;
1789
+ }, {
1790
+ framework?: "react" | "astro" | undefined;
1791
+ installed?: string[] | undefined;
1792
+ }>>;
1793
+ plugins: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1794
+ }, "strip", z.ZodTypeAny, {
1795
+ tokens: {
1796
+ source: string[];
1797
+ themes?: Record<string, string[]> | undefined;
1798
+ } | Record<string, {
1799
+ source: string[];
1800
+ themes?: Record<string, string[]> | undefined;
1801
+ }>;
1802
+ utilities?: z.objectOutputType<{
1803
+ core: z.ZodOptional<z.ZodBoolean>;
1804
+ }, z.ZodUnion<[z.ZodObject<{
1805
+ typeMap: z.ZodOptional<z.ZodRecord<z.ZodEnum<["color", "dimension", "fluidDimension", "duration", "cubicBezier", "fontFamily", "fontWeight", "number", "border", "shadow", "gradient", "transition", "strokeStyle"]>, z.ZodArray<z.ZodString, "many">>>;
1806
+ directions: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["top", "right", "bottom", "left", "x", "y", "full"]>, z.ZodArray<z.ZodEnum<["top", "right", "bottom", "left", "x", "y", "full"]>, "many">]>>;
1807
+ properties: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1808
+ prefix: z.ZodOptional<z.ZodString>;
1809
+ stripLevels: z.ZodOptional<z.ZodNumber>;
1810
+ custom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1811
+ }, "strip", z.ZodTypeAny, {
1812
+ properties?: string[] | undefined;
1813
+ custom?: Record<string, string> | undefined;
1814
+ typeMap?: Partial<Record<"number" | "color" | "dimension" | "fluidDimension" | "duration" | "cubicBezier" | "fontFamily" | "fontWeight" | "border" | "shadow" | "gradient" | "transition" | "strokeStyle", string[]>> | undefined;
1815
+ directions?: "top" | "right" | "bottom" | "left" | "x" | "y" | "full" | ("top" | "right" | "bottom" | "left" | "x" | "y" | "full")[] | undefined;
1816
+ prefix?: string | undefined;
1817
+ stripLevels?: number | undefined;
1818
+ }, {
1819
+ properties?: string[] | undefined;
1820
+ custom?: Record<string, string> | undefined;
1821
+ typeMap?: Partial<Record<"number" | "color" | "dimension" | "fluidDimension" | "duration" | "cubicBezier" | "fontFamily" | "fontWeight" | "border" | "shadow" | "gradient" | "transition" | "strokeStyle", string[]>> | undefined;
1822
+ directions?: "top" | "right" | "bottom" | "left" | "x" | "y" | "full" | ("top" | "right" | "bottom" | "left" | "x" | "y" | "full")[] | undefined;
1823
+ prefix?: string | undefined;
1824
+ stripLevels?: number | undefined;
1825
+ }>, z.ZodArray<z.ZodObject<{
1826
+ typeMap: z.ZodOptional<z.ZodRecord<z.ZodEnum<["color", "dimension", "fluidDimension", "duration", "cubicBezier", "fontFamily", "fontWeight", "number", "border", "shadow", "gradient", "transition", "strokeStyle"]>, z.ZodArray<z.ZodString, "many">>>;
1827
+ directions: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["top", "right", "bottom", "left", "x", "y", "full"]>, z.ZodArray<z.ZodEnum<["top", "right", "bottom", "left", "x", "y", "full"]>, "many">]>>;
1828
+ properties: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1829
+ prefix: z.ZodOptional<z.ZodString>;
1830
+ stripLevels: z.ZodOptional<z.ZodNumber>;
1831
+ custom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1832
+ }, "strip", z.ZodTypeAny, {
1833
+ properties?: string[] | undefined;
1834
+ custom?: Record<string, string> | undefined;
1835
+ typeMap?: Partial<Record<"number" | "color" | "dimension" | "fluidDimension" | "duration" | "cubicBezier" | "fontFamily" | "fontWeight" | "border" | "shadow" | "gradient" | "transition" | "strokeStyle", string[]>> | undefined;
1836
+ directions?: "top" | "right" | "bottom" | "left" | "x" | "y" | "full" | ("top" | "right" | "bottom" | "left" | "x" | "y" | "full")[] | undefined;
1837
+ prefix?: string | undefined;
1838
+ stripLevels?: number | undefined;
1839
+ }, {
1840
+ properties?: string[] | undefined;
1841
+ custom?: Record<string, string> | undefined;
1842
+ typeMap?: Partial<Record<"number" | "color" | "dimension" | "fluidDimension" | "duration" | "cubicBezier" | "fontFamily" | "fontWeight" | "border" | "shadow" | "gradient" | "transition" | "strokeStyle", string[]>> | undefined;
1843
+ directions?: "top" | "right" | "bottom" | "left" | "x" | "y" | "full" | ("top" | "right" | "bottom" | "left" | "x" | "y" | "full")[] | undefined;
1844
+ prefix?: string | undefined;
1845
+ stripLevels?: number | undefined;
1846
+ }>, "many">]>, "strip"> | undefined;
1847
+ output?: {
1848
+ tokens?: string | undefined;
1849
+ css?: string | undefined;
1850
+ components?: string | undefined;
1851
+ separate?: boolean | undefined;
1852
+ } | undefined;
1853
+ transforms?: {
1854
+ prefix?: string | undefined;
1855
+ fluid?: {
1856
+ min: number;
1857
+ max: number;
1858
+ } | undefined;
1859
+ colorFormat?: "hex" | "rgb" | "rgba" | "hsl" | "hsla" | "oklch" | "p3" | undefined;
1860
+ } | undefined;
1861
+ components?: {
1862
+ framework?: "react" | "astro" | undefined;
1863
+ installed?: string[] | undefined;
1864
+ } | undefined;
1865
+ plugins?: string[] | undefined;
1866
+ }, {
1867
+ tokens: {
1868
+ source: string[];
1869
+ themes?: Record<string, string[]> | undefined;
1870
+ } | Record<string, {
1871
+ source: string[];
1872
+ themes?: Record<string, string[]> | undefined;
1873
+ }>;
1874
+ utilities?: z.objectInputType<{
1875
+ core: z.ZodOptional<z.ZodBoolean>;
1876
+ }, z.ZodUnion<[z.ZodObject<{
1877
+ typeMap: z.ZodOptional<z.ZodRecord<z.ZodEnum<["color", "dimension", "fluidDimension", "duration", "cubicBezier", "fontFamily", "fontWeight", "number", "border", "shadow", "gradient", "transition", "strokeStyle"]>, z.ZodArray<z.ZodString, "many">>>;
1878
+ directions: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["top", "right", "bottom", "left", "x", "y", "full"]>, z.ZodArray<z.ZodEnum<["top", "right", "bottom", "left", "x", "y", "full"]>, "many">]>>;
1879
+ properties: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1880
+ prefix: z.ZodOptional<z.ZodString>;
1881
+ stripLevels: z.ZodOptional<z.ZodNumber>;
1882
+ custom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1883
+ }, "strip", z.ZodTypeAny, {
1884
+ properties?: string[] | undefined;
1885
+ custom?: Record<string, string> | undefined;
1886
+ typeMap?: Partial<Record<"number" | "color" | "dimension" | "fluidDimension" | "duration" | "cubicBezier" | "fontFamily" | "fontWeight" | "border" | "shadow" | "gradient" | "transition" | "strokeStyle", string[]>> | undefined;
1887
+ directions?: "top" | "right" | "bottom" | "left" | "x" | "y" | "full" | ("top" | "right" | "bottom" | "left" | "x" | "y" | "full")[] | undefined;
1888
+ prefix?: string | undefined;
1889
+ stripLevels?: number | undefined;
1890
+ }, {
1891
+ properties?: string[] | undefined;
1892
+ custom?: Record<string, string> | undefined;
1893
+ typeMap?: Partial<Record<"number" | "color" | "dimension" | "fluidDimension" | "duration" | "cubicBezier" | "fontFamily" | "fontWeight" | "border" | "shadow" | "gradient" | "transition" | "strokeStyle", string[]>> | undefined;
1894
+ directions?: "top" | "right" | "bottom" | "left" | "x" | "y" | "full" | ("top" | "right" | "bottom" | "left" | "x" | "y" | "full")[] | undefined;
1895
+ prefix?: string | undefined;
1896
+ stripLevels?: number | undefined;
1897
+ }>, z.ZodArray<z.ZodObject<{
1898
+ typeMap: z.ZodOptional<z.ZodRecord<z.ZodEnum<["color", "dimension", "fluidDimension", "duration", "cubicBezier", "fontFamily", "fontWeight", "number", "border", "shadow", "gradient", "transition", "strokeStyle"]>, z.ZodArray<z.ZodString, "many">>>;
1899
+ directions: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["top", "right", "bottom", "left", "x", "y", "full"]>, z.ZodArray<z.ZodEnum<["top", "right", "bottom", "left", "x", "y", "full"]>, "many">]>>;
1900
+ properties: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1901
+ prefix: z.ZodOptional<z.ZodString>;
1902
+ stripLevels: z.ZodOptional<z.ZodNumber>;
1903
+ custom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1904
+ }, "strip", z.ZodTypeAny, {
1905
+ properties?: string[] | undefined;
1906
+ custom?: Record<string, string> | undefined;
1907
+ typeMap?: Partial<Record<"number" | "color" | "dimension" | "fluidDimension" | "duration" | "cubicBezier" | "fontFamily" | "fontWeight" | "border" | "shadow" | "gradient" | "transition" | "strokeStyle", string[]>> | undefined;
1908
+ directions?: "top" | "right" | "bottom" | "left" | "x" | "y" | "full" | ("top" | "right" | "bottom" | "left" | "x" | "y" | "full")[] | undefined;
1909
+ prefix?: string | undefined;
1910
+ stripLevels?: number | undefined;
1911
+ }, {
1912
+ properties?: string[] | undefined;
1913
+ custom?: Record<string, string> | undefined;
1914
+ typeMap?: Partial<Record<"number" | "color" | "dimension" | "fluidDimension" | "duration" | "cubicBezier" | "fontFamily" | "fontWeight" | "border" | "shadow" | "gradient" | "transition" | "strokeStyle", string[]>> | undefined;
1915
+ directions?: "top" | "right" | "bottom" | "left" | "x" | "y" | "full" | ("top" | "right" | "bottom" | "left" | "x" | "y" | "full")[] | undefined;
1916
+ prefix?: string | undefined;
1917
+ stripLevels?: number | undefined;
1918
+ }>, "many">]>, "strip"> | undefined;
1919
+ output?: {
1920
+ tokens?: string | undefined;
1921
+ css?: string | undefined;
1922
+ components?: string | undefined;
1923
+ separate?: boolean | undefined;
1924
+ } | undefined;
1925
+ transforms?: {
1926
+ prefix?: string | undefined;
1927
+ fluid?: {
1928
+ min: number;
1929
+ max: number;
1930
+ } | undefined;
1931
+ colorFormat?: "hex" | "rgb" | "rgba" | "hsl" | "hsla" | "oklch" | "p3" | undefined;
1932
+ } | undefined;
1933
+ components?: {
1934
+ framework?: "react" | "astro" | undefined;
1935
+ installed?: string[] | undefined;
833
1936
  } | undefined;
1937
+ plugins?: string[] | undefined;
834
1938
  }>;
835
1939
 
836
- export { type CSSFileOutput, type CSSGenerationResult, type CSSOutputConfig, type ColorConfig, type ColorFormat, type DirectoriesConfig, type FluidConfig, type LoadError, type LoadResult, type OptionsConfig, type OutputConfig, type ResolutionError, type ResolvedToken, type ResolvedTokens, type SugarcubeConfig, type TokenCollection, type TokenCollections, type TokenLoader, type TokenMemoryData, type TokenSource, type TokenTree, type ValidationError, addWarningBanner, configSchema, convert, flatten, generate, generationPipeline, getTokenPathsFromConfig, loadConfig, loadTreesFromConfig, loadTreesFromMemory, manageCSSIndex, normalizeTokens, parseAndValidateConfig, processTrees, resolve, tokensToCSSPipeline, validate, validateConfig, validationPipeline, writeCSSFilesToDisk };
1940
+ export { type CSSFileOutput, DEFAULT_CONFIG, DEFAULT_DESIGN_TOKENS_PATH, DEFAULT_STYLES_PATH, DEFAULT_UTILITIES_FILENAME, DEFAULT_VARIABLES_FILENAME, GLOBAL_DIR, Instrumentation, type LoadConfigResult, type OutputConfig, type PipelineResult, type ResolvedToken, type ResolvedTokens, SUGARCUBE_CONFIG_FILE, SUGARCUBE_FILE, type SugarcubeConfig, TOKENS_FILE_SUFFIX, type TokenCollection, type TokenCollections, type TokenLoader, type TokenPipelineSource, type TokenTree, UTILITIES_DIR, type UserConfig, type UserOutputConfig, type UtilitiesConfig, type UtilityDefinition, VARIABLES_FILE_SUFFIX, configSchema, discoverAllFiles, generateCSSUtilityClasses, generateCSSVariables, generateIndex, generateIndexContent, getTokenPathsFromConfig, internalConfigSchema, loadConfig, normalizeConfig, parseAndValidateConfig, shouldRegenerateIndex, tokenProcessingPipeline, userConfigSchema, validateConfig, writeCSSUtilitiesToDisk, writeCSSVariablesToDisk };