@masterteam/delegations 0.0.20 → 0.0.22

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@masterteam/delegations",
3
- "version": "0.0.20",
3
+ "version": "0.0.22",
4
4
  "publishConfig": {
5
5
  "directory": "../../../dist/masterteam/delegations",
6
6
  "linkDirectory": false,
@@ -21,8 +21,8 @@
21
21
  "tailwindcss-primeui": "^0.6.1",
22
22
  "@ngxs/store": "^20.1.0",
23
23
  "@masterteam/components": "^0.0.175",
24
- "@masterteam/icons": "^0.0.15",
25
- "@masterteam/forms": "^0.0.80"
24
+ "@masterteam/forms": "^0.0.80",
25
+ "@masterteam/icons": "^0.0.15"
26
26
  },
27
27
  "sideEffects": false,
28
28
  "exports": {
@@ -71,6 +71,10 @@ interface DelegationScopeTarget {
71
71
  applicationKey: string;
72
72
  targetType: string;
73
73
  targetKey: string;
74
+ parentTargetType?: string | null;
75
+ parentTargetKey?: string | null;
76
+ parentDisplayName?: DelegationDisplayValue;
77
+ parentLevelId?: number | null;
74
78
  legacyModuleId?: number | null;
75
79
  targetId?: number | null;
76
80
  levelId?: number | null;
@@ -79,6 +83,7 @@ interface DelegationScopeTarget {
79
83
  moduleKey?: string | null;
80
84
  permissionModuleType?: string | null;
81
85
  permissionTargetId?: number | null;
86
+ isDelegable?: boolean;
82
87
  displayName?: DelegationDisplayValue;
83
88
  displayLabel?: DelegationDisplayValue;
84
89
  label?: DelegationDisplayValue;
@@ -95,7 +100,9 @@ interface DelegationScopeAction {
95
100
  permissionCommand?: string | null;
96
101
  businessActionCode?: string | null;
97
102
  isHighRisk?: boolean;
103
+ isDelegable?: boolean;
98
104
  isDelegableSnapshot?: boolean;
105
+ sortOrder?: number | null;
99
106
  }
100
107
  interface DelegationScopeFact {
101
108
  key?: string | null;
@@ -131,10 +138,25 @@ interface DelegationScopeCombinationRule {
131
138
  [extra: string]: unknown;
132
139
  }
133
140
  /**
134
- * `scope/options` may come back either as legacy `grants[]` or as the newer
135
- * catalog facts (`targets + operations + combinationRules`).
141
+ * `scope/options` now prefers backend-owned `hierarchy` for FE rendering.
142
+ * Flat `grants[]` / `targets + operations + combinationRules` remain for
143
+ * compatibility and diagnostics while older environments catch up.
136
144
  */
145
+ interface DelegationScopeHierarchyTarget {
146
+ target: DelegationScopeTarget;
147
+ operations: DelegationScopeAction[];
148
+ sortOrder?: number | null;
149
+ }
150
+ interface DelegationScopeHierarchyGroup {
151
+ groupType: string;
152
+ groupKey: string;
153
+ displayName?: DelegationDisplayValue;
154
+ levelId?: number | null;
155
+ sortOrder?: number | null;
156
+ targets: DelegationScopeHierarchyTarget[];
157
+ }
137
158
  interface DelegationScopeOptions {
159
+ hierarchy?: DelegationScopeHierarchyGroup[] | null;
138
160
  grants?: DelegationGrant[] | null;
139
161
  metadata?: Record<string, unknown>;
140
162
  targets?: DelegationScopeTarget[] | null;
@@ -247,6 +269,7 @@ interface RejectDelegationRequest {
247
269
  declare enum DelegationsActionKey {
248
270
  GetMy = "getMy",
249
271
  GetAssigned = "getAssigned",
272
+ GetAdmin = "getAdmin",
250
273
  GetActive = "getActive",
251
274
  GetDetail = "getDetail",
252
275
  GetScopeOptions = "getScopeOptions",
@@ -260,6 +283,7 @@ declare enum DelegationsActionKey {
260
283
  interface DelegationsStateModel extends LoadingStateShape<DelegationsActionKey> {
261
284
  my: DelegationPage<DelegationRow> | null;
262
285
  assigned: DelegationPage<DelegationRow> | null;
286
+ admin: DelegationPage<DelegationRow> | null;
263
287
  active: DelegationPage<DelegationRow> | null;
264
288
  detail: DelegationDetail | null;
265
289
  scopeOptions: DelegationScopeOptions | null;
@@ -278,6 +302,7 @@ declare class TopbarDelegationMenu {
278
302
  /** Path to the management page, e.g. `/control-panel/delegations` or `/delegations`. */
279
303
  readonly managePath: _angular_core.InputSignal<string>;
280
304
  readonly compact: _angular_core.InputSignal<boolean>;
305
+ readonly showManageLink: _angular_core.InputSignal<boolean>;
281
306
  private readonly facade;
282
307
  private readonly modal;
283
308
  private readonly transloco;
@@ -287,7 +312,7 @@ declare class TopbarDelegationMenu {
287
312
  protected readonly hasCandidates: _angular_core.Signal<boolean>;
288
313
  protected readonly onBehalfOf: _angular_core.Signal<_masterteam_delegations.DelegationParty | null>;
289
314
  protected readonly executedBy: _angular_core.Signal<_masterteam_delegations.DelegationParty | null>;
290
- protected readonly mode: _angular_core.Signal<"active" | "candidates" | "hidden">;
315
+ protected readonly mode: _angular_core.Signal<"hidden" | "active" | "candidates">;
291
316
  protected formatScopeSummary(summary: DelegationRow['scopeSummary']): string;
292
317
  togglePopover(event: Event): void;
293
318
  start(row: DelegationRow, event: MouseEvent): void;
@@ -295,7 +320,7 @@ declare class TopbarDelegationMenu {
295
320
  endSession(event: MouseEvent): void;
296
321
  private openConfirm;
297
322
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<TopbarDelegationMenu, never>;
298
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<TopbarDelegationMenu, "mt-topbar-delegation-menu", never, { "managePath": { "alias": "managePath"; "required": false; "isSignal": true; }; "compact": { "alias": "compact"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
323
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TopbarDelegationMenu, "mt-topbar-delegation-menu", never, { "managePath": { "alias": "managePath"; "required": false; "isSignal": true; }; "compact": { "alias": "compact"; "required": false; "isSignal": true; }; "showManageLink": { "alias": "showManageLink"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
299
324
  }
300
325
 
301
326
  interface StatusVisual {
@@ -388,6 +413,11 @@ declare class DelegationsList implements OnInit {
388
413
  * `withComponentInputBinding()` — admin passes `data: { adminMode: true }`.
389
414
  */
390
415
  readonly adminMode: _angular_core.InputSignal<boolean>;
416
+ readonly surfaceTitleKey: _angular_core.InputSignal<string>;
417
+ readonly assignedTabLabelKey: _angular_core.InputSignal<string>;
418
+ readonly assignedDecisionTab: _angular_core.InputSignal<boolean>;
419
+ readonly assignedEmptyStateKey: _angular_core.InputSignal<string>;
420
+ readonly assignedStatus: _angular_core.InputSignal<DelegationEffectiveStatus | null>;
391
421
  private readonly facade;
392
422
  private readonly modal;
393
423
  private readonly transloco;
@@ -405,15 +435,19 @@ declare class DelegationsList implements OnInit {
405
435
  routerLink?: undefined;
406
436
  })[]>;
407
437
  protected readonly activeTab: _angular_core.WritableSignal<DelegationTab>;
408
- protected readonly tabs: _angular_core.WritableSignal<{
438
+ protected readonly surfaceTitle: _angular_core.Signal<string>;
439
+ protected readonly tabs: _angular_core.Signal<{
409
440
  value: DelegationTab;
410
441
  label: string;
411
442
  }[]>;
412
443
  protected readonly isLoading: _angular_core.Signal<boolean>;
413
444
  protected readonly scopeOptions: _angular_core.Signal<_masterteam_delegations.DelegationScopeOptions | null>;
414
445
  protected readonly rows: _angular_core.Signal<DelegationRow[]>;
446
+ protected readonly emptyStateKey: _angular_core.Signal<string>;
415
447
  statusCol: _angular_core.Signal<TemplateRef<unknown>>;
416
448
  userCol: _angular_core.Signal<TemplateRef<unknown>>;
449
+ delegatorCol: _angular_core.Signal<TemplateRef<unknown>>;
450
+ delegatedUserCol: _angular_core.Signal<TemplateRef<unknown>>;
417
451
  scopeCol: _angular_core.Signal<TemplateRef<unknown>>;
418
452
  daysCol: _angular_core.Signal<TemplateRef<unknown>>;
419
453
  protected readonly canCreate: _angular_core.Signal<boolean>;
@@ -429,6 +463,7 @@ declare class DelegationsList implements OnInit {
429
463
  protected has(row: DelegationRow, action: DelegationAllowedAction): boolean;
430
464
  protected formatDays(row: DelegationRow): string;
431
465
  protected formatScopeSummary(value: DelegationRow['scopeSummary']): string;
466
+ protected getListedParty(row: DelegationRow): DelegationParty;
432
467
  private viewDetails;
433
468
  private openForm;
434
469
  private approve;
@@ -437,9 +472,18 @@ declare class DelegationsList implements OnInit {
437
472
  private startSession;
438
473
  private mark;
439
474
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DelegationsList, never>;
440
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<DelegationsList, "mt-delegations-list", never, { "showBreadcrumb": { "alias": "showBreadcrumb"; "required": false; "isSignal": true; }; "adminMode": { "alias": "adminMode"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
475
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DelegationsList, "mt-delegations-list", never, { "showBreadcrumb": { "alias": "showBreadcrumb"; "required": false; "isSignal": true; }; "adminMode": { "alias": "adminMode"; "required": false; "isSignal": true; }; "surfaceTitleKey": { "alias": "surfaceTitleKey"; "required": false; "isSignal": true; }; "assignedTabLabelKey": { "alias": "assignedTabLabelKey"; "required": false; "isSignal": true; }; "assignedDecisionTab": { "alias": "assignedDecisionTab"; "required": false; "isSignal": true; }; "assignedEmptyStateKey": { "alias": "assignedEmptyStateKey"; "required": false; "isSignal": true; }; "assignedStatus": { "alias": "assignedStatus"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
441
476
  }
442
477
 
478
+ interface DelegationFormUserValue {
479
+ id: string;
480
+ userId: string;
481
+ displayName: string;
482
+ userName: string;
483
+ email?: string | null;
484
+ photo?: string | null;
485
+ isExternal: boolean;
486
+ }
443
487
  /**
444
488
  * Delegation create/edit form (doc 04). Uses the v2 explicit-scope endpoints so
445
489
  * the persisted `DelegationScopeSelection` matches what scope/preview validated.
@@ -472,9 +516,10 @@ declare class DelegationForm implements OnInit {
472
516
  isSaving: _angular_core.Signal<boolean>;
473
517
  context: HttpContext;
474
518
  protected readonly scope: _angular_core.WritableSignal<DelegationScopeSelection>;
475
- /** Selected delegator id (admin mode only); drives scope/options + create payload. */
519
+ protected readonly currentDelegator: _angular_core.WritableSignal<DelegationFormUserValue | null>;
520
+ /** Selected delegator id drives scope/options loading and the admin payload. */
476
521
  protected readonly selectedDelegatorId: _angular_core.Signal<string | undefined>;
477
- /** In admin mode the scope picker only loads once a delegator is chosen. */
522
+ /** Admin mode waits for a chosen delegator; self-service always has one. */
478
523
  protected readonly showScopePicker: _angular_core.Signal<boolean>;
479
524
  protected readonly specificDaysOptions: _angular_core.WritableSignal<{
480
525
  label: string;
@@ -485,6 +530,7 @@ declare class DelegationForm implements OnInit {
485
530
  ngOnInit(): void;
486
531
  protected readonly canSubmit: _angular_core.Signal<boolean>;
487
532
  onSubmit(): void;
533
+ private mapPartyToUserValue;
488
534
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DelegationForm, never>;
489
535
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<DelegationForm, "mt-delegation-form", never, { "delegationForEdit": { "alias": "delegationForEdit"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "adminMode": { "alias": "adminMode"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
490
536
  }
@@ -516,19 +562,29 @@ declare class DelegationDetailDrawer implements OnInit {
516
562
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<DelegationDetailDrawer, "mt-delegation-detail-drawer", never, { "delegationId": { "alias": "delegationId"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
517
563
  }
518
564
 
519
- interface TargetGroup {
565
+ interface DelegationGrantableTargetGroup {
520
566
  key: string;
521
567
  target: DelegationScopeTarget;
522
568
  grants: DelegationGrant[];
569
+ sortOrder: number;
570
+ }
571
+ interface DelegationGrantableHierarchyGroup {
572
+ key: string;
573
+ groupType: string;
574
+ displayName?: DelegationDisplayValue;
575
+ sortOrder: number;
576
+ targets: DelegationGrantableTargetGroup[];
523
577
  }
578
+
524
579
  /**
525
- * Grants-based scope picker (doc 03). Driven entirely by `scope/options`:
526
- * - lists grantable target/action pairs returned by the backend,
527
- * - lets the user toggle each grant,
580
+ * Hierarchy-based scope picker (doc 03). Driven entirely by `scope/options`:
581
+ * - renders backend-owned Level -> Level Module -> operations hierarchy,
582
+ * - lets the user toggle each explicit grant,
528
583
  * - calls `scope/preview` (debounced) and surfaces summary / warnings / denied.
529
584
  *
530
585
  * `[(scope)]` two-way binds a `DelegationScopeSelection`. The component never
531
- * invents permission metadata — it only echoes grants returned by options.
586
+ * invents permission metadata — it only echoes targets/actions returned by
587
+ * options.
532
588
  */
533
589
  declare class ScopePicker {
534
590
  readonly scope: _angular_core.ModelSignal<DelegationScopeSelection>;
@@ -546,22 +602,24 @@ declare class ScopePicker {
546
602
  protected readonly isLoadingOptions: _angular_core.Signal<boolean>;
547
603
  protected readonly isPreviewing: _angular_core.Signal<boolean>;
548
604
  protected readonly errorOptions: _angular_core.Signal<string | null>;
549
- /** Grantable options grouped by target. */
550
- protected readonly groups: _angular_core.Signal<TargetGroup[]>;
605
+ protected readonly groups: _angular_core.Signal<DelegationGrantableHierarchyGroup[]>;
551
606
  /** Selected grant keys for O(1) checkbox state. */
552
607
  protected readonly selectedKeys: _angular_core.Signal<Set<string>>;
553
608
  private readonly expanded;
554
609
  constructor();
555
- protected isExpanded(group: TargetGroup): boolean;
556
- protected toggleAccordion(group: TargetGroup): void;
610
+ protected isExpanded(group: DelegationGrantableHierarchyGroup): boolean;
611
+ protected toggleAccordion(group: DelegationGrantableHierarchyGroup): void;
557
612
  protected isSelected(grant: DelegationGrant): boolean;
613
+ protected getGroupLabel(group: DelegationGrantableHierarchyGroup): string;
558
614
  protected getTargetLabel(target: DelegationScopeTarget): string;
559
615
  protected getActionLabel(grant: DelegationGrant): string;
616
+ protected getTargetActions(targetGroup: DelegationGrantableTargetGroup): DelegationGrant[];
560
617
  protected getPreviewSummary(summary: DelegationDisplayValue | undefined): string;
561
618
  protected formatDeniedOperation(value?: string | null): string;
562
619
  protected formatDeniedTarget(value?: string | null): string;
563
620
  protected toggleGrant(grant: DelegationGrant): void;
564
- protected selectedCount(group: TargetGroup): number;
621
+ protected selectedCount(group: DelegationGrantableHierarchyGroup): number;
622
+ protected selectedTargetCount(targetGroup: DelegationGrantableTargetGroup): number;
565
623
  private currentLanguage;
566
624
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ScopePicker, never>;
567
625
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<ScopePicker, "mt-scope-picker", never, { "scope": { "alias": "scope"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "delegatorUserId": { "alias": "delegatorUserId"; "required": false; "isSignal": true; }; }, { "scope": "scopeChange"; }, never, never, true, never>;
@@ -584,6 +642,11 @@ declare class GetAssignedDelegations {
584
642
  static readonly type = "[Delegations] Get Assigned Delegations";
585
643
  constructor(query?: DelegationListQuery);
586
644
  }
645
+ declare class GetAdminDelegations {
646
+ query: DelegationListQuery;
647
+ static readonly type = "[Delegations] Get Admin Delegations";
648
+ constructor(query?: DelegationListQuery);
649
+ }
587
650
  declare class GetActiveAssignedDelegations {
588
651
  query: DelegationListQuery;
589
652
  static readonly type = "[Delegations] Get Active Assigned Delegations";
@@ -673,6 +736,7 @@ declare class DelegationsState {
673
736
  private http;
674
737
  static getMy(state: DelegationsStateModel): DelegationPage<DelegationRow> | null;
675
738
  static getAssigned(state: DelegationsStateModel): DelegationPage<DelegationRow> | null;
739
+ static getAdmin(state: DelegationsStateModel): DelegationPage<DelegationRow> | null;
676
740
  static getActive(state: DelegationsStateModel): DelegationPage<DelegationRow> | null;
677
741
  static getDetail(state: DelegationsStateModel): DelegationDetail | null;
678
742
  static getScopeOptions(state: DelegationsStateModel): DelegationScopeOptions | null;
@@ -681,6 +745,7 @@ declare class DelegationsState {
681
745
  static getErrors(state: DelegationsStateModel): Record<string, string | null | undefined>;
682
746
  getMy(ctx: StateContext<DelegationsStateModel>, { query }: GetMyDelegations): rxjs.Observable<Response<DelegationPage<DelegationRow>>>;
683
747
  getAssigned(ctx: StateContext<DelegationsStateModel>, { query }: GetAssignedDelegations): rxjs.Observable<Response<DelegationPage<DelegationRow>>>;
748
+ getAdmin(ctx: StateContext<DelegationsStateModel>, { query }: GetAdminDelegations): rxjs.Observable<Response<DelegationPage<DelegationRow>>>;
684
749
  getActive(ctx: StateContext<DelegationsStateModel>, { query }: GetActiveAssignedDelegations): rxjs.Observable<Response<DelegationPage<DelegationRow>>>;
685
750
  getDetail(ctx: StateContext<DelegationsStateModel>, { id }: GetDelegationDetail): rxjs.Observable<Response<DelegationDetail>>;
686
751
  clearDetail(ctx: StateContext<DelegationsStateModel>): void;
@@ -702,6 +767,7 @@ declare class DelegationsFacade {
702
767
  private readonly store;
703
768
  readonly myPage: _angular_core.Signal<_masterteam_delegations.DelegationPage<_masterteam_delegations.DelegationRow> | null>;
704
769
  readonly assignedPage: _angular_core.Signal<_masterteam_delegations.DelegationPage<_masterteam_delegations.DelegationRow> | null>;
770
+ readonly adminPage: _angular_core.Signal<_masterteam_delegations.DelegationPage<_masterteam_delegations.DelegationRow> | null>;
705
771
  readonly activePage: _angular_core.Signal<_masterteam_delegations.DelegationPage<_masterteam_delegations.DelegationRow> | null>;
706
772
  readonly detail: _angular_core.Signal<_masterteam_delegations.DelegationDetail | null>;
707
773
  readonly scopeOptions: _angular_core.Signal<_masterteam_delegations.DelegationScopeOptions | null>;
@@ -710,9 +776,11 @@ declare class DelegationsFacade {
710
776
  private readonly errors;
711
777
  readonly myItems: _angular_core.Signal<_masterteam_delegations.DelegationRow[]>;
712
778
  readonly assignedItems: _angular_core.Signal<_masterteam_delegations.DelegationRow[]>;
779
+ readonly adminItems: _angular_core.Signal<_masterteam_delegations.DelegationRow[]>;
713
780
  readonly activeItems: _angular_core.Signal<_masterteam_delegations.DelegationRow[]>;
714
781
  readonly isLoadingMy: _angular_core.Signal<boolean>;
715
782
  readonly isLoadingAssigned: _angular_core.Signal<boolean>;
783
+ readonly isLoadingAdmin: _angular_core.Signal<boolean>;
716
784
  readonly isLoadingActive: _angular_core.Signal<boolean>;
717
785
  readonly isLoadingDetail: _angular_core.Signal<boolean>;
718
786
  readonly isLoadingScopeOptions: _angular_core.Signal<boolean>;
@@ -723,11 +791,13 @@ declare class DelegationsFacade {
723
791
  readonly isCancelling: _angular_core.Signal<boolean>;
724
792
  readonly errorMy: _angular_core.Signal<string | null>;
725
793
  readonly errorAssigned: _angular_core.Signal<string | null>;
794
+ readonly errorAdmin: _angular_core.Signal<string | null>;
726
795
  readonly errorDetail: _angular_core.Signal<string | null>;
727
796
  readonly errorScopeOptions: _angular_core.Signal<string | null>;
728
797
  readonly errorSave: _angular_core.Signal<string | null>;
729
798
  getMy(query?: DelegationListQuery): rxjs.Observable<void>;
730
799
  getAssigned(query?: DelegationListQuery): rxjs.Observable<void>;
800
+ getAdmin(query?: DelegationListQuery): rxjs.Observable<void>;
731
801
  getActive(query?: DelegationListQuery): rxjs.Observable<void>;
732
802
  getDetail(id: number): rxjs.Observable<void>;
733
803
  clearDetail(): rxjs.Observable<void>;
@@ -831,5 +901,5 @@ declare class DelegationSessionFacade {
831
901
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<DelegationSessionFacade>;
832
902
  }
833
903
 
834
- export { ApproveDelegation, CancelDelegation, ClearDelegationDetail, ClearScopePreview, CreateDelegationLegacy, CreateDelegationV2, DelegationDetailDrawer, DelegationForm, DelegationSessionActionKey, DelegationSessionFacade, DelegationSessionState, DelegationStatusChip, Delegations, DelegationsActionKey, DelegationsFacade, DelegationsList, DelegationsState, EndDelegationSession, GetActiveAssignedDelegations, GetAssignedDelegations, GetDelegationDetail, GetMyDelegations, GetScopeOptions, LoadDelegationCandidates, PreviewScope, RejectDelegation, RejectDelegationDialog, ScopePicker, StartDelegationSession, StartSessionDialog, SwitchDelegationSession, TopbarDelegationMenu, UpdateDelegationLegacy, UpdateDelegationV2, appDelegationInterceptor };
835
- export type { ActiveDelegationSession, ApproveDelegationRequest, CreateDelegationLegacyRequest, CreateDelegationV2Request, DelegationAllowedAction, DelegationApprovalInfo, DelegationApprovalStatus, DelegationCancellationInfo, DelegationDayRuleMode, DelegationDetail, DelegationDisplayValue, DelegationDto, DelegationEffectiveStatus, DelegationGrant, DelegationListQuery, DelegationPage, DelegationParty, DelegationRow, DelegationScopeAction, DelegationScopeCombinationRule, DelegationScopeDeniedItem, DelegationScopeFact, DelegationScopeOptions, DelegationScopePreview, DelegationScopeSelection, DelegationScopeTarget, DelegationScopeWarning, DelegationSessionInvalidationReason, DelegationSessionStateModel, DelegationSortDirection, DelegationStatusInfo, DelegationsStateModel, RejectDelegationRequest, UpdateDelegationLegacyRequest, UpdateDelegationV2Request };
904
+ export { ApproveDelegation, CancelDelegation, ClearDelegationDetail, ClearScopePreview, CreateDelegationLegacy, CreateDelegationV2, DelegationDetailDrawer, DelegationForm, DelegationSessionActionKey, DelegationSessionFacade, DelegationSessionState, DelegationStatusChip, Delegations, DelegationsActionKey, DelegationsFacade, DelegationsList, DelegationsState, EndDelegationSession, GetActiveAssignedDelegations, GetAdminDelegations, GetAssignedDelegations, GetDelegationDetail, GetMyDelegations, GetScopeOptions, LoadDelegationCandidates, PreviewScope, RejectDelegation, RejectDelegationDialog, ScopePicker, StartDelegationSession, StartSessionDialog, SwitchDelegationSession, TopbarDelegationMenu, UpdateDelegationLegacy, UpdateDelegationV2, appDelegationInterceptor };
905
+ export type { ActiveDelegationSession, ApproveDelegationRequest, CreateDelegationLegacyRequest, CreateDelegationV2Request, DelegationAllowedAction, DelegationApprovalInfo, DelegationApprovalStatus, DelegationCancellationInfo, DelegationDayRuleMode, DelegationDetail, DelegationDisplayValue, DelegationDto, DelegationEffectiveStatus, DelegationGrant, DelegationListQuery, DelegationPage, DelegationParty, DelegationRow, DelegationScopeAction, DelegationScopeCombinationRule, DelegationScopeDeniedItem, DelegationScopeFact, DelegationScopeHierarchyGroup, DelegationScopeHierarchyTarget, DelegationScopeOptions, DelegationScopePreview, DelegationScopeSelection, DelegationScopeTarget, DelegationScopeWarning, DelegationSessionInvalidationReason, DelegationSessionStateModel, DelegationSortDirection, DelegationStatusInfo, DelegationsStateModel, RejectDelegationRequest, UpdateDelegationLegacyRequest, UpdateDelegationV2Request };