@fractal_cloud/sdk 0.1.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,1176 @@
1
+ //#region src/values/kebab_case_string.d.ts
2
+ /**
3
+ * Represents a string formatted in kebab-case.
4
+ * Kebab-case is a naming convention where words are
5
+ * concatenated together, separated by hyphens, and all
6
+ * characters are in lowercase.
7
+ *
8
+ * This type enforces the structure of a string that adheres
9
+ * to the kebab-case standard. It is typically used in contexts
10
+ * where consistent, hyphen-delimited identifiers are required.
11
+ */
12
+ type KebabCaseString$1 = {
13
+ kebabValue: string;
14
+ };
15
+ /**
16
+ * Builder interface for constructing KebabCaseString objects.
17
+ * Provides a fluent API for setting and validating Kebab case strings.
18
+ */
19
+ type KebabCaseStringBuilder = {
20
+ /**
21
+ * Sets the value of the KebabCaseString.
22
+ * @param value - The string value in Kebab case format
23
+ * @returns The builder instance for method chaining
24
+ * @throws {RangeError} If the input is not in Kebab case format
25
+ */
26
+ withValue: (value: string) => KebabCaseStringBuilder;
27
+ /**
28
+ * Resets the builder to its default state, clearing the current value.
29
+ * @returns The builder instance for method chaining
30
+ */
31
+ reset: () => KebabCaseStringBuilder;
32
+ /**
33
+ * Constructs and returns the final KebabCaseString object.
34
+ * @returns The constructed KebabCaseString object
35
+ * @throws {SyntaxError} If no value has been set before building
36
+ */
37
+ build: () => KebabCaseString$1;
38
+ };
39
+ declare namespace KebabCaseString$1 {
40
+ const getBuilder: () => KebabCaseStringBuilder;
41
+ }
42
+ //#endregion
43
+ //#region src/component/id.d.ts
44
+ /**
45
+ * Represents a unique identifier for a component, adhering to a kebab-case format.
46
+ * Provides functionality to compare two ComponentId instances for equality.
47
+ *
48
+ * @typedef {Object} ComponentId
49
+ * @property {KebabCaseString} value - The string representation of the component identifier in kebab-case format.
50
+ * @property {function(ComponentId): boolean} equals - A method to check if the given ComponentId is equal to the current instance.
51
+ */
52
+ type ComponentId = {
53
+ value: KebabCaseString$1;
54
+ equals: (other: ComponentId) => boolean;
55
+ };
56
+ /**
57
+ * Builder interface for constructing ComponentId instances.
58
+ *
59
+ * The builder follows a fluent API pattern, allowing method chaining to configure
60
+ * the component identifier before building the final instance. It validates the
61
+ * component ID upon build and throws a SyntaxError if validation fails.
62
+ *
63
+ * @example
64
+ * ```typescript
65
+ * const componentId = getComponentIdBuilder()
66
+ * .withValue(someKebabCaseString)
67
+ * .build();
68
+ * ```
69
+ */
70
+ type ComponentIdBuilder = {
71
+ /**
72
+ * Sets the kebab-case string value for the component identifier.
73
+ *
74
+ * @param {KebabCaseString} value - The kebab-case string value to use for the component ID.
75
+ * @returns {ComponentIdBuilder} The builder instance for method chaining.
76
+ */
77
+ withValue: (value: KebabCaseString$1) => ComponentIdBuilder;
78
+ /**
79
+ * Resets the builder to its default state, clearing all configured values.
80
+ *
81
+ * @returns {ComponentIdBuilder} The builder instance for method chaining.
82
+ */
83
+ reset: () => ComponentIdBuilder;
84
+ /**
85
+ * Constructs and validates the ComponentId instance.
86
+ *
87
+ * @returns {ComponentId} The constructed and validated component identifier.
88
+ * @throws {SyntaxError} If the component ID fails validation.
89
+ */
90
+ build: () => ComponentId;
91
+ };
92
+ //#endregion
93
+ //#region src/values/owner_type.d.ts
94
+ /**
95
+ * Enum representing the type of ownership for an entity.
96
+ *
97
+ * This enumeration can be used to differentiate between entities owned by individuals
98
+ * and those owned by organizations.
99
+ *
100
+ * @enum {string}
101
+ * @readonly
102
+ * @property {string} Personal - Represents ownership by an individual person.
103
+ * @property {string} Organizational - Represents ownership by an organization or group.
104
+ */
105
+ declare enum OwnerType$1 {
106
+ Personal = "Personal",
107
+ Organizational = "Organizational"
108
+ }
109
+ //#endregion
110
+ //#region src/values/owner_id.d.ts
111
+ /**
112
+ * Represents a string that adheres to the OwnerId naming convention.
113
+ * This convention capitalizes the first letter of each concatenated word without any spaces, dashes, or underscores.
114
+ */
115
+ type OwnerId$1 = {
116
+ ownerIdValue: string;
117
+ };
118
+ /**
119
+ * Builder interface for constructing OwnerId objects.
120
+ * Provides a fluent API for setting and validating uuid strings.
121
+ */
122
+ type OwnerIdBuilder = {
123
+ /**
124
+ * Sets the value of the OwnerId.
125
+ * @param value - The string value in uuid format
126
+ * @returns The builder instance for method chaining
127
+ * @throws {RangeError} If the input is not in uuid case format
128
+ */
129
+ withValue: (value: string) => OwnerIdBuilder;
130
+ /**
131
+ * Resets the builder to its default state, clearing the current value.
132
+ * @returns The builder instance for method chaining
133
+ */
134
+ reset: () => OwnerIdBuilder;
135
+ /**
136
+ * Constructs and returns the final OwnerId object.
137
+ * @returns The constructed OwnerId object
138
+ * @throws {SyntaxError} If no value has been set before building
139
+ */
140
+ build: () => OwnerId$1;
141
+ };
142
+ declare namespace OwnerId$1 {
143
+ const getBuilder: () => OwnerIdBuilder;
144
+ }
145
+ //#endregion
146
+ //#region src/bounded_context/id.d.ts
147
+ /**
148
+ * Represents the unique identifier for a bounded context.
149
+ *
150
+ * A bounded context is a distinct and cohesive domain of responsibility
151
+ * within a larger distributed system or domain, and this type
152
+ * provides the necessary information to identify it.
153
+ *
154
+ * @typedef {Object} BoundedContextId
155
+ *
156
+ * @property {OwnerType} ownerType - The type of the owner associated with the bounded context.
157
+ * @property {OwnerId} ownerId - The unique identifier of the owner.
158
+ * @property {KebabCaseString} name - The name of the bounded context, formatted as a kebab-case string.
159
+ */
160
+ type BoundedContextId = {
161
+ ownerType: OwnerType$1;
162
+ ownerId: OwnerId$1;
163
+ name: KebabCaseString$1;
164
+ equals: (other: BoundedContextId) => boolean;
165
+ toString: () => string;
166
+ };
167
+ /**
168
+ * Builder interface for constructing Id objects.
169
+ * Provides a fluent API for setting and validating bounded context identifiers.
170
+ */
171
+ type BoundedContextIdBuilder = {
172
+ /**
173
+ * Sets the owner type of the Id.
174
+ * @param ownerType - The type of the owner (e.g., Personal, Organization)
175
+ * @returns The builder instance for method chaining
176
+ */
177
+ withOwnerType: (ownerType: OwnerType$1) => BoundedContextIdBuilder;
178
+ /**
179
+ * Sets the owner ID of the Id.
180
+ * @param ownerId - The unique identifier of the owner
181
+ * @returns The builder instance for method chaining
182
+ */
183
+ withOwnerId: (ownerId: OwnerId$1) => BoundedContextIdBuilder;
184
+ /**
185
+ * Sets the name of the Id.
186
+ * @param name - The name in kebab-case format
187
+ * @returns The builder instance for method chaining
188
+ */
189
+ withName: (name: KebabCaseString$1) => BoundedContextIdBuilder;
190
+ /**
191
+ * Resets the builder to its default state, restoring all default values.
192
+ * @returns The builder instance for method chaining
193
+ */
194
+ reset: () => BoundedContextIdBuilder;
195
+ /**
196
+ * Constructs and returns the final Id object.
197
+ * @returns The constructed Id object
198
+ * @throws {SyntaxError} If the resulting Id is invalid
199
+ */
200
+ build: () => BoundedContextId;
201
+ };
202
+ //#endregion
203
+ //#region src/bounded_context/entity.d.ts
204
+ /**
205
+ * Creates a builder for constructing a BoundedContext object with a fluid API.
206
+ *
207
+ * The `getBoundedContextBuilder` function returns an object with methods that allow incremental construction
208
+ * of a `BoundedContext` instance. It ensures validation at the `build()` step and supports resets
209
+ * to default values.
210
+ *
211
+ * @function
212
+ * @returns {BoundedContextBuilder} A builder object for creating a `BoundedContext` instance.
213
+ *
214
+ * @throws {SyntaxError} Thrown when attempting to build a `BoundedContext` instance
215
+ * that is invalid, such as when required fields are not initialized.
216
+ */
217
+ /**
218
+ * Builder interface for constructing BoundedContext objects.
219
+ * Provides a fluent API for setting and validating bounded context properties.
220
+ */
221
+ type BoundedContextBuilder = {
222
+ /**
223
+ * Sets the ID of the BoundedContext.
224
+ * @param id - The unique identifier for the bounded context
225
+ * @returns The builder instance for method chaining
226
+ */
227
+ withId: (id: BoundedContextId) => BoundedContextBuilder;
228
+ /**
229
+ * Sets the display name of the BoundedContext.
230
+ * @param displayName - The human-readable name for the bounded context
231
+ * @returns The builder instance for method chaining
232
+ */
233
+ withDisplayName: (displayName: string) => BoundedContextBuilder;
234
+ /**
235
+ * Sets the description of the BoundedContext.
236
+ * @param description - An optional description providing additional details about the bounded context's purpose or scope
237
+ * @returns The builder instance for method chaining
238
+ */
239
+ withDescription: (description: string) => BoundedContextBuilder;
240
+ /**
241
+ * Resets the builder to its default state, clearing all current values.
242
+ * @returns The builder instance for method chaining
243
+ */
244
+ reset: () => BoundedContextBuilder;
245
+ /**
246
+ * Constructs and returns the final BoundedContext object.
247
+ * @returns The constructed BoundedContext object
248
+ * @throws {SyntaxError} If the bounded context is invalid (e.g., missing required fields)
249
+ */
250
+ build: () => BoundedContext$1;
251
+ };
252
+ //#endregion
253
+ //#region src/bounded_context/index.d.ts
254
+ declare namespace BoundedContext$1 {
255
+ type Id = BoundedContextId;
256
+ namespace Id {
257
+ type Builder = BoundedContextIdBuilder;
258
+ const getBuilder: () => BoundedContextIdBuilder;
259
+ }
260
+ type Builder = BoundedContextBuilder;
261
+ const getBuilder: () => BoundedContextBuilder;
262
+ }
263
+ /**
264
+ * A Bounded Context in Fractal Cloud is the mechanism that:
265
+ * - Maps infrastructure to business domains
266
+ * - Defines ownership and access boundaries
267
+ * - Enables self-service without sacrificing control
268
+ * - Allows large organizations to scale Fractal usage safely
269
+ *
270
+ * @typedef {Object} BoundedContext
271
+ * @property {BoundedContext.Id} id - A unique identifier for the bounded context.
272
+ * @property {string} displayName - A human-readable name for the bounded context.
273
+ * @property {string} [description] - An optional description providing additional details about the bounded context's purpose or scope.
274
+ */
275
+ type BoundedContext$1 = {
276
+ id: BoundedContext$1.Id;
277
+ displayName: string;
278
+ description?: string;
279
+ };
280
+ //#endregion
281
+ //#region src/values/version.d.ts
282
+ /**
283
+ * Represents a semantic version following the major.minor.patch format.
284
+ *
285
+ * This type is used to define a version number, where:
286
+ * - `major` indicates the major version, typically incremented for incompatible API changes.
287
+ * - `minor` indicates the minor version, incremented for backwards-compatible enhancements or features.
288
+ * - `patch` indicates the patch version, incremented for backwards-compatible bug fixes.
289
+ */
290
+ type Version$1 = {
291
+ major: number;
292
+ minor: number;
293
+ patch: number;
294
+ equals: (other: Version$1) => boolean;
295
+ toString: () => string;
296
+ };
297
+ /**
298
+ * Builder interface for constructing version objects.
299
+ * Provides a fluent API for setting version components.
300
+ */
301
+ type VersionBuilder = {
302
+ /**
303
+ * Sets the major version number.
304
+ * @param major - The major version number
305
+ * @returns The builder instance for method chaining
306
+ */
307
+ withMajor: (major: number) => VersionBuilder;
308
+ /**
309
+ * Sets the minor version number.
310
+ * @param minor - The minor version number
311
+ * @returns The builder instance for method chaining
312
+ */
313
+ withMinor: (minor: number) => VersionBuilder;
314
+ /**
315
+ * Sets the patch version number.
316
+ * @param patch - The patch version number
317
+ * @returns The builder instance for method chaining
318
+ */
319
+ withPatch: (patch: number) => VersionBuilder;
320
+ /**
321
+ * Resets the version to default values (0.0.0).
322
+ * @returns The builder instance for method chaining
323
+ */
324
+ reset: () => VersionBuilder;
325
+ /**
326
+ * Constructs and returns the final version object.
327
+ * @returns The constructed Version object
328
+ * @throws {SyntaxError} If the version is not initialized
329
+ */
330
+ build: () => Version$1;
331
+ };
332
+ declare namespace Version$1 {
333
+ const getBuilder: () => VersionBuilder;
334
+ }
335
+ //#endregion
336
+ //#region src/fractal/id.d.ts
337
+ /**
338
+ * Represents a unique identifier for a fractal within a system.
339
+ * The FractalId consists of a bounded context identifier, a name in kebab case,
340
+ * a version, and a string representation method.
341
+ *
342
+ * @typedef {Object} FractalId
343
+ * @property {BoundedContext.Id} boundedContextId - The identifier for the bounded context to which the fractal belongs.
344
+ * @property {KebabCaseString} name - The name of the fractal represented in kebab-case format.
345
+ * @property {Version} version - The version of the fractal.
346
+ * @property {function(): string} toString - Returns a string representation of the FractalId.
347
+ */
348
+ type FractalId = {
349
+ boundedContextId: BoundedContext$1.Id;
350
+ name: KebabCaseString$1;
351
+ version: Version$1;
352
+ toString: () => string;
353
+ };
354
+ /**
355
+ * Represents a builder for creating and configuring instances of a FractalId.
356
+ * This builder follows a fluent API design, enabling chaining of methods
357
+ * for greater flexibility and readability.
358
+ */
359
+ type FractalIdBuilder = {
360
+ /**
361
+ * Assigns a bounded context identifier to the FractalIdBuilder.
362
+ *
363
+ * @param {BoundedContext.Id} value - The unique identifier for the bounded context to be associated.
364
+ * @returns {FractalIdBuilder} The updated instance of FractalIdBuilder with the specified bounded context ID applied.
365
+ */
366
+ withBoundedContextId: (value: BoundedContext$1.Id) => FractalIdBuilder;
367
+ /**
368
+ * Assigns a name, in kebab-case format, to the current Fractal ID being constructed.
369
+ *
370
+ * @param {KebabCaseString} name - The name to associate with the Fractal ID. Must follow kebab-case formatting.
371
+ * @returns {FractalIdBuilder} The updated builder instance, allowing for method chaining.
372
+ */
373
+ withName: (name: KebabCaseString$1) => FractalIdBuilder;
374
+ /**
375
+ * Sets the version information for the FractalIdBuilder instance.
376
+ *
377
+ * @param {Version} version - The version to be associated with the Fractal ID.
378
+ * @returns {FractalIdBuilder} The updated instance of FractalIdBuilder with the specified version.
379
+ */
380
+ withVersion: (version: Version$1) => FractalIdBuilder;
381
+ /**
382
+ * Resets the state of the current FractalIdBuilder instance to its initial default configuration.
383
+ * This method is typically used to clear any modifications made and start fresh.
384
+ *
385
+ * @returns {FractalIdBuilder} The current instance of FractalIdBuilder for method chaining.
386
+ */
387
+ reset: () => FractalIdBuilder;
388
+ /**
389
+ * Generates a FractalId object based on the current state or configuration.
390
+ *
391
+ * The `build` function serves to construct and return a fully initialized
392
+ * instance of a FractalId. This function encapsulates the logic needed
393
+ * to assemble the FractalId, ensuring all necessary components are properly
394
+ * configured and validated before being returned.
395
+ *
396
+ * @returns {FractalId} A fully constructed FractalId object.
397
+ */
398
+ build: () => FractalId;
399
+ };
400
+ //#endregion
401
+ //#region src/values/pascal_case_string.d.ts
402
+ /**
403
+ * Represents a string that adheres to the PascalCase naming convention.
404
+ * This convention capitalizes the first letter of each concatenated word without any spaces, dashes, or underscores.
405
+ * Commonly used in naming conventions for programming constructs such as types, classes, or enums.
406
+ */
407
+ type PascalCaseString$1 = {
408
+ pascalValue: string;
409
+ };
410
+ /**
411
+ * Builder interface for constructing PascalCaseString objects.
412
+ * Provides a fluent API for setting and validating Pascal case strings.
413
+ */
414
+ type PascalCaseStringBuilder = {
415
+ /**
416
+ * Sets the value of the PascalCaseString.
417
+ * @param value - The string value in Pascal case format
418
+ * @returns The builder instance for method chaining
419
+ * @throws {RangeError} If the input is not in Pascal case format
420
+ */
421
+ withValue: (value: string) => PascalCaseStringBuilder;
422
+ /**
423
+ * Resets the builder to its default state, clearing the current value.
424
+ * @returns The builder instance for method chaining
425
+ */
426
+ reset: () => PascalCaseStringBuilder;
427
+ /**
428
+ * Constructs and returns the final PascalCaseString object.
429
+ * @returns The constructed PascalCaseString object
430
+ * @throws {SyntaxError} If no value has been set before building
431
+ */
432
+ build: () => PascalCaseString$1;
433
+ };
434
+ declare namespace PascalCaseString$1 {
435
+ const getBuilder: () => PascalCaseStringBuilder;
436
+ }
437
+ //#endregion
438
+ //#region src/values/infrastructure_domain.d.ts
439
+ /**
440
+ * Enumeration representing various infrastructure domains.
441
+ * These domains categorize components or services
442
+ * within an infrastructure system.
443
+ *
444
+ * @enum {string}
445
+ * @property {string} ApiManagement - Represents API management-related components.
446
+ * @property {string} NetworkAndCompute - Represents network and compute components.
447
+ * @property {string} CustomWorkloads - Represents custom workload components.
448
+ * @property {string} Messaging - Represents messaging and communication components.
449
+ * @property {string} Storage - Represents data storage components.
450
+ * @property {string} Observability - Represents observability tools and monitoring components.
451
+ * @property {string} Security - Represents security-focused components.
452
+ */
453
+ declare enum InfrastructureDomain$1 {
454
+ ApiManagement = "APIManagement",
455
+ NetworkAndCompute = "NetworkAndCompute",
456
+ CustomWorkloads = "CustomWorkloads",
457
+ Messaging = "Messaging",
458
+ Storage = "Storage",
459
+ Observability = "Observability",
460
+ Security = "Security"
461
+ }
462
+ //#endregion
463
+ //#region src/component/type.d.ts
464
+ /**
465
+ * Describes a component type within a specific infrastructure domain.
466
+ *
467
+ * This type represents a blueprint for defining components by associating
468
+ * a domain category and a specific name in PascalCase format.
469
+ *
470
+ * @typedef {Object} ComponentType
471
+ * @property {InfrastructureDomain} domain - The domain category to which the component belongs.
472
+ * @property {PascalCaseString} name - The name of the component, formatted using PascalCase.
473
+ */
474
+ type ComponentType = {
475
+ domain: InfrastructureDomain$1;
476
+ name: PascalCaseString$1;
477
+ };
478
+ /**
479
+ * A builder interface for constructing Type objects in a fluent and type-safe manner.
480
+ *
481
+ * The TypeBuilder provides methods to configure a Type's properties step-by-step,
482
+ * validate the configuration, and produce an immutable Type instance. It follows
483
+ * the builder pattern, allowing method chaining for a more readable API.
484
+ *
485
+ * @typedef {Object} ComponentTypeBuilder
486
+ */
487
+ type ComponentTypeBuilder = {
488
+ /**
489
+ * Sets the infrastructure domain for the type being built.
490
+ *
491
+ * @param {InfrastructureDomain} domain - The infrastructure domain to associate with the type.
492
+ * @returns {ComponentTypeBuilder} The builder instance for method chaining.
493
+ */
494
+ withInfrastructureDomain: (domain: InfrastructureDomain$1) => ComponentTypeBuilder;
495
+ /**
496
+ * Sets the PascalCase name for the type being built.
497
+ *
498
+ * @param {PascalCaseString} name - The PascalCase formatted name for the type.
499
+ * @returns {ComponentTypeBuilder} The builder instance for method chaining.
500
+ */
501
+ withName: (name: PascalCaseString$1) => ComponentTypeBuilder;
502
+ /**
503
+ * Resets the builder's internal state to default values.
504
+ *
505
+ * This method clears all previously configured properties and returns
506
+ * the builder to its initial state, allowing it to be reused for
507
+ * constructing a new Type instance.
508
+ *
509
+ * @returns {ComponentTypeBuilder} The builder instance for method chaining.
510
+ */
511
+ reset: () => ComponentTypeBuilder;
512
+ /**
513
+ * Validates and constructs the final Type object.
514
+ *
515
+ * This method performs validation on the configured properties to ensure
516
+ * the Type is valid (domain must be initialized and name must be in PascalCase).
517
+ * If validation fails, a SyntaxError is thrown.
518
+ *
519
+ * @returns {ComponentType} An immutable Type instance with the configured properties.
520
+ * @throws {SyntaxError} If the type configuration is invalid.
521
+ */
522
+ build: () => ComponentType;
523
+ };
524
+ //#endregion
525
+ //#region src/values/generic_parameters.d.ts
526
+ /**
527
+ * Represents a type definition for Parameters, which provides methods to retrieve required
528
+ * and optional fields by their corresponding names.
529
+ *
530
+ * @typedef {Object} GenericParameters
531
+ *
532
+ * @property {Function} getRequiredFieldByName - Retrieves a required field by its name.
533
+ * Expects a string as input representing the field name and returns a record where keys
534
+ * are of type string and values are objects.
535
+ *
536
+ * @property {Function} getOptionalFieldByName - Retrieves an optional field by its name.
537
+ * Expects a string as input representing the field name and returns a record where keys
538
+ * are of type string and values are objects.
539
+ */
540
+ type GenericParameters = {
541
+ getRequiredFieldByName: (name: string) => Record<string, object>;
542
+ getOptionalFieldByName: (name: string) => Record<string, object>;
543
+ getAllFieldNames: () => string[];
544
+ push: (key: string, value: Record<string, object>) => void;
545
+ remove: (key: string) => void;
546
+ toMap: () => Record<string, object>;
547
+ };
548
+ //#endregion
549
+ //#region src/component/link.d.ts
550
+ /**
551
+ * Represents a link object with an identifier, type, and associated parameters.
552
+ *
553
+ * @typedef {Object} ComponentLink
554
+ * @property {ComponentId} id - The unique identifier for the link.
555
+ * @property {ComponentType} type - The type of the link, indicating its category or purpose.
556
+ * @property {GenericParameters} parameters - A dictionary of configuration parameters,
557
+ * where keys are setting names and values are their corresponding configuration objects.
558
+ */
559
+ type ComponentLink = {
560
+ id: ComponentId;
561
+ type: ComponentType;
562
+ parameters: GenericParameters;
563
+ };
564
+ /**
565
+ * A builder interface for constructing ComponentLink objects in a fluent and type-safe manner.
566
+ *
567
+ * The LinkBuilder provides methods to configure a ComponentLink's properties step-by-step,
568
+ * validate the configuration, and produce an immutable ComponentLink instance. It follows
569
+ * the builder pattern, allowing method chaining for a more readable API.
570
+ *
571
+ * @typedef {Object} LinkBuilder
572
+ */
573
+ type LinkBuilder = {
574
+ /**
575
+ * Sets the identifier for the link being built.
576
+ *
577
+ * @param {ComponentId} id - The unique identifier to associate with the link.
578
+ * @returns {LinkBuilder} The builder instance for method chaining.
579
+ */
580
+ withId: (id: ComponentId) => LinkBuilder;
581
+ /**
582
+ * Sets the type for the link being built.
583
+ *
584
+ * @param {ComponentType} type - The type to associate with the link.
585
+ * @returns {LinkBuilder} The builder instance for method chaining.
586
+ */
587
+ withType: (type: ComponentType) => LinkBuilder;
588
+ /**
589
+ * Sets the parameters for the link being built.
590
+ *
591
+ * @param {GenericParameters} parameters - The configuration parameters to associate with the link.
592
+ * @returns {LinkBuilder} The builder instance for method chaining.
593
+ */
594
+ withParameters: (parameters: GenericParameters) => LinkBuilder;
595
+ /**
596
+ * Resets the builder's internal state to default values.
597
+ *
598
+ * This method clears all previously configured properties and returns
599
+ * the builder to its initial state, allowing it to be reused for
600
+ * constructing a new ComponentLink instance.
601
+ *
602
+ * @returns {LinkBuilder} The builder instance for method chaining.
603
+ */
604
+ reset: () => LinkBuilder;
605
+ /**
606
+ * Validates and constructs the final ComponentLink object.
607
+ *
608
+ * This method performs validation on the configured properties to ensure
609
+ * the ComponentLink is valid (id must be initialized and type must be valid).
610
+ * If validation fails, a SyntaxError is thrown.
611
+ *
612
+ * @returns {ComponentLink} An immutable ComponentLink instance with the configured properties.
613
+ * @throws {SyntaxError} If the link configuration is invalid.
614
+ */
615
+ build: () => ComponentLink;
616
+ };
617
+ //#endregion
618
+ //#region src/component/dependency.d.ts
619
+ /**
620
+ * Represents a dependency with a specified type.
621
+ *
622
+ * This type can be used to define a specific dependency structure
623
+ * where the `type` property indicates the category or classification
624
+ * of the dependency.
625
+ *
626
+ * @typedef {Object} ComponentDependency
627
+ * @property {Type} type - Specifies the type of the dependency.
628
+ */
629
+ type ComponentDependency = {
630
+ type: ComponentType;
631
+ };
632
+ //#endregion
633
+ //#region src/component/entity.d.ts
634
+ /**
635
+ * Represents an object structure where the `value` field contains
636
+ * a record of key-value pairs. The keys are strings, and the values
637
+ * are objects.
638
+ *
639
+ * This type is typically used to structure output data and ensure
640
+ * a consistent schema in which string keys map to object values.
641
+ *
642
+ * Example usage of this type might involve representing data returned
643
+ * from a service or API, where the output follows a defined format.
644
+ */
645
+ type ComponentOutputFields = {
646
+ value: Record<string, object>;
647
+ };
648
+ /**
649
+ * A builder interface for constructing Component objects in a fluent and type-safe manner.
650
+ *
651
+ * The ComponentBuilder provides methods to configure a Component's properties step-by-step,
652
+ * validate the configuration, and produce an immutable Component instance. It follows
653
+ * the builder pattern, allowing method chaining for a more readable API.
654
+ *
655
+ * @typedef {Object} ComponentBuilder
656
+ */
657
+ type ComponentBuilder = {
658
+ /**
659
+ * Sets the type for the component being built.
660
+ *
661
+ * @param {ComponentType} type - The type to associate with the component.
662
+ * @returns {ComponentBuilder} The builder instance for method chaining.
663
+ */
664
+ withType: (type: ComponentType) => ComponentBuilder;
665
+ /**
666
+ * Sets the identifier for the component being built.
667
+ *
668
+ * @param {ComponentId} id - The unique identifier to associate with the component.
669
+ * @returns {ComponentBuilder} The builder instance for method chaining.
670
+ */
671
+ withId: (id: ComponentId) => ComponentBuilder;
672
+ /**
673
+ * Sets the version for the component being built.
674
+ *
675
+ * @param {Version} version - The version to associate with the component.
676
+ * @returns {ComponentBuilder} The builder instance for method chaining.
677
+ */
678
+ withVersion: (version: Version$1) => ComponentBuilder;
679
+ /**
680
+ * Sets the display name for the component being built.
681
+ *
682
+ * @param {string} displayName - The display name to associate with the component.
683
+ * @returns {ComponentBuilder} The builder instance for method chaining.
684
+ */
685
+ withDisplayName: (displayName: string) => ComponentBuilder;
686
+ /**
687
+ * Sets the description for the component being built.
688
+ *
689
+ * @param {string} description - The description to associate with the component.
690
+ * @returns {ComponentBuilder} The builder instance for method chaining.
691
+ */
692
+ withDescription: (description: string) => ComponentBuilder;
693
+ /**
694
+ * Sets the parameters for the component being built.
695
+ *
696
+ * @param {GenericParameters} parameters - The parameters to associate with the component.
697
+ * @returns {ComponentBuilder} The builder instance for method chaining.
698
+ */
699
+ withParameters: (parameters: GenericParameters) => ComponentBuilder;
700
+ /**
701
+ * Sets the links for the component being built.
702
+ *
703
+ * @param {ComponentLink[]} links - The links to associate with the component.
704
+ * @returns {ComponentBuilder} The builder instance for method chaining.
705
+ */
706
+ withLinks: (links: ComponentLink[]) => ComponentBuilder;
707
+ /**
708
+ * Sets the dependencies for the component being built.
709
+ *
710
+ * @param {Dependency[]} dependencies - The dependencies to associate with the component.
711
+ * @returns {ComponentBuilder} The builder instance for method chaining.
712
+ */
713
+ withDependencies: (dependencies: ComponentDependency[]) => ComponentBuilder;
714
+ /**
715
+ * Resets the builder's internal state to default values.
716
+ *
717
+ * This method clears all previously configured properties and returns
718
+ * the builder to its initial state, allowing it to be reused for
719
+ * constructing a new Component instance.
720
+ *
721
+ * @returns {ComponentBuilder} The builder instance for method chaining.
722
+ */
723
+ reset: () => ComponentBuilder;
724
+ /**
725
+ * Validates and constructs the final Component object.
726
+ *
727
+ * This method performs validation on the configured properties to ensure
728
+ * the Component is valid (id, type, version, and display name must be valid).
729
+ * If validation fails, a SyntaxError is thrown.
730
+ *
731
+ * @returns {Component} An immutable Component instance with the configured properties.
732
+ * @throws {SyntaxError} If the component configuration is invalid.
733
+ */
734
+ build: () => Component;
735
+ };
736
+ //#endregion
737
+ //#region src/component/index.d.ts
738
+ declare namespace Component {
739
+ type Type = ComponentType;
740
+ namespace Type {
741
+ type Builder = ComponentTypeBuilder;
742
+ const getBuilder: () => ComponentTypeBuilder;
743
+ }
744
+ type Parameters = GenericParameters;
745
+ namespace Parameters {
746
+ const getInstance: () => GenericParameters;
747
+ }
748
+ type Link = ComponentLink;
749
+ namespace Link {
750
+ type Builder = LinkBuilder;
751
+ type Parameters = GenericParameters;
752
+ namespace Parameters {
753
+ const getInstance: () => GenericParameters;
754
+ }
755
+ const getBuilder: () => LinkBuilder;
756
+ }
757
+ type Id = ComponentId;
758
+ namespace Id {
759
+ type Builder = ComponentIdBuilder;
760
+ const getBuilder: () => ComponentIdBuilder;
761
+ }
762
+ type OutputFields = ComponentOutputFields;
763
+ type Builder = ComponentBuilder;
764
+ type Dependency = ComponentDependency;
765
+ const getBuilder: () => ComponentBuilder;
766
+ }
767
+ type Component = {
768
+ type: Component.Type;
769
+ id: Component.Id;
770
+ version: Version$1;
771
+ displayName: string;
772
+ description: string;
773
+ parameters: Component.Parameters;
774
+ outputFields: Component.OutputFields;
775
+ links: Component.Link[];
776
+ dependencies: Component.Dependency[];
777
+ };
778
+ //#endregion
779
+ //#region src/values/service_delivery_model.d.ts
780
+ /**
781
+ * Enum representing the different types of service delivery models in cloud computing.
782
+ *
783
+ * @enum {string}
784
+ * @readonly
785
+ * @property {string} IaaS Infrastructure as a Service - A model that provides virtualized computing infrastructure over the internet.
786
+ * @property {string} CaaS Container as a Service - A model focused on deploying and managing containers as a service.
787
+ * @property {string} PaaS Platform as a Service - A cloud model that provides a platform allowing users to develop, run, and manage applications without dealing with the underlying infrastructure.
788
+ * @property {string} FaaS Function as a Service - A serverless model where cloud functions are executed in response to events.
789
+ * @property {string} SaaS Software as a Service - A model in which software applications are delivered over the internet on a subscription basis.
790
+ */
791
+ declare enum ServiceDeliveryModel$1 {
792
+ IaaS = "IaaS",
793
+ CaaS = "CaaS",
794
+ PaaS = "PaaS",
795
+ FaaS = "FaaS",
796
+ SaaS = "SaaS"
797
+ }
798
+ //#endregion
799
+ //#region src/fractal/component/type.d.ts
800
+ /**
801
+ * Represents a blueprint component type that extends the base `Component.Type`
802
+ * with additional properties and modifications. This type omits the `equals`
803
+ * method from `Component.Type` and introduces its own implementation, along
804
+ * with a custom `serviceDeliveryModel` property.
805
+ *
806
+ * BlueprintComponentType provides a way to define a component's blueprint with
807
+ * a specific service delivery model while also enabling object equality
808
+ * comparisons customized to the requirements of blueprint components.
809
+ *
810
+ * Properties:
811
+ * - Inherits all properties from `Component.Type` except for the `equals` method.
812
+ * - Adds a `serviceDeliveryModel` property to specify how the service is delivered.
813
+ * - Reimplements the `equals` method for comparing two blueprint component types.
814
+ */
815
+ type BlueprintComponentType = Omit<Component.Type, 'equals'> & {
816
+ serviceDeliveryModel: ServiceDeliveryModel$1;
817
+ };
818
+ /**
819
+ * A builder interface for constructing Type objects in a fluent and type-safe manner.
820
+ *
821
+ * The TypeBuilder provides methods to configure a Type's properties step-by-step,
822
+ * validate the configuration, and produce an immutable Type instance. It follows
823
+ * the builder pattern, allowing method chaining for a more readable API.
824
+ *
825
+ * @typedef {Object} BlueprintComponentTypeBuilder
826
+ */
827
+ type BlueprintComponentTypeBuilder = {
828
+ /**
829
+ * Sets the infrastructure domain for the type being built.
830
+ *
831
+ * @param {InfrastructureDomain} domain - The infrastructure domain to associate with the type.
832
+ * @returns {BlueprintComponentTypeBuilder} The builder instance for method chaining.
833
+ */
834
+ withInfrastructureDomain: (domain: InfrastructureDomain$1) => BlueprintComponentTypeBuilder;
835
+ /**
836
+ * Configures the builder to use the specified service delivery model.
837
+ *
838
+ * @param {ServiceDeliveryModel} serviceDeliveryModel - The service delivery model to be applied during the building process.
839
+ * @returns {BlueprintComponentTypeBuilder} The builder instance for chaining additional configurations.
840
+ */
841
+ withServiceDeliveryModel: (serviceDeliveryModel: ServiceDeliveryModel$1) => BlueprintComponentTypeBuilder;
842
+ /**
843
+ * Sets the PascalCase name for the type being built.
844
+ *
845
+ * @param {PascalCaseString} name - The PascalCase formatted name for the type.
846
+ * @returns {BlueprintComponentTypeBuilder} The builder instance for method chaining.
847
+ */
848
+ withName: (name: PascalCaseString$1) => BlueprintComponentTypeBuilder;
849
+ /**
850
+ * Resets the builder's internal state to default values.
851
+ *
852
+ * This method clears all previously configured properties and returns
853
+ * the builder to its initial state, allowing it to be reused for
854
+ * constructing a new Type instance.
855
+ *
856
+ * @returns {BlueprintComponentTypeBuilder} The builder instance for method chaining.
857
+ */
858
+ reset: () => BlueprintComponentTypeBuilder;
859
+ /**
860
+ * Validates and constructs the final Type object.
861
+ *
862
+ * This method performs validation on the configured properties to ensure
863
+ * the Type is valid (domain must be initialized and name must be in PascalCase).
864
+ * If validation fails, a SyntaxError is thrown.
865
+ *
866
+ * @returns {BlueprintComponentType} An immutable Type instance with the configured properties.
867
+ * @throws {SyntaxError} If the type configuration is invalid.
868
+ */
869
+ build: () => BlueprintComponentType;
870
+ };
871
+ //#endregion
872
+ //#region src/fractal/component/dependency.d.ts
873
+ /**
874
+ * Represents a dependency for a blueprint component.
875
+ *
876
+ * This type defines the structure to describe a single dependency within a blueprint system for component-based architectures.
877
+ *
878
+ * Properties:
879
+ * - `id`: The unique identifier of the component that is required as a dependency.
880
+ */
881
+ type BlueprintComponentDependency = {
882
+ id: Component.Id;
883
+ };
884
+ //#endregion
885
+ //#region src/fractal/component/entity.d.ts
886
+ /**
887
+ */
888
+ type BlueprintComponentBuilder = {
889
+ /**
890
+ * Sets the type for the component being built.
891
+ *
892
+ * @param {BlueprintComponentType} type - The type to associate with the component.
893
+ * @returns {BlueprintComponentBuilder} The builder instance for method chaining.
894
+ */
895
+ withType: (type: BlueprintComponentType) => BlueprintComponentBuilder;
896
+ /**
897
+ * Sets the identifier for the component being built.
898
+ *
899
+ * @param {Component.Id} id - The unique identifier to associate with the component.
900
+ * @returns {BlueprintComponentBuilder} The builder instance for method chaining.
901
+ */
902
+ withId: (id: Component.Id) => BlueprintComponentBuilder;
903
+ /**
904
+ * Sets the version for the component being built.
905
+ *
906
+ * @param {Version} version - The version to associate with the component.
907
+ * @returns {BlueprintComponentBuilder} The builder instance for method chaining.
908
+ */
909
+ withVersion: (version: Version$1) => BlueprintComponentBuilder;
910
+ /**
911
+ * Sets the display name for the component being built.
912
+ *
913
+ * @param {string} displayName - The display name to associate with the component.
914
+ * @returns {BlueprintComponentBuilder} The builder instance for method chaining.
915
+ */
916
+ withDisplayName: (displayName: string) => BlueprintComponentBuilder;
917
+ /**
918
+ * Sets the description for the component being built.
919
+ *
920
+ * @param {string} description - The description to associate with the component.
921
+ * @returns {BlueprintComponentBuilder} The builder instance for method chaining.
922
+ */
923
+ withDescription: (description: string) => BlueprintComponentBuilder;
924
+ /**
925
+ * Sets the parameters for the component being built.
926
+ *
927
+ * @param {GenericParameters} parameters - The parameters to associate with the component.
928
+ * @returns {BlueprintComponentBuilder} The builder instance for method chaining.
929
+ */
930
+ withParameters: (parameters: GenericParameters) => BlueprintComponentBuilder;
931
+ /**
932
+ * Sets the links for the component being built.
933
+ *
934
+ * @param {Component.Link[]} links - The links to associate with the component.
935
+ * @returns {BlueprintComponentBuilder} The builder instance for method chaining.
936
+ */
937
+ withLinks: (links: Component.Link[]) => BlueprintComponentBuilder;
938
+ /**
939
+ * Adds a list of dependencies to the BlueprintComponentBuilder.
940
+ *
941
+ * This function allows specifying dependencies that the component requires
942
+ * to function correctly. Each dependency is passed as a
943
+ * BlueprintComponentDependency object, which provides the necessary
944
+ * details of the dependency.
945
+ *
946
+ * @param {BlueprintComponentDependency[]} dependencies - An array of objects
947
+ * representing the component's dependencies.
948
+ * @returns {BlueprintComponentBuilder} The updated instance of the
949
+ * BlueprintComponentBuilder with the specified dependencies included.
950
+ */
951
+ withDependencies: (dependencies: BlueprintComponentDependency[]) => BlueprintComponentBuilder;
952
+ /**
953
+ * Adds or updates the `isLocked` attribute for the blueprint component.
954
+ *
955
+ * @param {boolean} value - Determines whether the component should be marked as locked.
956
+ * Pass `true` to lock the component or `false` to unlock it.
957
+ * @returns {BlueprintComponentBuilder} The instance of the blueprint component builder for method chaining.
958
+ */
959
+ withIsLocked: (value: boolean) => BlueprintComponentBuilder;
960
+ /**
961
+ * Configures the builder to recreate the component upon encountering a failure.
962
+ *
963
+ * @param {boolean} value - A boolean flag indicating whether the component should be recreated on failure.
964
+ * If true, the builder will regenerate the component when a failure occurs.
965
+ * @returns {BlueprintComponentBuilder} The builder instance for method chaining.
966
+ */
967
+ withRecreateOnFailure: (value: boolean) => BlueprintComponentBuilder;
968
+ /**
969
+ * Resets the builder's internal state to default values.
970
+ *
971
+ * This method clears all previously configured properties and returns
972
+ * the builder to its initial state, allowing it to be reused for
973
+ * constructing a new Component instance.
974
+ *
975
+ * @returns {BlueprintComponentBuilder} The builder instance for method chaining.
976
+ */
977
+ reset: () => BlueprintComponentBuilder;
978
+ /**
979
+ * Validates and constructs the final Component object.
980
+ *
981
+ * This method performs validation on the configured properties to ensure
982
+ * the Component is valid (id, type, version, and display name must be valid).
983
+ * If validation fails, a SyntaxError is thrown.
984
+ *
985
+ * @returns {BlueprintComponent} An immutable Component instance with the configured properties.
986
+ * @throws {SyntaxError} If the component configuration is invalid.
987
+ */
988
+ build: () => BlueprintComponent;
989
+ };
990
+ //#endregion
991
+ //#region src/fractal/component/index.d.ts
992
+ declare namespace BlueprintComponent {
993
+ type Type = BlueprintComponentType;
994
+ namespace Type {
995
+ type Builder = BlueprintComponentTypeBuilder;
996
+ const getBuilder: () => BlueprintComponentTypeBuilder;
997
+ }
998
+ type Id = Component.Id;
999
+ namespace Id {
1000
+ type Builder = Component.Id.Builder;
1001
+ const getBuilder: () => ComponentIdBuilder;
1002
+ }
1003
+ type Builder = BlueprintComponentBuilder;
1004
+ type Dependency = BlueprintComponentDependency;
1005
+ const getBuilder: () => BlueprintComponentBuilder;
1006
+ }
1007
+ type BlueprintComponent = Omit<Component, 'type' | 'dependencies'> & {
1008
+ type: BlueprintComponent.Type;
1009
+ dependencies: BlueprintComponent.Dependency[];
1010
+ isLocked: boolean;
1011
+ recreateOnFailure: boolean;
1012
+ };
1013
+ //#endregion
1014
+ //#region src/values/service_account_id.d.ts
1015
+ /**
1016
+ * Represents a unique identifier for a service account.
1017
+ *
1018
+ * This type is used to encapsulate the value of a service account's unique ID as a string.
1019
+ */
1020
+ type ServiceAccountId$1 = {
1021
+ serviceAccountIdValue: string;
1022
+ };
1023
+ /**
1024
+ * A builder type to facilitate the construction of a `ServiceAccountId` object.
1025
+ * Provides methods for setting values, resetting the builder's state, and creating the final `ServiceAccountId`.
1026
+ */
1027
+ type ServiceAccountIdBuilder = {
1028
+ /**
1029
+ * Sets a value to the builder for constructing a ServiceAccountId.
1030
+ *
1031
+ * @param {string} value - The value to be assigned to the builder.
1032
+ * @returns {ServiceAccountIdBuilder} The instance of the builder with the specified value set.
1033
+ */
1034
+ withValue: (value: string) => ServiceAccountIdBuilder;
1035
+ /**
1036
+ * Resets the current state of the ServiceAccountIdBuilder instance, clearing any previously set values
1037
+ * and returning the builder to its initial state.
1038
+ *
1039
+ * @returns {ServiceAccountIdBuilder} The current instance of the ServiceAccountIdBuilder for method chaining.
1040
+ */
1041
+ reset: () => ServiceAccountIdBuilder;
1042
+ /**
1043
+ * A method that initiates the creation or retrieval of a `ServiceAccountId`.
1044
+ *
1045
+ * @function
1046
+ * @returns {ServiceAccountId} - The generated or fetched service account identifier.
1047
+ */
1048
+ build: () => ServiceAccountId$1;
1049
+ };
1050
+ declare namespace ServiceAccountId$1 {
1051
+ const getBuilder: () => ServiceAccountIdBuilder;
1052
+ }
1053
+ //#endregion
1054
+ //#region src/values/service_account_credentials.d.ts
1055
+ /**
1056
+ * Represents the credentials used for a service account.
1057
+ * This includes the service account's unique identifier and secret key.
1058
+ * The credentials are typically used for authenticating and authorizing
1059
+ * access to services or APIs on behalf of the service account.
1060
+ */
1061
+ type ServiceAccountCredentials$1 = {
1062
+ id: ServiceAccountId$1;
1063
+ secret: string;
1064
+ };
1065
+ /**
1066
+ * Represents a builder for creating service account credentials.
1067
+ */
1068
+ type ServiceAccountCredentialsBuilder = {
1069
+ /**
1070
+ * Assigns a specific `ServiceAccountId` to the builder object.
1071
+ *
1072
+ * @param {ServiceAccountId} value - The unique identifier for the service account.
1073
+ * @returns {ServiceAccountCredentialsBuilder} The updated builder instance for chaining.
1074
+ */
1075
+ withId: (value: ServiceAccountId$1) => ServiceAccountCredentialsBuilder;
1076
+ /**
1077
+ * Attaches a secret to the service account credentials builder.
1078
+ *
1079
+ * This method allows you to provide a secret value that will be associated with the
1080
+ * service account credentials being constructed. The secret is typically used
1081
+ * for authentication purposes or secure communication with external services.
1082
+ *
1083
+ * @param {string} value - The secret value to be attached.
1084
+ * @returns {ServiceAccountCredentialsBuilder} The updated instance of the service account credentials builder.
1085
+ */
1086
+ withSecret: (value: string) => ServiceAccountCredentialsBuilder;
1087
+ /**
1088
+ * Resets the current state of the ServiceAccountCredentialsBuilder instance,
1089
+ * clearing any previously set data and restoring it to its initial default state.
1090
+ *
1091
+ * @returns {ServiceAccountCredentialsBuilder} The current instance of the builder for method chaining.
1092
+ */
1093
+ reset: () => ServiceAccountCredentialsBuilder;
1094
+ /**
1095
+ * A function that constructs and returns an instance of ServiceAccountCredentials.
1096
+ * Typically used to build credentials required for authenticating or authorizing
1097
+ * service account interactions.
1098
+ *
1099
+ * @function
1100
+ * @returns {ServiceAccountCredentials} The generated service account credentials.
1101
+ */
1102
+ build: () => ServiceAccountCredentials$1;
1103
+ };
1104
+ declare namespace ServiceAccountCredentials$1 {
1105
+ const getBuilder: () => ServiceAccountCredentialsBuilder;
1106
+ }
1107
+ //#endregion
1108
+ //#region src/fractal/entity.d.ts
1109
+ type FractalBuilder = {
1110
+ withId: (value: FractalId) => FractalBuilder;
1111
+ withIsPrivate: (value: boolean) => FractalBuilder;
1112
+ withDescription: (value: string) => FractalBuilder;
1113
+ withComponents: (value: BlueprintComponent[]) => FractalBuilder;
1114
+ withComponent: (value: BlueprintComponent) => FractalBuilder;
1115
+ reset: () => FractalBuilder;
1116
+ build: () => Fractal$1;
1117
+ };
1118
+ //#endregion
1119
+ //#region src/fractal/index.d.ts
1120
+ declare namespace Fractal$1 {
1121
+ type Id = FractalId;
1122
+ namespace Id {
1123
+ type Builder = FractalIdBuilder;
1124
+ const getBuilder: () => FractalIdBuilder;
1125
+ }
1126
+ type Component = BlueprintComponent;
1127
+ namespace Component {
1128
+ type Builder = BlueprintComponentBuilder;
1129
+ const getBuilder: () => BlueprintComponentBuilder;
1130
+ namespace Type {
1131
+ type Builder = BlueprintComponentTypeBuilder;
1132
+ const getBuilder: () => BlueprintComponentTypeBuilder;
1133
+ }
1134
+ type Id = BlueprintComponent.Id;
1135
+ namespace Id {
1136
+ type Builder = BlueprintComponent.Id.Builder;
1137
+ const getBuilder: () => ComponentIdBuilder;
1138
+ }
1139
+ }
1140
+ type Builder = FractalBuilder;
1141
+ const getBuilder: () => FractalBuilder;
1142
+ }
1143
+ type Fractal$1 = {
1144
+ id: Fractal$1.Id;
1145
+ isPrivate: boolean;
1146
+ description: string;
1147
+ components: Fractal$1.Component[];
1148
+ deploy: (credentials: ServiceAccountCredentials$1) => Promise<void>;
1149
+ destroy: (credentials: ServiceAccountCredentials$1) => Promise<void>;
1150
+ };
1151
+ //#endregion
1152
+ //#region src/index.d.ts
1153
+ declare const BoundedContext: typeof BoundedContext$1;
1154
+ type BoundedContext = BoundedContext$1;
1155
+ declare const Fractal: typeof Fractal$1;
1156
+ type Fractal = Fractal$1;
1157
+ declare const InfrastructureDomain: typeof InfrastructureDomain$1;
1158
+ type InfrastructureDomain = InfrastructureDomain$1;
1159
+ declare const KebabCaseString: typeof KebabCaseString$1;
1160
+ type KebabCaseString = KebabCaseString$1;
1161
+ declare const OwnerId: typeof OwnerId$1;
1162
+ type OwnerId = OwnerId$1;
1163
+ declare const OwnerType: typeof OwnerType$1;
1164
+ type OwnerType = OwnerType$1;
1165
+ declare const PascalCaseString: typeof PascalCaseString$1;
1166
+ type PascalCaseString = PascalCaseString$1;
1167
+ declare const ServiceAccountCredentials: typeof ServiceAccountCredentials$1;
1168
+ type ServiceAccountCredentials = ServiceAccountCredentials$1;
1169
+ declare const ServiceAccountId: typeof ServiceAccountId$1;
1170
+ type ServiceAccountId = ServiceAccountId$1;
1171
+ declare const ServiceDeliveryModel: typeof ServiceDeliveryModel$1;
1172
+ type ServiceDeliveryModel = ServiceDeliveryModel$1;
1173
+ declare const Version: typeof Version$1;
1174
+ type Version = Version$1;
1175
+ //#endregion
1176
+ export { BoundedContext, Fractal, InfrastructureDomain, KebabCaseString, OwnerId, OwnerType, PascalCaseString, ServiceAccountCredentials, ServiceAccountId, ServiceDeliveryModel, Version };