@backstage/plugin-scaffolder 1.8.0-next.1 → 1.9.0-next.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -12,6 +12,7 @@ import { BackstagePlugin } from '@backstage/core-plugin-api';
12
12
  import { ComponentType } from 'react';
13
13
  import { DiscoveryApi } from '@backstage/core-plugin-api';
14
14
  import { Entity } from '@backstage/catalog-model';
15
+ import type { ErrorTransformer } from '@rjsf/utils';
15
16
  import { Extension } from '@backstage/core-plugin-api';
16
17
  import { ExternalRouteRef } from '@backstage/core-plugin-api';
17
18
  import { FetchApi } from '@backstage/core-plugin-api';
@@ -36,13 +37,14 @@ import { TaskStep } from '@backstage/plugin-scaffolder-common';
36
37
  import { TemplateEntityV1beta3 } from '@backstage/plugin-scaffolder-common';
37
38
  import { UIOptionsType } from '@rjsf/utils';
38
39
  import { UiSchema } from '@rjsf/utils';
40
+ import { z } from 'zod';
39
41
 
40
42
  /**
41
43
  * Method for creating field extensions that can be used in the scaffolder
42
44
  * frontend form.
43
45
  * @alpha
44
46
  */
45
- export declare function createNextScaffolderFieldExtension<TReturnValue = unknown, TInputProps extends UIOptionsType = {}>(options: NextFieldExtensionOptions<TReturnValue, TInputProps>): Extension<NextFieldExtensionComponentProps<TReturnValue, TInputProps>>;
47
+ export declare function createNextScaffolderFieldExtension<TReturnValue = unknown, TInputProps extends UIOptionsType = {}>(options: NextFieldExtensionOptions<TReturnValue, TInputProps>): Extension<FieldExtensionComponent<TReturnValue, TInputProps>>;
46
48
 
47
49
  /**
48
50
  * Method for creating field extensions that can be used in the scaffolder
@@ -58,6 +60,16 @@ export declare function createScaffolderFieldExtension<TReturnValue = unknown, T
58
60
  */
59
61
  export declare function createScaffolderLayout<TInputProps = unknown>(options: LayoutOptions): Extension<LayoutComponent<TInputProps>>;
60
62
 
63
+ /**
64
+ * Type for the Custom Field Extension schema.
65
+ *
66
+ * @public
67
+ */
68
+ export declare type CustomFieldExtensionSchema = {
69
+ returnValue: JSONSchema7;
70
+ uiOptions?: JSONSchema7;
71
+ };
72
+
61
73
  /**
62
74
  * Field validation type for Custom Field Extensions.
63
75
  *
@@ -79,7 +91,22 @@ export declare const EntityNamePickerFieldExtension: FieldExtensionComponent<str
79
91
  *
80
92
  * @public
81
93
  */
82
- export declare const EntityPickerFieldExtension: FieldExtensionComponent<string, EntityPickerUiOptions>;
94
+ export declare const EntityPickerFieldExtension: FieldExtensionComponent<string, {
95
+ defaultKind?: string | undefined;
96
+ defaultNamespace?: string | false | undefined;
97
+ allowedKinds?: string[] | undefined;
98
+ allowArbitraryValues?: boolean | undefined;
99
+ }>;
100
+
101
+ /**
102
+ * @public
103
+ */
104
+ export declare const EntityPickerFieldSchema: FieldSchema<string, {
105
+ defaultKind?: string | undefined;
106
+ defaultNamespace?: string | false | undefined;
107
+ allowedKinds?: string[] | undefined;
108
+ allowArbitraryValues?: boolean | undefined;
109
+ }>;
83
110
 
84
111
  /**
85
112
  * The input props that can be specified under `ui:options` for the
@@ -87,18 +114,26 @@ export declare const EntityPickerFieldExtension: FieldExtensionComponent<string,
87
114
  *
88
115
  * @public
89
116
  */
90
- export declare interface EntityPickerUiOptions {
91
- allowedKinds?: string[];
92
- defaultKind?: string;
93
- allowArbitraryValues?: boolean;
94
- defaultNamespace?: string | false;
95
- }
117
+ export declare type EntityPickerUiOptions = typeof EntityPickerFieldSchema.uiOptionsType;
96
118
 
97
119
  /**
98
120
  * EntityTagsPickerFieldExtension
99
121
  * @public
100
122
  */
101
- export declare const EntityTagsPickerFieldExtension: FieldExtensionComponent<string[], EntityTagsPickerUiOptions>;
123
+ export declare const EntityTagsPickerFieldExtension: FieldExtensionComponent<string[], {
124
+ showCounts?: boolean | undefined;
125
+ kinds?: string[] | undefined;
126
+ helperText?: string | undefined;
127
+ }>;
128
+
129
+ /**
130
+ * @public
131
+ */
132
+ export declare const EntityTagsPickerFieldSchema: FieldSchema<string[], {
133
+ showCounts?: boolean | undefined;
134
+ kinds?: string[] | undefined;
135
+ helperText?: string | undefined;
136
+ }>;
102
137
 
103
138
  /**
104
139
  * The input props that can be specified under `ui:options` for the
@@ -106,11 +141,7 @@ export declare const EntityTagsPickerFieldExtension: FieldExtensionComponent<str
106
141
  *
107
142
  * @public
108
143
  */
109
- export declare interface EntityTagsPickerUiOptions {
110
- kinds?: string[];
111
- showCounts?: boolean;
112
- helperText?: string;
113
- }
144
+ export declare type EntityTagsPickerUiOptions = typeof EntityTagsPickerFieldSchema.uiOptionsType;
114
145
 
115
146
  /**
116
147
  * A type used to wrap up the FieldExtension to embed the ReturnValue and the InputProps
@@ -141,8 +172,20 @@ export declare type FieldExtensionOptions<TFieldReturnValue = unknown, TInputPro
141
172
  name: string;
142
173
  component: (props: FieldExtensionComponentProps<TFieldReturnValue, TInputProps>) => JSX.Element | null;
143
174
  validation?: CustomFieldValidator<TFieldReturnValue>;
175
+ schema?: CustomFieldExtensionSchema;
144
176
  };
145
177
 
178
+ /**
179
+ * @public
180
+ * FieldSchema encapsulates a JSONSchema7 along with the
181
+ * matching FieldExtensionComponentProps type for a field extension.
182
+ */
183
+ export declare interface FieldSchema<TReturn, TUiOptions> {
184
+ readonly schema: CustomFieldExtensionSchema;
185
+ readonly type: FieldExtensionComponentProps<TReturn, TUiOptions>;
186
+ readonly uiOptionsType: TUiOptions;
187
+ }
188
+
146
189
  /**
147
190
  * The type used to wrap up the Layout and embed the input props
148
191
  *
@@ -198,6 +241,13 @@ export declare type LogEvent = {
198
241
  taskId: string;
199
242
  };
200
243
 
244
+ /**
245
+ * @public
246
+ * Utility function to convert zod return and UI options schemas to a
247
+ * CustomFieldExtensionSchema with FieldExtensionComponentProps type inference
248
+ */
249
+ export declare function makeFieldSchemaFromZod<TReturnSchema extends z.ZodType, TUiOptionsSchema extends z.ZodType = z.ZodType<any, any, {}>>(returnSchema: TReturnSchema, uiOptionsSchema?: TUiOptionsSchema): FieldSchema<TReturnSchema extends z.ZodType<any, any, infer IReturn> ? IReturn : never, TUiOptionsSchema extends z.ZodType<any, any, infer IUiOptions> ? IUiOptions : never>;
250
+
201
251
  /**
202
252
  * Field validation type for Custom Field Extensions.
203
253
  *
@@ -228,6 +278,7 @@ export declare type NextFieldExtensionOptions<TFieldReturnValue = unknown, TInpu
228
278
  name: string;
229
279
  component: (props: NextFieldExtensionComponentProps<TFieldReturnValue, TInputProps>) => JSX.Element | null;
230
280
  validation?: NextCustomFieldValidator<TFieldReturnValue>;
281
+ schema?: CustomFieldExtensionSchema;
231
282
  };
232
283
 
233
284
  /** @alpha */
@@ -246,6 +297,7 @@ export declare type NextRouterProps = {
246
297
  TaskPageComponent?: React_2.ComponentType<{}>;
247
298
  };
248
299
  groups?: TemplateGroupFilter[];
300
+ transformErrors?: ErrorTransformer;
249
301
  };
250
302
 
251
303
  /**
@@ -262,7 +314,22 @@ export declare const nextSelectedTemplateRouteRef: SubRouteRef<PathParams<"/temp
262
314
  *
263
315
  * @public
264
316
  */
265
- export declare const OwnedEntityPickerFieldExtension: FieldExtensionComponent<string, OwnedEntityPickerUiOptions>;
317
+ export declare const OwnedEntityPickerFieldExtension: FieldExtensionComponent<string, {
318
+ defaultKind?: string | undefined;
319
+ defaultNamespace?: string | false | undefined;
320
+ allowedKinds?: string[] | undefined;
321
+ allowArbitraryValues?: boolean | undefined;
322
+ }>;
323
+
324
+ /**
325
+ * @public
326
+ */
327
+ export declare const OwnedEntityPickerFieldSchema: FieldSchema<string, {
328
+ defaultKind?: string | undefined;
329
+ defaultNamespace?: string | false | undefined;
330
+ allowedKinds?: string[] | undefined;
331
+ allowArbitraryValues?: boolean | undefined;
332
+ }>;
266
333
 
267
334
  /**
268
335
  * The input props that can be specified under `ui:options` for the
@@ -270,19 +337,27 @@ export declare const OwnedEntityPickerFieldExtension: FieldExtensionComponent<st
270
337
  *
271
338
  * @public
272
339
  */
273
- export declare interface OwnedEntityPickerUiOptions {
274
- allowedKinds?: string[];
275
- defaultKind?: string;
276
- allowArbitraryValues?: boolean;
277
- defaultNamespace?: string | false;
278
- }
340
+ export declare type OwnedEntityPickerUiOptions = typeof OwnedEntityPickerFieldSchema.uiOptionsType;
279
341
 
280
342
  /**
281
343
  * A field extension for picking users and groups out of the Catalog.
282
344
  *
283
345
  * @public
284
346
  */
285
- export declare const OwnerPickerFieldExtension: FieldExtensionComponent<string, OwnerPickerUiOptions>;
347
+ export declare const OwnerPickerFieldExtension: FieldExtensionComponent<string, {
348
+ defaultNamespace?: string | false | undefined;
349
+ allowedKinds?: string[] | undefined;
350
+ allowArbitraryValues?: boolean | undefined;
351
+ }>;
352
+
353
+ /**
354
+ * @public
355
+ */
356
+ export declare const OwnerPickerFieldSchema: FieldSchema<string, {
357
+ defaultNamespace?: string | false | undefined;
358
+ allowedKinds?: string[] | undefined;
359
+ allowArbitraryValues?: boolean | undefined;
360
+ }>;
286
361
 
287
362
  /**
288
363
  * The input props that can be specified under `ui:options` for the
@@ -290,11 +365,7 @@ export declare const OwnerPickerFieldExtension: FieldExtensionComponent<string,
290
365
  *
291
366
  * @public
292
367
  */
293
- export declare interface OwnerPickerUiOptions {
294
- allowedKinds?: string[];
295
- allowArbitraryValues?: boolean;
296
- defaultNamespace?: string | false;
297
- }
368
+ export declare type OwnerPickerUiOptions = typeof OwnerPickerFieldSchema.uiOptionsType;
298
369
 
299
370
  /**
300
371
  * The validation function for the `repoUrl` that is returned from the
@@ -309,11 +380,46 @@ export declare const repoPickerValidation: (value: string, validation: FieldVali
309
380
 
310
381
  /**
311
382
  * The field extension which provides the ability to select a RepositoryUrl.
312
- * Currently this is an encoded URL that looks something like the following `github.com?repo=myRepoName&owner=backstage`.
313
- *
383
+ * Currently, this is an encoded URL that looks something like the following `github.com?repo=myRepoName&owner=backstage`.
384
+ *
385
+ * @public
386
+ */
387
+ export declare const RepoUrlPickerFieldExtension: FieldExtensionComponent<string, {
388
+ allowedOwners?: string[] | undefined;
389
+ allowedOrganizations?: string[] | undefined;
390
+ allowedRepos?: string[] | undefined;
391
+ allowedHosts?: string[] | undefined;
392
+ requestUserCredentials?: {
393
+ additionalScopes?: {
394
+ azure?: string[] | undefined;
395
+ github?: string[] | undefined;
396
+ gitlab?: string[] | undefined;
397
+ bitbucket?: string[] | undefined;
398
+ gerrit?: string[] | undefined;
399
+ } | undefined;
400
+ secretsKey: string;
401
+ } | undefined;
402
+ }>;
403
+
404
+ /**
314
405
  * @public
315
406
  */
316
- export declare const RepoUrlPickerFieldExtension: FieldExtensionComponent<string, RepoUrlPickerUiOptions>;
407
+ export declare const RepoUrlPickerFieldSchema: FieldSchema<string, {
408
+ allowedOwners?: string[] | undefined;
409
+ allowedOrganizations?: string[] | undefined;
410
+ allowedRepos?: string[] | undefined;
411
+ allowedHosts?: string[] | undefined;
412
+ requestUserCredentials?: {
413
+ additionalScopes?: {
414
+ azure?: string[] | undefined;
415
+ github?: string[] | undefined;
416
+ gitlab?: string[] | undefined;
417
+ bitbucket?: string[] | undefined;
418
+ gerrit?: string[] | undefined;
419
+ } | undefined;
420
+ secretsKey: string;
421
+ } | undefined;
422
+ }>;
317
423
 
318
424
  /**
319
425
  * The input props that can be specified under `ui:options` for the
@@ -321,22 +427,26 @@ export declare const RepoUrlPickerFieldExtension: FieldExtensionComponent<string
321
427
  *
322
428
  * @public
323
429
  */
324
- export declare interface RepoUrlPickerUiOptions {
325
- allowedHosts?: string[];
326
- allowedOrganizations?: string[];
327
- allowedOwners?: string[];
328
- allowedRepos?: string[];
329
- requestUserCredentials?: {
330
- secretsKey: string;
331
- additionalScopes?: {
332
- gerrit?: string[];
333
- github?: string[];
334
- gitlab?: string[];
335
- bitbucket?: string[];
336
- azure?: string[];
337
- };
338
- };
339
- }
430
+ export declare type RepoUrlPickerUiOptions = typeof RepoUrlPickerFieldSchema.uiOptionsType;
431
+
432
+ /**
433
+ * The props for the Last Step in scaffolder template form.
434
+ * Which represents the summary of the input provided by the end user.
435
+ *
436
+ * @public
437
+ */
438
+ export declare type ReviewStepProps = {
439
+ disableButtons: boolean;
440
+ formData: JsonObject;
441
+ handleBack: () => void;
442
+ handleReset: () => void;
443
+ handleCreate: () => void;
444
+ steps: {
445
+ uiSchema: UiSchema;
446
+ mergedSchema: JsonObject;
447
+ schema: JsonObject;
448
+ }[];
449
+ };
340
450
 
341
451
  /** @public */
342
452
  export declare const rootRouteRef: RouteRef<undefined>;
@@ -347,6 +457,7 @@ export declare const rootRouteRef: RouteRef<undefined>;
347
457
  */
348
458
  export declare type RouterProps = {
349
459
  components?: {
460
+ ReviewStepComponent?: ComponentType<ReviewStepProps>;
350
461
  TemplateCardComponent?: ComponentType<{
351
462
  template: TemplateEntityV1beta3;
352
463
  }> | undefined;
@@ -12,6 +12,7 @@ import { BackstagePlugin } from '@backstage/core-plugin-api';
12
12
  import { ComponentType } from 'react';
13
13
  import { DiscoveryApi } from '@backstage/core-plugin-api';
14
14
  import { Entity } from '@backstage/catalog-model';
15
+ import type { ErrorTransformer } from '@rjsf/utils';
15
16
  import { Extension } from '@backstage/core-plugin-api';
16
17
  import { ExternalRouteRef } from '@backstage/core-plugin-api';
17
18
  import { FetchApi } from '@backstage/core-plugin-api';
@@ -36,6 +37,7 @@ import { TaskStep } from '@backstage/plugin-scaffolder-common';
36
37
  import { TemplateEntityV1beta3 } from '@backstage/plugin-scaffolder-common';
37
38
  import { UIOptionsType } from '@rjsf/utils';
38
39
  import { UiSchema } from '@rjsf/utils';
40
+ import { z } from 'zod';
39
41
 
40
42
  /* Excluded from this release type: createNextScaffolderFieldExtension */
41
43
 
@@ -53,6 +55,16 @@ export declare function createScaffolderFieldExtension<TReturnValue = unknown, T
53
55
  */
54
56
  export declare function createScaffolderLayout<TInputProps = unknown>(options: LayoutOptions): Extension<LayoutComponent<TInputProps>>;
55
57
 
58
+ /**
59
+ * Type for the Custom Field Extension schema.
60
+ *
61
+ * @public
62
+ */
63
+ export declare type CustomFieldExtensionSchema = {
64
+ returnValue: JSONSchema7;
65
+ uiOptions?: JSONSchema7;
66
+ };
67
+
56
68
  /**
57
69
  * Field validation type for Custom Field Extensions.
58
70
  *
@@ -74,7 +86,22 @@ export declare const EntityNamePickerFieldExtension: FieldExtensionComponent<str
74
86
  *
75
87
  * @public
76
88
  */
77
- export declare const EntityPickerFieldExtension: FieldExtensionComponent<string, EntityPickerUiOptions>;
89
+ export declare const EntityPickerFieldExtension: FieldExtensionComponent<string, {
90
+ defaultKind?: string | undefined;
91
+ defaultNamespace?: string | false | undefined;
92
+ allowedKinds?: string[] | undefined;
93
+ allowArbitraryValues?: boolean | undefined;
94
+ }>;
95
+
96
+ /**
97
+ * @public
98
+ */
99
+ export declare const EntityPickerFieldSchema: FieldSchema<string, {
100
+ defaultKind?: string | undefined;
101
+ defaultNamespace?: string | false | undefined;
102
+ allowedKinds?: string[] | undefined;
103
+ allowArbitraryValues?: boolean | undefined;
104
+ }>;
78
105
 
79
106
  /**
80
107
  * The input props that can be specified under `ui:options` for the
@@ -82,18 +109,26 @@ export declare const EntityPickerFieldExtension: FieldExtensionComponent<string,
82
109
  *
83
110
  * @public
84
111
  */
85
- export declare interface EntityPickerUiOptions {
86
- allowedKinds?: string[];
87
- defaultKind?: string;
88
- allowArbitraryValues?: boolean;
89
- defaultNamespace?: string | false;
90
- }
112
+ export declare type EntityPickerUiOptions = typeof EntityPickerFieldSchema.uiOptionsType;
91
113
 
92
114
  /**
93
115
  * EntityTagsPickerFieldExtension
94
116
  * @public
95
117
  */
96
- export declare const EntityTagsPickerFieldExtension: FieldExtensionComponent<string[], EntityTagsPickerUiOptions>;
118
+ export declare const EntityTagsPickerFieldExtension: FieldExtensionComponent<string[], {
119
+ showCounts?: boolean | undefined;
120
+ kinds?: string[] | undefined;
121
+ helperText?: string | undefined;
122
+ }>;
123
+
124
+ /**
125
+ * @public
126
+ */
127
+ export declare const EntityTagsPickerFieldSchema: FieldSchema<string[], {
128
+ showCounts?: boolean | undefined;
129
+ kinds?: string[] | undefined;
130
+ helperText?: string | undefined;
131
+ }>;
97
132
 
98
133
  /**
99
134
  * The input props that can be specified under `ui:options` for the
@@ -101,11 +136,7 @@ export declare const EntityTagsPickerFieldExtension: FieldExtensionComponent<str
101
136
  *
102
137
  * @public
103
138
  */
104
- export declare interface EntityTagsPickerUiOptions {
105
- kinds?: string[];
106
- showCounts?: boolean;
107
- helperText?: string;
108
- }
139
+ export declare type EntityTagsPickerUiOptions = typeof EntityTagsPickerFieldSchema.uiOptionsType;
109
140
 
110
141
  /**
111
142
  * A type used to wrap up the FieldExtension to embed the ReturnValue and the InputProps
@@ -136,8 +167,20 @@ export declare type FieldExtensionOptions<TFieldReturnValue = unknown, TInputPro
136
167
  name: string;
137
168
  component: (props: FieldExtensionComponentProps<TFieldReturnValue, TInputProps>) => JSX.Element | null;
138
169
  validation?: CustomFieldValidator<TFieldReturnValue>;
170
+ schema?: CustomFieldExtensionSchema;
139
171
  };
140
172
 
173
+ /**
174
+ * @public
175
+ * FieldSchema encapsulates a JSONSchema7 along with the
176
+ * matching FieldExtensionComponentProps type for a field extension.
177
+ */
178
+ export declare interface FieldSchema<TReturn, TUiOptions> {
179
+ readonly schema: CustomFieldExtensionSchema;
180
+ readonly type: FieldExtensionComponentProps<TReturn, TUiOptions>;
181
+ readonly uiOptionsType: TUiOptions;
182
+ }
183
+
141
184
  /**
142
185
  * The type used to wrap up the Layout and embed the input props
143
186
  *
@@ -193,6 +236,13 @@ export declare type LogEvent = {
193
236
  taskId: string;
194
237
  };
195
238
 
239
+ /**
240
+ * @public
241
+ * Utility function to convert zod return and UI options schemas to a
242
+ * CustomFieldExtensionSchema with FieldExtensionComponentProps type inference
243
+ */
244
+ export declare function makeFieldSchemaFromZod<TReturnSchema extends z.ZodType, TUiOptionsSchema extends z.ZodType = z.ZodType<any, any, {}>>(returnSchema: TReturnSchema, uiOptionsSchema?: TUiOptionsSchema): FieldSchema<TReturnSchema extends z.ZodType<any, any, infer IReturn> ? IReturn : never, TUiOptionsSchema extends z.ZodType<any, any, infer IUiOptions> ? IUiOptions : never>;
245
+
196
246
  /* Excluded from this release type: NextCustomFieldValidator */
197
247
 
198
248
  /* Excluded from this release type: NextFieldExtensionComponentProps */
@@ -212,7 +262,22 @@ export declare type LogEvent = {
212
262
  *
213
263
  * @public
214
264
  */
215
- export declare const OwnedEntityPickerFieldExtension: FieldExtensionComponent<string, OwnedEntityPickerUiOptions>;
265
+ export declare const OwnedEntityPickerFieldExtension: FieldExtensionComponent<string, {
266
+ defaultKind?: string | undefined;
267
+ defaultNamespace?: string | false | undefined;
268
+ allowedKinds?: string[] | undefined;
269
+ allowArbitraryValues?: boolean | undefined;
270
+ }>;
271
+
272
+ /**
273
+ * @public
274
+ */
275
+ export declare const OwnedEntityPickerFieldSchema: FieldSchema<string, {
276
+ defaultKind?: string | undefined;
277
+ defaultNamespace?: string | false | undefined;
278
+ allowedKinds?: string[] | undefined;
279
+ allowArbitraryValues?: boolean | undefined;
280
+ }>;
216
281
 
217
282
  /**
218
283
  * The input props that can be specified under `ui:options` for the
@@ -220,19 +285,27 @@ export declare const OwnedEntityPickerFieldExtension: FieldExtensionComponent<st
220
285
  *
221
286
  * @public
222
287
  */
223
- export declare interface OwnedEntityPickerUiOptions {
224
- allowedKinds?: string[];
225
- defaultKind?: string;
226
- allowArbitraryValues?: boolean;
227
- defaultNamespace?: string | false;
228
- }
288
+ export declare type OwnedEntityPickerUiOptions = typeof OwnedEntityPickerFieldSchema.uiOptionsType;
229
289
 
230
290
  /**
231
291
  * A field extension for picking users and groups out of the Catalog.
232
292
  *
233
293
  * @public
234
294
  */
235
- export declare const OwnerPickerFieldExtension: FieldExtensionComponent<string, OwnerPickerUiOptions>;
295
+ export declare const OwnerPickerFieldExtension: FieldExtensionComponent<string, {
296
+ defaultNamespace?: string | false | undefined;
297
+ allowedKinds?: string[] | undefined;
298
+ allowArbitraryValues?: boolean | undefined;
299
+ }>;
300
+
301
+ /**
302
+ * @public
303
+ */
304
+ export declare const OwnerPickerFieldSchema: FieldSchema<string, {
305
+ defaultNamespace?: string | false | undefined;
306
+ allowedKinds?: string[] | undefined;
307
+ allowArbitraryValues?: boolean | undefined;
308
+ }>;
236
309
 
237
310
  /**
238
311
  * The input props that can be specified under `ui:options` for the
@@ -240,11 +313,7 @@ export declare const OwnerPickerFieldExtension: FieldExtensionComponent<string,
240
313
  *
241
314
  * @public
242
315
  */
243
- export declare interface OwnerPickerUiOptions {
244
- allowedKinds?: string[];
245
- allowArbitraryValues?: boolean;
246
- defaultNamespace?: string | false;
247
- }
316
+ export declare type OwnerPickerUiOptions = typeof OwnerPickerFieldSchema.uiOptionsType;
248
317
 
249
318
  /**
250
319
  * The validation function for the `repoUrl` that is returned from the
@@ -259,11 +328,46 @@ export declare const repoPickerValidation: (value: string, validation: FieldVali
259
328
 
260
329
  /**
261
330
  * The field extension which provides the ability to select a RepositoryUrl.
262
- * Currently this is an encoded URL that looks something like the following `github.com?repo=myRepoName&owner=backstage`.
263
- *
331
+ * Currently, this is an encoded URL that looks something like the following `github.com?repo=myRepoName&owner=backstage`.
332
+ *
333
+ * @public
334
+ */
335
+ export declare const RepoUrlPickerFieldExtension: FieldExtensionComponent<string, {
336
+ allowedOwners?: string[] | undefined;
337
+ allowedOrganizations?: string[] | undefined;
338
+ allowedRepos?: string[] | undefined;
339
+ allowedHosts?: string[] | undefined;
340
+ requestUserCredentials?: {
341
+ additionalScopes?: {
342
+ azure?: string[] | undefined;
343
+ github?: string[] | undefined;
344
+ gitlab?: string[] | undefined;
345
+ bitbucket?: string[] | undefined;
346
+ gerrit?: string[] | undefined;
347
+ } | undefined;
348
+ secretsKey: string;
349
+ } | undefined;
350
+ }>;
351
+
352
+ /**
264
353
  * @public
265
354
  */
266
- export declare const RepoUrlPickerFieldExtension: FieldExtensionComponent<string, RepoUrlPickerUiOptions>;
355
+ export declare const RepoUrlPickerFieldSchema: FieldSchema<string, {
356
+ allowedOwners?: string[] | undefined;
357
+ allowedOrganizations?: string[] | undefined;
358
+ allowedRepos?: string[] | undefined;
359
+ allowedHosts?: string[] | undefined;
360
+ requestUserCredentials?: {
361
+ additionalScopes?: {
362
+ azure?: string[] | undefined;
363
+ github?: string[] | undefined;
364
+ gitlab?: string[] | undefined;
365
+ bitbucket?: string[] | undefined;
366
+ gerrit?: string[] | undefined;
367
+ } | undefined;
368
+ secretsKey: string;
369
+ } | undefined;
370
+ }>;
267
371
 
268
372
  /**
269
373
  * The input props that can be specified under `ui:options` for the
@@ -271,22 +375,26 @@ export declare const RepoUrlPickerFieldExtension: FieldExtensionComponent<string
271
375
  *
272
376
  * @public
273
377
  */
274
- export declare interface RepoUrlPickerUiOptions {
275
- allowedHosts?: string[];
276
- allowedOrganizations?: string[];
277
- allowedOwners?: string[];
278
- allowedRepos?: string[];
279
- requestUserCredentials?: {
280
- secretsKey: string;
281
- additionalScopes?: {
282
- gerrit?: string[];
283
- github?: string[];
284
- gitlab?: string[];
285
- bitbucket?: string[];
286
- azure?: string[];
287
- };
288
- };
289
- }
378
+ export declare type RepoUrlPickerUiOptions = typeof RepoUrlPickerFieldSchema.uiOptionsType;
379
+
380
+ /**
381
+ * The props for the Last Step in scaffolder template form.
382
+ * Which represents the summary of the input provided by the end user.
383
+ *
384
+ * @public
385
+ */
386
+ export declare type ReviewStepProps = {
387
+ disableButtons: boolean;
388
+ formData: JsonObject;
389
+ handleBack: () => void;
390
+ handleReset: () => void;
391
+ handleCreate: () => void;
392
+ steps: {
393
+ uiSchema: UiSchema;
394
+ mergedSchema: JsonObject;
395
+ schema: JsonObject;
396
+ }[];
397
+ };
290
398
 
291
399
  /** @public */
292
400
  export declare const rootRouteRef: RouteRef<undefined>;
@@ -297,6 +405,7 @@ export declare const rootRouteRef: RouteRef<undefined>;
297
405
  */
298
406
  export declare type RouterProps = {
299
407
  components?: {
408
+ ReviewStepComponent?: ComponentType<ReviewStepProps>;
300
409
  TemplateCardComponent?: ComponentType<{
301
410
  template: TemplateEntityV1beta3;
302
411
  }> | undefined;