@sinequa/atomic-angular 2.5.0 → 2.6.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.
@@ -13,6 +13,7 @@ import { Placement } from "@floating-ui/dom";
13
13
  import { CdkDragDrop } from "@angular/cdk/drag-drop";
14
14
  import { Options as Options$1 } from "vanilla-calendar-pro";
15
15
  import { TreeItem } from "@angular/aria/tree";
16
+ import { Toolbar } from "@angular/aria/toolbar";
16
17
  import { HttpHandlerFn, HttpInterceptorFn, HttpRequest } from "@angular/common/http";
17
18
  import { HighlightWords } from "highlight-words";
18
19
  import { DatePipe, DatePipeConfig } from "@angular/common";
@@ -593,7 +594,9 @@ export declare class ConverterSelectComponent {
593
594
  defaultAgent: string;
594
595
  };
595
596
  }>;
596
- initialize: () => Promise<void>;
597
+ initialize: () => Promise<undefined>;
598
+ hydrate: (app: import("@sinequa/atomic").CCApp) => void;
599
+ fail: (error: unknown) => never;
597
600
  initializeWithAppName: (appName: string) => Promise<void>;
598
601
  update: (app: Partial<import("@sinequa/atomic-angular").CCAppState>) => void;
599
602
  getWebServiceByType: (type: import("@sinequa/atomic").CCWebService["webServiceType"]) => import("@sinequa/atomic").CCWebService | undefined;
@@ -1053,7 +1056,7 @@ export declare class MetadataComponent {
1053
1056
  }>;
1054
1057
  class: import("@angular/core").InputSignal<string | undefined>;
1055
1058
  variant: import("@angular/core").InputSignal<"primary" | "secondary" | null | undefined>;
1056
- size: import("@angular/core").InputSignal<"small" | "medium" | "sm" | "md" | "xs" | "xsmall" | null | undefined>;
1059
+ size: import("@angular/core").InputSignal<"small" | "sm" | "md" | "xs" | "xsmall" | "medium" | null | undefined>;
1057
1060
  scheme: import("@angular/core").InputSignal<"error" | "sage" | "success" | "almond" | "pink" | "grey" | "yellow" | "cherry" | "indigo" | "cyan" | "warning" | "info" | null | undefined>;
1058
1061
  metadata: import("@angular/core").InputSignal<(string & Record<never, never>) | KeyOf<Article>>;
1059
1062
  article: import("@angular/core").InputSignal<Partial<Article> | (string & Record<never, never>)>;
@@ -1406,7 +1409,9 @@ export declare class MultiSelectionToolbarComponent {
1406
1409
  defaultAgent: string;
1407
1410
  };
1408
1411
  }>;
1409
- initialize: () => Promise<void>;
1412
+ initialize: () => Promise<undefined>;
1413
+ hydrate: (app: CCApp) => void;
1414
+ fail: (error: unknown) => never;
1410
1415
  initializeWithAppName: (appName: string) => Promise<void>;
1411
1416
  update: (app: Partial<import("@sinequa/atomic-angular").CCAppState>) => void;
1412
1417
  getWebServiceByType: (type: import("@sinequa/atomic").CCWebService["webServiceType"]) => import("@sinequa/atomic").CCWebService | undefined;
@@ -1634,6 +1639,14 @@ export declare class MultiSelectionToolbarComponent {
1634
1639
  readonly ids: import("@angular/core").Signal<string[]>;
1635
1640
  readonly instanceId: import("@angular/core").Signal<string>;
1636
1641
  readonly enabledUserInput: import("@angular/core").Signal<boolean>;
1642
+ /**
1643
+ * Affiche l'action « Ajouter à l'AI Overview ». La librairie ne peut pas savoir si l'application
1644
+ * embarque un assistant : ce `input` est le consentement de l'hôte (faux par défaut). À mettre à
1645
+ * `true` uniquement si l'application lit `assistantIdsToAttach` du `SelectionStore`.
1646
+ */
1647
+ readonly allowAI: import("@angular/core").InputSignal<boolean>;
1648
+ /** L'hôte l'autorise, l'assistant est configuré et autorisé côté backend, et la saisie utilisateur est activée. */
1649
+ readonly showAssistantAction: import("@angular/core").Signal<boolean>;
1637
1650
  /** Vrai uniquement à la première sélection : ensuite, seul le décompte est annoncé. */
1638
1651
  protected readonly showHint: import("@angular/core").WritableSignal<boolean>;
1639
1652
  private armed;
@@ -1659,6 +1672,11 @@ export declare class MultiSelectionToolbarComponent {
1659
1672
  "required": false;
1660
1673
  "isSignal": true;
1661
1674
  };
1675
+ "allowAI": {
1676
+ "alias": "allowAI";
1677
+ "required": false;
1678
+ "isSignal": true;
1679
+ };
1662
1680
  }, {
1663
1681
  "updatedCollections": "updatedCollections";
1664
1682
  "cleared": "cleared";
@@ -1855,7 +1873,9 @@ export declare class NavbarTabsComponent {
1855
1873
  defaultAgent: string;
1856
1874
  };
1857
1875
  }>;
1858
- initialize: () => Promise<void>;
1876
+ initialize: () => Promise<undefined>;
1877
+ hydrate: (app: import("@sinequa/atomic").CCApp) => void;
1878
+ fail: (error: unknown) => never;
1859
1879
  initializeWithAppName: (appName: string) => Promise<void>;
1860
1880
  update: (app: Partial<import("@sinequa/atomic-angular").CCAppState>) => void;
1861
1881
  getWebServiceByType: (type: import("@sinequa/atomic").CCWebService["webServiceType"]) => import("@sinequa/atomic").CCWebService | undefined;
@@ -2356,7 +2376,17 @@ export declare const AppStore: import("@angular/core").Type<{
2356
2376
  sidebar?: string;
2357
2377
  };
2358
2378
  dark?: {
2359
- small?: string;
2379
+ small?
2380
+ /**
2381
+ * Sets the store from an app configuration already in hand, and builds the column map. What
2382
+ * `initialize()` does after its fetch — separate so that a start-up that fetched the
2383
+ * configuration elsewhere (in parallel, or from an aggregating endpoint) does not fetch it twice.
2384
+ */
2385
+ /**
2386
+ * Sets the store from an app configuration already in hand, and builds the column map. What
2387
+ * `initialize()` does after its fetch — separate so that a start-up that fetched the
2388
+ * configuration elsewhere (in parallel, or from an aggregating endpoint) does not fetch it twice.
2389
+ */ : string;
2360
2390
  large?: string;
2361
2391
  sidebar?: string;
2362
2392
  };
@@ -2420,7 +2450,17 @@ export declare const AppStore: import("@angular/core").Type<{
2420
2450
  sidebar?: string;
2421
2451
  };
2422
2452
  dark?: {
2423
- small?: string;
2453
+ small?
2454
+ /**
2455
+ * Sets the store from an app configuration already in hand, and builds the column map. What
2456
+ * `initialize()` does after its fetch — separate so that a start-up that fetched the
2457
+ * configuration elsewhere (in parallel, or from an aggregating endpoint) does not fetch it twice.
2458
+ */
2459
+ /**
2460
+ * Sets the store from an app configuration already in hand, and builds the column map. What
2461
+ * `initialize()` does after its fetch — separate so that a start-up that fetched the
2462
+ * configuration elsewhere (in parallel, or from an aggregating endpoint) does not fetch it twice.
2463
+ */ : string;
2424
2464
  large?: string;
2425
2465
  sidebar?: string;
2426
2466
  };
@@ -2456,7 +2496,9 @@ export declare const AppStore: import("@angular/core").Type<{
2456
2496
  } | undefined>;
2457
2497
  assistants: import("@angular/core").Signal<AssistantConfiguration>;
2458
2498
  agents: import("@angular/core").Signal<AgentConfiguration>;
2459
- initialize: () => Promise<void>;
2499
+ initialize: () => Promise<undefined>;
2500
+ hydrate: (app: CCApp) => void;
2501
+ fail: (error: unknown) => never;
2460
2502
  initializeWithAppName: (appName: string) => Promise<void>;
2461
2503
  update: (app: Partial<CCAppState>) => void;
2462
2504
  getWebServiceByType: (type: CCWebService["webServiceType"]) => CCWebService | undefined;
@@ -2548,7 +2590,17 @@ export declare const AppStore: import("@angular/core").Type<{
2548
2590
  sidebar?: string;
2549
2591
  };
2550
2592
  dark?: {
2551
- small?: string;
2593
+ small?
2594
+ /**
2595
+ * Sets the store from an app configuration already in hand, and builds the column map. What
2596
+ * `initialize()` does after its fetch — separate so that a start-up that fetched the
2597
+ * configuration elsewhere (in parallel, or from an aggregating endpoint) does not fetch it twice.
2598
+ */
2599
+ /**
2600
+ * Sets the store from an app configuration already in hand, and builds the column map. What
2601
+ * `initialize()` does after its fetch — separate so that a start-up that fetched the
2602
+ * configuration elsewhere (in parallel, or from an aggregating endpoint) does not fetch it twice.
2603
+ */ : string;
2552
2604
  large?: string;
2553
2605
  sidebar?: string;
2554
2606
  };
@@ -2669,7 +2721,17 @@ export declare function withAppFeatures(): import("@ngrx/signals").SignalStoreFe
2669
2721
  sidebar?: string;
2670
2722
  };
2671
2723
  dark?: {
2672
- small?: string;
2724
+ small?
2725
+ /**
2726
+ * Sets the store from an app configuration already in hand, and builds the column map. What
2727
+ * `initialize()` does after its fetch — separate so that a start-up that fetched the
2728
+ * configuration elsewhere (in parallel, or from an aggregating endpoint) does not fetch it twice.
2729
+ */
2730
+ /**
2731
+ * Sets the store from an app configuration already in hand, and builds the column map. What
2732
+ * `initialize()` does after its fetch — separate so that a start-up that fetched the
2733
+ * configuration elsewhere (in parallel, or from an aggregating endpoint) does not fetch it twice.
2734
+ */ : string;
2673
2735
  large?: string;
2674
2736
  sidebar?: string;
2675
2737
  };
@@ -2735,7 +2797,17 @@ export declare function withAppFeatures(): import("@ngrx/signals").SignalStoreFe
2735
2797
  sidebar?: string;
2736
2798
  };
2737
2799
  dark?: {
2738
- small?: string;
2800
+ small?
2801
+ /**
2802
+ * Sets the store from an app configuration already in hand, and builds the column map. What
2803
+ * `initialize()` does after its fetch — separate so that a start-up that fetched the
2804
+ * configuration elsewhere (in parallel, or from an aggregating endpoint) does not fetch it twice.
2805
+ */
2806
+ /**
2807
+ * Sets the store from an app configuration already in hand, and builds the column map. What
2808
+ * `initialize()` does after its fetch — separate so that a start-up that fetched the
2809
+ * configuration elsewhere (in parallel, or from an aggregating endpoint) does not fetch it twice.
2810
+ */ : string;
2739
2811
  large?: string;
2740
2812
  sidebar?: string;
2741
2813
  };
@@ -2773,7 +2845,9 @@ export declare function withAppFeatures(): import("@ngrx/signals").SignalStoreFe
2773
2845
  agents: import("@angular/core").Signal<AgentConfiguration>;
2774
2846
  };
2775
2847
  methods: {
2776
- initialize: () => Promise<void>;
2848
+ initialize: () => Promise<undefined>;
2849
+ hydrate: (app: CCApp) => void;
2850
+ fail: (error: unknown) => never;
2777
2851
  initializeWithAppName: (appName: string) => Promise<void>;
2778
2852
  update: (app: Partial<CCAppState>) => void;
2779
2853
  getWebServiceByType: (type: CCWebService["webServiceType"]) => CCWebService | undefined;
@@ -2908,6 +2982,8 @@ export declare const PrincipalStore: import("@angular/core").Type<{
2908
2982
  allowUserOverride: import("@angular/core").Signal<boolean>;
2909
2983
  isOverridingUser: import("@angular/core").Signal<boolean>;
2910
2984
  initials: import("@angular/core").Signal<string>;
2985
+ hydrate: (principal: Principal) => void;
2986
+ fail: (error: unknown) => never;
2911
2987
  principal: () => Principal;
2912
2988
  initialize: () => Promise<void>;
2913
2989
  } & import("@ngrx/signals").StateSource<{
@@ -3323,6 +3399,8 @@ export declare const UserSettingsStore: import("@angular/core").Type<{
3323
3399
  updateAssistantSettings: (assistantSettings: import("@sinequa/atomic-angular").UserSettingsState["assistants"]) => Promise<void>;
3324
3400
  updateLanguage: (language: import("@sinequa/atomic-angular").UserSettingsState["language"], auditEvents?: import("@sinequa/atomic").AuditEvents) => Promise<void>;
3325
3401
  updateAssistantCollapsed: (collapseAssistant: import("@sinequa/atomic-angular").UserSettingsState["collapseAssistant"], auditEvents?: import("@sinequa/atomic").AuditEvents) => Promise<void>;
3402
+ hydrate: (settings: import("@sinequa/atomic-angular").UserSettingsState) => void;
3403
+ fail: (err: unknown) => void;
3326
3404
  initialize: () => Promise<void>;
3327
3405
  reset: () => Promise<void>;
3328
3406
  deleteAlert: (index: number) => Promise<void>;
@@ -3434,6 +3512,8 @@ export declare function withUserSettingsFeatures(): import("@ngrx/signals").Sign
3434
3512
  };
3435
3513
  props: {};
3436
3514
  methods: {
3515
+ hydrate: (settings: UserSettingsState) => void;
3516
+ fail: (err: unknown) => void;
3437
3517
  initialize: () => Promise<void>;
3438
3518
  reset: () => Promise<void>;
3439
3519
  };
@@ -3627,7 +3707,9 @@ export declare class PreviewContentComponent {
3627
3707
  defaultAgent: string;
3628
3708
  };
3629
3709
  }>;
3630
- initialize: () => Promise<void>;
3710
+ initialize: () => Promise<undefined>;
3711
+ hydrate: (app: import("@sinequa/atomic").CCApp) => void;
3712
+ fail: (error: unknown) => never;
3631
3713
  initializeWithAppName: (appName: string) => Promise<void>;
3632
3714
  update: (app: Partial<import("@sinequa/atomic-angular").CCAppState>) => void;
3633
3715
  getWebServiceByType: (type: import("@sinequa/atomic").CCWebService["webServiceType"]) => import("@sinequa/atomic").CCWebService | undefined;
@@ -4273,7 +4355,9 @@ export declare class AggregationsService {
4273
4355
  defaultAgent: string;
4274
4356
  };
4275
4357
  }>;
4276
- initialize: () => Promise<void>;
4358
+ initialize: () => Promise<undefined>;
4359
+ hydrate: (app: import("@sinequa/atomic").CCApp) => void;
4360
+ fail: (error: unknown) => never;
4277
4361
  initializeWithAppName: (appName: string) => Promise<void>;
4278
4362
  update: (app: Partial<CCAppState>) => void;
4279
4363
  getWebServiceByType: (type: import("@sinequa/atomic").CCWebService["webServiceType"]) => import("@sinequa/atomic").CCWebService | undefined;
@@ -4704,26 +4788,28 @@ export declare class ApplicationService {
4704
4788
  disabledHighlightCategories: import("@angular/core").Signal<string[]>;
4705
4789
  isDebugMode: import("@angular/core").Signal<boolean>;
4706
4790
  isDarkMode: import("@angular/core").Signal<boolean>;
4707
- updateBookmarks: (bookmarks: import("@sinequa/atomic-angular").UserSettingsState["bookmarks"], auditEvents?: import("@sinequa/atomic").AuditEvents) => Promise<void>;
4791
+ updateBookmarks: (bookmarks: UserSettingsState["bookmarks"], auditEvents?: import("@sinequa/atomic").AuditEvents) => Promise<void>;
4708
4792
  bookmark: (article: import("@sinequa/atomic").Article, queryName?: string) => Promise<void>;
4709
4793
  unbookmark: (id: string) => Promise<void>;
4710
4794
  isBookmarked: (article: Partial<import("@sinequa/atomic").Article>) => boolean;
4711
4795
  toggleBookmark: (article: import("@sinequa/atomic").Article) => Promise<void>;
4712
4796
  deleteRecentSearch: (index: number) => Promise<void>;
4713
- updateRecentSearches: (recentSearches: import("@sinequa/atomic-angular").UserSettingsState["recentSearches"], auditEvents?: import("@sinequa/atomic").AuditEvents) => Promise<void>;
4797
+ updateRecentSearches: (recentSearches: UserSettingsState["recentSearches"], auditEvents?: import("@sinequa/atomic").AuditEvents) => Promise<void>;
4714
4798
  addCurrentSearch: (queryParams: import("@sinequa/atomic").QueryParams) => Promise<void>;
4715
4799
  deleteSavedSearch: (index: number) => Promise<void>;
4716
- updateSavedSearches: (savedSearches: import("@sinequa/atomic-angular").UserSettingsState["savedSearches"]) => Promise<void>;
4800
+ updateSavedSearches: (savedSearches: UserSettingsState["savedSearches"]) => Promise<void>;
4717
4801
  getSavedSearch: (search: string, tab?: string) => import("@sinequa/atomic-angular").SearchItem | undefined;
4718
4802
  deleteBasket: (index: number) => Promise<void>;
4719
4803
  createBasket: (basket: import("@sinequa/atomic-angular").Basket) => Promise<void>;
4720
- updateBaskets: (baskets: import("@sinequa/atomic-angular").UserSettingsState["baskets"]) => Promise<void>;
4804
+ updateBaskets: (baskets: UserSettingsState["baskets"]) => Promise<void>;
4721
4805
  updateBasket: (basket: import("@sinequa/atomic-angular").Basket, index: number) => Promise<void>;
4722
4806
  addToBasket: (name: string, ids: string | string[]) => Promise<void>;
4723
4807
  removeFromBasket: (name: string, ids: string | string[]) => Promise<void>;
4724
- updateAssistantSettings: (assistantSettings: import("@sinequa/atomic-angular").UserSettingsState["assistants"]) => Promise<void>;
4725
- updateLanguage: (language: import("@sinequa/atomic-angular").UserSettingsState["language"], auditEvents?: import("@sinequa/atomic").AuditEvents) => Promise<void>;
4726
- updateAssistantCollapsed: (collapseAssistant: import("@sinequa/atomic-angular").UserSettingsState["collapseAssistant"], auditEvents?: import("@sinequa/atomic").AuditEvents) => Promise<void>;
4808
+ updateAssistantSettings: (assistantSettings: UserSettingsState["assistants"]) => Promise<void>;
4809
+ updateLanguage: (language: UserSettingsState["language"], auditEvents?: import("@sinequa/atomic").AuditEvents) => Promise<void>;
4810
+ updateAssistantCollapsed: (collapseAssistant: UserSettingsState["collapseAssistant"], auditEvents?: import("@sinequa/atomic").AuditEvents) => Promise<void>;
4811
+ hydrate: (settings: UserSettingsState) => void;
4812
+ fail: (err: unknown) => void;
4727
4813
  initialize: () => Promise<void>;
4728
4814
  reset: () => Promise<void>;
4729
4815
  deleteAlert: (index: number) => Promise<void>;
@@ -4778,6 +4864,8 @@ export declare class ApplicationService {
4778
4864
  allowUserOverride: import("@angular/core").Signal<boolean>;
4779
4865
  isOverridingUser: import("@angular/core").Signal<boolean>;
4780
4866
  initials: import("@angular/core").Signal<string>;
4867
+ hydrate: (principal: import("@sinequa/atomic").Principal) => void;
4868
+ fail: (error: unknown) => never;
4781
4869
  principal: () => import("@sinequa/atomic").Principal;
4782
4870
  initialize: () => Promise<void>;
4783
4871
  } & import("@ngrx/signals").StateSource<{
@@ -4980,7 +5068,9 @@ export declare class ApplicationService {
4980
5068
  defaultAgent: string;
4981
5069
  };
4982
5070
  }>;
4983
- initialize: () => Promise<void>;
5071
+ initialize: () => Promise<undefined>;
5072
+ hydrate: (app: CCApp) => void;
5073
+ fail: (error: unknown) => never;
4984
5074
  initializeWithAppName: (appName: string) => Promise<void>;
4985
5075
  update: (app: Partial<import("@sinequa/atomic-angular").CCAppState>) => void;
4986
5076
  getWebServiceByType: (type: import("@sinequa/atomic").CCWebService["webServiceType"]) => import("@sinequa/atomic").CCWebService | undefined;
@@ -5237,6 +5327,7 @@ export declare class ApplicationService {
5237
5327
  router: Router;
5238
5328
  titleService: Title;
5239
5329
  private readonly client;
5330
+ private readonly startupDataSource;
5240
5331
  components: ComponentMapping[];
5241
5332
  defaultComponent: import("@angular/core").Signal<Type<unknown> | undefined>;
5242
5333
  defaultLayoutComponent: import("@angular/core").Signal<Type<unknown> | undefined>;
@@ -5284,6 +5375,26 @@ export declare class ApplicationService {
5284
5375
  syncUrl?: boolean;
5285
5376
  isBootstrap?: boolean;
5286
5377
  }): Promise<void>;
5378
+ /**
5379
+ * The start-up reads, in parallel: none depends on another's answer, only on the session, so
5380
+ * waiting for each in turn cost two round trips for nothing. A part the start-up data source
5381
+ * ({@link provideStartupAggregation}) provided is taken as is; every other part — all three without
5382
+ * a source, or when it fails — is read here, still in parallel. So the result only carries errors
5383
+ * of reads made here, never one a source reported.
5384
+ */
5385
+ private loadStartupData;
5386
+ /**
5387
+ * What the start-up data source answers, or `undefined` when there is none, when it fails, or when
5388
+ * its answer is not an object — an empty `204` reads as `undefined`. Never throws: the parts it
5389
+ * could not provide are then read the usual way.
5390
+ */
5391
+ private readStartupDataSource;
5392
+ /**
5393
+ * Applies one part to its store: its value, or the error its read failed with, handled exactly as
5394
+ * the store's own `initialize()` would (the configuration and the principal throw, the settings keep
5395
+ * their defaults).
5396
+ */
5397
+ private apply;
5287
5398
  /**
5288
5399
  * Creates dynamic routes based on the application's queries and custom JSON configurations.
5289
5400
  *
@@ -5513,7 +5624,9 @@ export declare class AuditService {
5513
5624
  defaultAgent: string;
5514
5625
  };
5515
5626
  }>;
5516
- initialize: () => Promise<void>;
5627
+ initialize: () => Promise<undefined>;
5628
+ hydrate: (app: CCApp) => void;
5629
+ fail: (error: unknown) => never;
5517
5630
  initializeWithAppName: (appName: string) => Promise<void>;
5518
5631
  update: (app: Partial<import("@sinequa/atomic-angular").CCAppState>) => void;
5519
5632
  getWebServiceByType: (type: import("@sinequa/atomic").CCWebService["webServiceType"]) => import("@sinequa/atomic").CCWebService | undefined;
@@ -5729,6 +5842,8 @@ export declare class AutocompleteService {
5729
5842
  updateAssistantSettings: (assistantSettings: import("@sinequa/atomic-angular").UserSettingsState["assistants"]) => Promise<void>;
5730
5843
  updateLanguage: (language: import("@sinequa/atomic-angular").UserSettingsState["language"], auditEvents?: import("@sinequa/atomic").AuditEvents) => Promise<void>;
5731
5844
  updateAssistantCollapsed: (collapseAssistant: import("@sinequa/atomic-angular").UserSettingsState["collapseAssistant"], auditEvents?: import("@sinequa/atomic").AuditEvents) => Promise<void>;
5845
+ hydrate: (settings: import("@sinequa/atomic-angular").UserSettingsState) => void;
5846
+ fail: (err: unknown) => void;
5732
5847
  initialize: () => Promise<void>;
5733
5848
  reset: () => Promise<void>;
5734
5849
  deleteAlert: (index: number) => Promise<void>;
@@ -5923,7 +6038,9 @@ export declare class AutocompleteService {
5923
6038
  defaultAgent: string;
5924
6039
  };
5925
6040
  }>;
5926
- initialize: () => Promise<void>;
6041
+ initialize: () => Promise<undefined>;
6042
+ hydrate: (app: import("@sinequa/atomic").CCApp) => void;
6043
+ fail: (error: unknown) => never;
5927
6044
  initializeWithAppName: (appName: string) => Promise<void>;
5928
6045
  update: (app: Partial<import("@sinequa/atomic-angular").CCAppState>) => void;
5929
6046
  getWebServiceByType: (type: CCWebService["webServiceType"]) => CCWebService | undefined;
@@ -6944,7 +7061,9 @@ export declare class PreviewService {
6944
7061
  defaultAgent: string;
6945
7062
  };
6946
7063
  }>;
6947
- initialize: () => Promise<void>;
7064
+ initialize: () => Promise<undefined>;
7065
+ hydrate: (app: import("@sinequa/atomic").CCApp) => void;
7066
+ fail: (error: unknown) => never;
6948
7067
  initializeWithAppName: (appName: string) => Promise<void>;
6949
7068
  update: (app: Partial<import("@sinequa/atomic-angular").CCAppState>) => void;
6950
7069
  getWebServiceByType: (type: CCWebService["webServiceType"]) => CCWebService | undefined;
@@ -7308,6 +7427,8 @@ export declare class SavedSearchesService {
7308
7427
  updateAssistantSettings: (assistantSettings: import("@sinequa/atomic-angular").UserSettingsState["assistants"]) => Promise<void>;
7309
7428
  updateLanguage: (language: import("@sinequa/atomic-angular").UserSettingsState["language"], auditEvents?: import("@sinequa/atomic").AuditEvents) => Promise<void>;
7310
7429
  updateAssistantCollapsed: (collapseAssistant: import("@sinequa/atomic-angular").UserSettingsState["collapseAssistant"], auditEvents?: import("@sinequa/atomic").AuditEvents) => Promise<void>;
7430
+ hydrate: (settings: import("@sinequa/atomic-angular").UserSettingsState) => void;
7431
+ fail: (err: unknown) => void;
7311
7432
  initialize: () => Promise<void>;
7312
7433
  reset: () => Promise<void>;
7313
7434
  deleteAlert: (index: number) => Promise<void>;
@@ -7660,6 +7781,8 @@ export declare class SearchService {
7660
7781
  updateAssistantSettings: (assistantSettings: import("@sinequa/atomic-angular").UserSettingsState["assistants"]) => Promise<void>;
7661
7782
  updateLanguage: (language: import("@sinequa/atomic-angular").UserSettingsState["language"], auditEvents?: AuditEvents) => Promise<void>;
7662
7783
  updateAssistantCollapsed: (collapseAssistant: import("@sinequa/atomic-angular").UserSettingsState["collapseAssistant"], auditEvents?: AuditEvents) => Promise<void>;
7784
+ hydrate: (settings: import("@sinequa/atomic-angular").UserSettingsState) => void;
7785
+ fail: (err: unknown) => void;
7663
7786
  initialize: () => Promise<void>;
7664
7787
  reset: () => Promise<void>;
7665
7788
  deleteAlert: (index: number) => Promise<void>;
@@ -8140,7 +8263,9 @@ export declare class SortSelectorComponent {
8140
8263
  defaultAgent: string;
8141
8264
  };
8142
8265
  }>;
8143
- initialize: () => Promise<void>;
8266
+ initialize: () => Promise<undefined>;
8267
+ hydrate: (app: import("@sinequa/atomic").CCApp) => void;
8268
+ fail: (error: unknown) => never;
8144
8269
  initializeWithAppName: (appName: string) => Promise<void>;
8145
8270
  update: (app: Partial<import("@sinequa/atomic-angular").CCAppState>) => void;
8146
8271
  getWebServiceByType: (type: import("@sinequa/atomic").CCWebService["webServiceType"]) => import("@sinequa/atomic").CCWebService | undefined;
@@ -8493,6 +8618,8 @@ export declare class ShowBookmarkDirective {
8493
8618
  updateAssistantSettings: (assistantSettings: import("@sinequa/atomic-angular").UserSettingsState["assistants"]) => Promise<void>;
8494
8619
  updateLanguage: (language: import("@sinequa/atomic-angular").UserSettingsState["language"], auditEvents?: import("@sinequa/atomic").AuditEvents) => Promise<void>;
8495
8620
  updateAssistantCollapsed: (collapseAssistant: import("@sinequa/atomic-angular").UserSettingsState["collapseAssistant"], auditEvents?: import("@sinequa/atomic").AuditEvents) => Promise<void>;
8621
+ hydrate: (settings: import("@sinequa/atomic-angular").UserSettingsState) => void;
8622
+ fail: (err: unknown) => void;
8496
8623
  initialize: () => Promise<void>;
8497
8624
  reset: () => Promise<void>;
8498
8625
  deleteAlert: (index: number) => Promise<void>;
@@ -9056,7 +9183,9 @@ export declare class SponsoredResultsComponent {
9056
9183
  defaultAgent: string;
9057
9184
  };
9058
9185
  }>;
9059
- initialize: () => Promise<void>;
9186
+ initialize: () => Promise<undefined>;
9187
+ hydrate: (app: CCApp) => void;
9188
+ fail: (error: unknown) => never;
9060
9189
  initializeWithAppName: (appName: string) => Promise<void>;
9061
9190
  update: (app: Partial<import("@sinequa/atomic-angular").CCAppState>) => void;
9062
9191
  getWebServiceByType: (type: import("@sinequa/atomic").CCWebService["webServiceType"]) => import("@sinequa/atomic").CCWebService | undefined;
@@ -11564,7 +11693,7 @@ export declare class SignedOutComponent {
11564
11693
  }
11565
11694
  export declare class BookmarkButtonComponent {
11566
11695
  variant: import("@angular/core").InputSignal<"primary" | "secondary" | "none" | "light-accent" | "accent" | "tertiary" | null | undefined>;
11567
- size: import("@angular/core").InputSignal<"small" | "medium" | "sm" | "md" | "xs" | "xsmall" | "lg" | "large" | null | undefined>;
11696
+ size: import("@angular/core").InputSignal<"small" | "sm" | "md" | "xs" | "xsmall" | "medium" | "lg" | "large" | null | undefined>;
11568
11697
  /**
11569
11698
  * Tab index applied to the inner button.
11570
11699
  *
@@ -12483,7 +12612,9 @@ export declare class FeedbackDialogComponent {
12483
12612
  defaultAgent: string;
12484
12613
  };
12485
12614
  }>;
12486
- initialize: () => Promise<void>;
12615
+ initialize: () => Promise<undefined>;
12616
+ hydrate: (app: CCApp) => void;
12617
+ fail: (error: unknown) => never;
12487
12618
  initializeWithAppName: (appName: string) => Promise<void>;
12488
12619
  update: (app: Partial<import("@sinequa/atomic-angular").CCAppState>) => void;
12489
12620
  getWebServiceByType: (type: import("@sinequa/atomic").CCWebService["webServiceType"]) => import("@sinequa/atomic").CCWebService | undefined;
@@ -12936,6 +13067,8 @@ export declare class AggregationDateComponent {
12936
13067
  private readonly uid;
12937
13068
  protected readonly startId: string;
12938
13069
  protected readonly endId: string;
13070
+ /** Classes merged onto the host, after its defaults — `h-*` / `max-h-*` here bound the facet. */
13071
+ class: import("@angular/core").InputSignal<string>;
12939
13072
  name: import("@angular/core").InputSignal<string | null>;
12940
13073
  column: import("@angular/core").InputSignal<string | null>;
12941
13074
  id: import("@angular/core").InputSignal<string | null>;
@@ -13288,6 +13421,11 @@ export declare class AggregationDateComponent {
13288
13421
  private getFormValueFilter;
13289
13422
  static ɵfac: i0.ɵɵFactoryDeclaration<AggregationDateComponent, never>;
13290
13423
  static ɵcmp: i0.ɵɵComponentDeclaration<AggregationDateComponent, "aggregation-date, AggregationDate, aggregationdate", never, {
13424
+ "class": {
13425
+ "alias": "class";
13426
+ "required": false;
13427
+ "isSignal": true;
13428
+ };
13291
13429
  "name": {
13292
13430
  "alias": "name";
13293
13431
  "required": false;
@@ -13800,7 +13938,9 @@ export declare class AggregationTreeComponent {
13800
13938
  defaultAgent: string;
13801
13939
  };
13802
13940
  }>;
13803
- initialize: () => Promise<void>;
13941
+ initialize: () => Promise<undefined>;
13942
+ hydrate: (app: import("@sinequa/atomic").CCApp) => void;
13943
+ fail: (error: unknown) => never;
13804
13944
  initializeWithAppName: (appName: string) => Promise<void>;
13805
13945
  update: (app: Partial<import("@sinequa/atomic-angular").CCAppState>) => void;
13806
13946
  getWebServiceByType: (type: import("@sinequa/atomic").CCWebService["webServiceType"]) => import("@sinequa/atomic").CCWebService | undefined;
@@ -14657,7 +14797,9 @@ export declare class AggregationListComponent {
14657
14797
  defaultAgent: string;
14658
14798
  };
14659
14799
  }>;
14660
- initialize: () => Promise<void>;
14800
+ initialize: () => Promise<undefined>;
14801
+ hydrate: (app: import("@sinequa/atomic").CCApp) => void;
14802
+ fail: (error: unknown) => never;
14661
14803
  initializeWithAppName: (appName: string) => Promise<void>;
14662
14804
  update: (app: Partial<import("@sinequa/atomic-angular").CCAppState>) => void;
14663
14805
  getWebServiceByType: (type: import("@sinequa/atomic").CCWebService["webServiceType"]) => import("@sinequa/atomic").CCWebService | undefined;
@@ -15153,7 +15295,9 @@ export declare class AggregationComponent {
15153
15295
  defaultAgent: string;
15154
15296
  };
15155
15297
  }>;
15156
- initialize: () => Promise<void>;
15298
+ initialize: () => Promise<undefined>;
15299
+ hydrate: (app: import("@sinequa/atomic").CCApp) => void;
15300
+ fail: (error: unknown) => never;
15157
15301
  initializeWithAppName: (appName: string) => Promise<void>;
15158
15302
  update: (app: Partial<import("@sinequa/atomic-angular").CCAppState>) => void;
15159
15303
  getWebServiceByType: (type: import("@sinequa/atomic").CCWebService["webServiceType"]) => import("@sinequa/atomic").CCWebService | undefined;
@@ -15445,7 +15589,7 @@ export declare class AggregationComponent {
15445
15589
  *
15446
15590
  * @default "auto"
15447
15591
  */
15448
- type: import("@angular/core").InputSignal<"list" | "tree" | "date" | "auto">;
15592
+ type: import("@angular/core").InputSignal<"auto" | "list" | "tree" | "date">;
15449
15593
  /**
15450
15594
  * Whether the host removes itself from the layout (Tailwind's `hidden`, i.e.
15451
15595
  * `display: none`) when it resolves to zero items. When `false` (default), the
@@ -15870,7 +16014,7 @@ export declare class AppliedFiltersComponent {
15870
16014
  /** Chip colour scheme, passed to galactik's `tag`. */
15871
16015
  readonly scheme: import("@angular/core").InputSignal<"error" | "sage" | "success" | "almond" | "pink" | "grey" | "yellow" | "cherry" | "indigo" | "cyan" | "warning" | "info" | null | undefined>;
15872
16016
  /** Chip size, passed to galactik's `tag`. */
15873
- readonly size: import("@angular/core").InputSignal<"small" | "medium" | "sm" | "md" | "xs" | "xsmall" | null | undefined>;
16017
+ readonly size: import("@angular/core").InputSignal<"small" | "sm" | "md" | "xs" | "xsmall" | "medium" | null | undefined>;
15874
16018
  /** Extra classes for each chip, merged by galactik's `tag`. */
15875
16019
  readonly chipClass: import("@angular/core").InputSignal<string>;
15876
16020
  /** A chip was removed. */
@@ -16058,6 +16202,13 @@ export declare class FilterButtonComponent {
16058
16202
  */
16059
16203
  lockPosition: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
16060
16204
  expandedLevel: import("@angular/core").InputSignalWithTransform<number | undefined, unknown>;
16205
+ /**
16206
+ * Set by `filters-bar` on the filters that do not fit and are hidden by the overflow manager. They
16207
+ * leave the toolbar's keyboard navigation: a roving focus cannot land on an element with
16208
+ * `display: none`, so the arrow keys used to stall on the last visible filter while the tab stop
16209
+ * silently moved to a hidden one.
16210
+ */
16211
+ overflowed: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
16061
16212
  protected variant: import("@angular/core").WritableSignal<"primary" | "secondary" | "none" | "light-accent" | "accent" | "tertiary" | null | undefined>;
16062
16213
  protected filter: import("@angular/core").WritableSignal<CFilterEx>;
16063
16214
  /** Unique id wiring the trigger's `popovertarget` to the `<div popover>` `id`. */
@@ -16065,6 +16216,8 @@ export declare class FilterButtonComponent {
16065
16216
  popoverRef: import("@angular/core").Signal<PopoverDirective | undefined>;
16066
16217
  /** True while the native popover is open — drives the trigger's open styling. */
16067
16218
  protected readonly isOpen: import("@angular/core").Signal<boolean>;
16219
+ /** Set when this button sits in a `filters-bar` toolbar: the inner button then is the roving widget. */
16220
+ protected readonly toolbar: Toolbar | null;
16068
16221
  protected nativeElement: any;
16069
16222
  protected aggregationsStore: {
16070
16223
  aggregations: import("@angular/core").Signal<import("@sinequa/atomic").Aggregation[]>;
@@ -16356,7 +16509,9 @@ export declare class FilterButtonComponent {
16356
16509
  defaultAgent: string;
16357
16510
  };
16358
16511
  }>;
16359
- initialize: () => Promise<void>;
16512
+ initialize: () => Promise<undefined>;
16513
+ hydrate: (app: import("@sinequa/atomic").CCApp) => void;
16514
+ fail: (error: unknown) => never;
16360
16515
  initializeWithAppName: (appName: string) => Promise<void>;
16361
16516
  update: (app: Partial<import("@sinequa/atomic-angular").CCAppState>) => void;
16362
16517
  getWebServiceByType: (type: import("@sinequa/atomic").CCWebService["webServiceType"]) => import("@sinequa/atomic").CCWebService | undefined;
@@ -16570,6 +16725,11 @@ export declare class FilterButtonComponent {
16570
16725
  "required": false;
16571
16726
  "isSignal": true;
16572
16727
  };
16728
+ "overflowed": {
16729
+ "alias": "overflowed";
16730
+ "required": false;
16731
+ "isSignal": true;
16732
+ };
16573
16733
  }, {}, never, never, true, never>;
16574
16734
  }
16575
16735
  export declare class MoreButtonComponent {
@@ -16744,7 +16904,9 @@ export declare class MoreButtonComponent {
16744
16904
  defaultAgent: string;
16745
16905
  };
16746
16906
  }>;
16747
- initialize: () => Promise<void>;
16907
+ initialize: () => Promise<undefined>;
16908
+ hydrate: (app: import("@sinequa/atomic").CCApp) => void;
16909
+ fail: (error: unknown) => never;
16748
16910
  initializeWithAppName: (appName: string) => Promise<void>;
16749
16911
  update: (app: Partial<import("@sinequa/atomic-angular").CCAppState>) => void;
16750
16912
  getWebServiceByType: (type: import("@sinequa/atomic").CCWebService["webServiceType"]) => import("@sinequa/atomic").CCWebService | undefined;
@@ -17001,6 +17163,17 @@ export declare class MoreButtonComponent {
17001
17163
  nativeElement: any;
17002
17164
  breakpointObserver: BreakpointObserverService;
17003
17165
  aggregationsService: AggregationsService;
17166
+ /** Set when this button sits in a `filters-bar` toolbar: the inner button then is the roving widget. */
17167
+ protected readonly toolbar: Toolbar | null;
17168
+ /**
17169
+ * Takes the trigger out of the keyboard navigation (and the toolbar's roving) while there is nothing
17170
+ * to show behind it, instead of leaving an invisible stop.
17171
+ */
17172
+ disabled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
17173
+ protected readonly triggerClass = "gap-1 truncate font-semibold";
17174
+ protected readonly openTriggerClass = "gap-1 truncate font-semibold border border-(--stroke-neutral-dark)/18";
17175
+ protected readonly openSheet: () => void | undefined;
17176
+ protected readonly openDialog: () => void | undefined;
17004
17177
  count: import("@angular/core").InputSignalWithTransform<number, unknown>;
17005
17178
  position: import("@angular/core").InputSignal<Placement>;
17006
17179
  /**
@@ -17067,6 +17240,11 @@ export declare class MoreButtonComponent {
17067
17240
  isEnriched: import("@angular/core").Signal<boolean>;
17068
17241
  static ɵfac: i0.ɵɵFactoryDeclaration<MoreButtonComponent, never>;
17069
17242
  static ɵcmp: i0.ɵɵComponentDeclaration<MoreButtonComponent, "more-button, MoreButton", never, {
17243
+ "disabled": {
17244
+ "alias": "disabled";
17245
+ "required": false;
17246
+ "isSignal": true;
17247
+ };
17070
17248
  "count": {
17071
17249
  "alias": "count";
17072
17250
  "required": false;
@@ -17369,7 +17547,9 @@ export declare class FiltersBarComponent {
17369
17547
  defaultAgent: string;
17370
17548
  };
17371
17549
  }>;
17372
- initialize: () => Promise<void>;
17550
+ initialize: () => Promise<undefined>;
17551
+ hydrate: (app: import("@sinequa/atomic").CCApp) => void;
17552
+ fail: (error: unknown) => never;
17373
17553
  initializeWithAppName: (appName: string) => Promise<void>;
17374
17554
  update: (app: Partial<import("@sinequa/atomic-angular").CCAppState>) => void;
17375
17555
  getWebServiceByType: (type: import("@sinequa/atomic").CCWebService["webServiceType"]) => import("@sinequa/atomic").CCWebService | undefined;
@@ -18060,7 +18240,9 @@ export declare class LabelService {
18060
18240
  defaultAgent: string;
18061
18241
  };
18062
18242
  }>;
18063
- initialize: () => Promise<void>;
18243
+ initialize: () => Promise<undefined>;
18244
+ hydrate: (app: import("@sinequa/atomic").CCApp) => void;
18245
+ fail: (error: unknown) => never;
18064
18246
  initializeWithAppName: (appName: string) => Promise<void>;
18065
18247
  update: (app: Partial<import("@sinequa/atomic-angular").CCAppState>) => void;
18066
18248
  getWebServiceByType: (type: CCWebService["webServiceType"]) => CCWebService | undefined;
@@ -18443,6 +18625,8 @@ export declare class RecentSearchesComponent {
18443
18625
  updateAssistantSettings: (assistantSettings: import("@sinequa/atomic-angular").UserSettingsState["assistants"]) => Promise<void>;
18444
18626
  updateLanguage: (language: import("@sinequa/atomic-angular").UserSettingsState["language"], auditEvents?: import("@sinequa/atomic").AuditEvents) => Promise<void>;
18445
18627
  updateAssistantCollapsed: (collapseAssistant: import("@sinequa/atomic-angular").UserSettingsState["collapseAssistant"], auditEvents?: import("@sinequa/atomic").AuditEvents) => Promise<void>;
18628
+ hydrate: (settings: import("@sinequa/atomic-angular").UserSettingsState) => void;
18629
+ fail: (err: unknown) => void;
18446
18630
  initialize: () => Promise<void>;
18447
18631
  reset: () => Promise<void>;
18448
18632
  deleteAlert: (index: number) => Promise<void>;
@@ -18554,6 +18738,8 @@ export declare class SavedSearchPopover {
18554
18738
  updateAssistantSettings: (assistantSettings: import("@sinequa/atomic-angular").UserSettingsState["assistants"]) => Promise<void>;
18555
18739
  updateLanguage: (language: import("@sinequa/atomic-angular").UserSettingsState["language"], auditEvents?: import("@sinequa/atomic").AuditEvents) => Promise<void>;
18556
18740
  updateAssistantCollapsed: (collapseAssistant: import("@sinequa/atomic-angular").UserSettingsState["collapseAssistant"], auditEvents?: import("@sinequa/atomic").AuditEvents) => Promise<void>;
18741
+ hydrate: (settings: import("@sinequa/atomic-angular").UserSettingsState) => void;
18742
+ fail: (err: unknown) => void;
18557
18743
  initialize: () => Promise<void>;
18558
18744
  reset: () => Promise<void>;
18559
18745
  deleteAlert: (index: number) => Promise<void>;
@@ -18636,6 +18822,8 @@ export declare class SavedSearchesComponent {
18636
18822
  updateAssistantSettings: (assistantSettings: import("@sinequa/atomic-angular").UserSettingsState["assistants"]) => Promise<void>;
18637
18823
  updateLanguage: (language: import("@sinequa/atomic-angular").UserSettingsState["language"], auditEvents?: import("@sinequa/atomic").AuditEvents) => Promise<void>;
18638
18824
  updateAssistantCollapsed: (collapseAssistant: import("@sinequa/atomic-angular").UserSettingsState["collapseAssistant"], auditEvents?: import("@sinequa/atomic").AuditEvents) => Promise<void>;
18825
+ hydrate: (settings: import("@sinequa/atomic-angular").UserSettingsState) => void;
18826
+ fail: (err: unknown) => void;
18639
18827
  initialize: () => Promise<void>;
18640
18828
  reset: () => Promise<void>;
18641
18829
  deleteAlert: (index: number) => Promise<void>;
@@ -18761,6 +18949,8 @@ export declare class SettingsAccountPanelComponent {
18761
18949
  allowUserOverride: import("@angular/core").Signal<boolean>;
18762
18950
  isOverridingUser: import("@angular/core").Signal<boolean>;
18763
18951
  initials: import("@angular/core").Signal<string>;
18952
+ hydrate: (principal: import("@sinequa/atomic").Principal) => void;
18953
+ fail: (error: unknown) => never;
18764
18954
  principal: () => import("@sinequa/atomic").Principal;
18765
18955
  initialize: () => Promise<void>;
18766
18956
  } & import("@ngrx/signals").StateSource<{
@@ -18897,6 +19087,8 @@ export declare class UserProfileFormComponent {
18897
19087
  allowUserOverride: Signal<boolean>;
18898
19088
  isOverridingUser: Signal<boolean>;
18899
19089
  initials: Signal<string>;
19090
+ hydrate: (principal: import("@sinequa/atomic").Principal) => void;
19091
+ fail: (error: unknown) => never;
18900
19092
  principal: () => import("@sinequa/atomic").Principal;
18901
19093
  initialize: () => Promise<void>;
18902
19094
  } & import("@ngrx/signals").StateSource<{
@@ -19100,7 +19292,9 @@ export declare class UserProfileFormComponent {
19100
19292
  defaultAgent: string;
19101
19293
  };
19102
19294
  }>;
19103
- initialize: () => Promise<void>;
19295
+ initialize: () => Promise<undefined>;
19296
+ hydrate: (app: import("@sinequa/atomic").CCApp) => void;
19297
+ fail: (error: unknown) => never;
19104
19298
  initializeWithAppName: (appName: string) => Promise<void>;
19105
19299
  update: (app: Partial<import("@sinequa/atomic-angular").CCAppState>) => void;
19106
19300
  getWebServiceByType: (type: import("@sinequa/atomic").CCWebService["webServiceType"]) => import("@sinequa/atomic").CCWebService | undefined;
@@ -19730,7 +19924,9 @@ export declare class SourceIconPipe implements PipeTransform {
19730
19924
  defaultAgent: string;
19731
19925
  };
19732
19926
  }>;
19733
- initialize: () => Promise<void>;
19927
+ initialize: () => Promise<undefined>;
19928
+ hydrate: (app: import("@sinequa/atomic").CCApp) => void;
19929
+ fail: (error: unknown) => never;
19734
19930
  initializeWithAppName: (appName: string) => Promise<void>;
19735
19931
  update: (app: Partial<import("@sinequa/atomic-angular").CCAppState>) => void;
19736
19932
  getWebServiceByType: (type: import("@sinequa/atomic").CCWebService["webServiceType"]) => import("@sinequa/atomic").CCWebService | undefined;
@@ -20198,6 +20394,17 @@ export type SessionExpiryOptions = {
20198
20394
  expiredDuration?: number;
20199
20395
  /** Action of the "session expired" notification. Defaults to reloading the page, which starts a new sign-in. */
20200
20396
  onReconnect?: () => void;
20397
+ /**
20398
+ * Action of the "about to expire" notification: lets the user keep working without losing the session.
20399
+ *
20400
+ * Defaults to one light authenticated request (`principal`). The platform has no refresh endpoint: it only
20401
+ * renews the token as a side effect of a request, and only when the server's JSON Web Token auto-refresh
20402
+ * is enabled and the token's maximum lifetime is not reached. When the expiry did not move afterwards,
20403
+ * `onReconnect` runs instead, so the action never leaves the user believing the session was extended.
20404
+ *
20405
+ * A custom handler replaces all of this, including that fallback.
20406
+ */
20407
+ onExtend?: () => Promise<void> | void;
20201
20408
  };
20202
20409
  /**
20203
20410
  * Tells the user that the session is about to expire, and that it has.
@@ -20229,6 +20436,52 @@ export type SessionExpiryOptions = {
20229
20436
  * ```
20230
20437
  */
20231
20438
  export declare function provideSessionExpiry(options?: SessionExpiryOptions): EnvironmentProviders;
20439
+ /**
20440
+ * One part of the start-up data: its value, or the reason it could not be read. A part a source
20441
+ * answers with `{ ok: false }` is read again the usual way — whatever `status` or `error` it carries.
20442
+ */
20443
+ export type StartupPart<T> = {
20444
+ ok: true;
20445
+ value: T;
20446
+ } | {
20447
+ ok: false;
20448
+ status?: number;
20449
+ error?: unknown;
20450
+ };
20451
+ /**
20452
+ * What the application reads once signed in, before anything renders: the app configuration, the
20453
+ * principal and the user settings.
20454
+ *
20455
+ * This is the shape `/bff/bootstrap` of mint-dev-server's BFF answers with. Any other key it carries
20456
+ * (`userProfile`) is ignored.
20457
+ */
20458
+ export interface StartupData {
20459
+ app: StartupPart<CCApp>;
20460
+ principal: StartupPart<Principal>;
20461
+ userSettings: StartupPart<Record<string, unknown>>;
20462
+ }
20463
+ /**
20464
+ * Loads the {@link StartupData} in one call. `null` — the default — reads the three parts in
20465
+ * parallel through the client. Provide it with {@link provideStartupAggregation}.
20466
+ */
20467
+ export declare const STARTUP_DATA_SOURCE: InjectionToken<(() => Promise<StartupData>) | null>;
20468
+ /**
20469
+ * Reads the start-up data from an aggregating endpoint — one round trip for the configuration, the
20470
+ * principal and the user settings — instead of one request each.
20471
+ *
20472
+ * The endpoint answers with a {@link StartupData}, each part carrying its own outcome. The parts it
20473
+ * could not read — or that its answer lacks — are fetched the usual way, in parallel; if the endpoint
20474
+ * fails altogether, the start-up falls back to the three parallel reads, one round trip later. Add it
20475
+ * only behind a backend that serves the endpoint.
20476
+ *
20477
+ * @param endpoint - Path of the endpoint on the backend. Defaults to the BFF's `bff/bootstrap`.
20478
+ *
20479
+ * @example
20480
+ * ```ts
20481
+ * bootstrapApplication(App, { providers: [provideStartupAggregation()] });
20482
+ * ```
20483
+ */
20484
+ export declare function provideStartupAggregation(endpoint?: string): import("@angular/core").EnvironmentProviders;
20232
20485
  /**
20233
20486
  * Resolves the name of the default query from the application store.
20234
20487
  *