@angular/core 19.0.0-next.9 → 19.0.0-rc.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.
Files changed (42) hide show
  1. package/fesm2022/core.mjs +21506 -19585
  2. package/fesm2022/core.mjs.map +1 -1
  3. package/fesm2022/primitives/event-dispatch.mjs +71 -47
  4. package/fesm2022/primitives/event-dispatch.mjs.map +1 -1
  5. package/fesm2022/primitives/signals.mjs +8 -6
  6. package/fesm2022/primitives/signals.mjs.map +1 -1
  7. package/fesm2022/rxjs-interop.mjs +90 -10
  8. package/fesm2022/rxjs-interop.mjs.map +1 -1
  9. package/fesm2022/testing.mjs +175 -114
  10. package/fesm2022/testing.mjs.map +1 -1
  11. package/index.d.ts +556 -89
  12. package/package.json +1 -1
  13. package/primitives/event-dispatch/index.d.ts +7 -4
  14. package/primitives/signals/index.d.ts +3 -1
  15. package/rxjs-interop/index.d.ts +35 -4
  16. package/schematics/bundles/{checker-3b2ea20f.js → checker-2451e7c5.js} +2347 -1063
  17. package/schematics/bundles/{group_replacements-e1b5cbf8.js → combine_units-c52492ab.js} +1767 -2136
  18. package/schematics/bundles/{compiler_host-b4ba5a28.js → compiler_host-f54f8309.js} +2 -2
  19. package/schematics/bundles/control-flow-migration.js +3 -3
  20. package/schematics/bundles/explicit-standalone-flag.js +31 -11
  21. package/schematics/bundles/{imports-4ac08251.js → imports-44987700.js} +1 -1
  22. package/schematics/bundles/inject-migration.js +122 -48
  23. package/schematics/bundles/{leading_space-d190b83b.js → leading_space-6e7a8ec6.js} +1 -1
  24. package/schematics/bundles/migrate_ts_type_references-ab18a7c3.js +1463 -0
  25. package/schematics/bundles/{nodes-0e7d45ca.js → ng_decorators-3ad437d2.js} +2 -15
  26. package/schematics/bundles/nodes-ffdce442.js +27 -0
  27. package/schematics/bundles/output-migration.js +7450 -0
  28. package/schematics/bundles/pending-tasks.js +5 -5
  29. package/schematics/bundles/{program-6534a30a.js → program-58424797.js} +1305 -447
  30. package/schematics/bundles/{project_tsconfig_paths-e9ccccbf.js → project_tsconfig_paths-6c9cde78.js} +1 -1
  31. package/schematics/bundles/provide-initializer.js +190 -0
  32. package/schematics/bundles/route-lazy-loading.js +4 -4
  33. package/schematics/bundles/signal-input-migration.js +184 -312
  34. package/schematics/bundles/signal-queries-migration.js +401 -143
  35. package/schematics/bundles/signals.js +54 -0
  36. package/schematics/bundles/standalone-migration.js +38 -20
  37. package/schematics/collection.json +11 -0
  38. package/schematics/migrations.json +7 -1
  39. package/schematics/ng-generate/output-migration/schema.json +19 -0
  40. package/schematics/ng-generate/signal-queries-migration/schema.json +11 -0
  41. package/schematics/ng-generate/signals/schema.json +65 -0
  42. package/testing/index.d.ts +1 -1
package/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v19.0.0-next.9
2
+ * @license Angular v19.0.0-rc.0
3
3
  * (c) 2010-2024 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -470,7 +470,6 @@ AfterRenderHook | undefined
470
470
  ];
471
471
 
472
472
  declare class AfterRenderImpl {
473
- static readonly PHASES: readonly [AfterRenderPhase.EarlyRead, AfterRenderPhase.Write, AfterRenderPhase.MixedReadWrite, AfterRenderPhase.Read];
474
473
  private readonly ngZone;
475
474
  private readonly scheduler;
476
475
  private readonly errorHandler;
@@ -738,7 +737,12 @@ export declare const APP_ID: InjectionToken<string>;
738
737
  * The function is executed during the application bootstrap process,
739
738
  * and the needed data is available on startup.
740
739
  *
740
+ * Note that the provided initializer is run in the injection context.
741
+ *
742
+ * @deprecated from v19.0.0, use provideAppInitializer instead
743
+ *
741
744
  * @see {@link ApplicationInitStatus}
745
+ * @see {@link provideAppInitializer}
742
746
  *
743
747
  * @usageNotes
744
748
  *
@@ -747,10 +751,12 @@ export declare const APP_ID: InjectionToken<string>;
747
751
  * ### Example with NgModule-based application
748
752
  * ```
749
753
  * function initializeApp(): Promise<any> {
750
- * return new Promise((resolve, reject) => {
751
- * // Do some asynchronous stuff
752
- * resolve();
753
- * });
754
+ * const http = inject(HttpClient);
755
+ * return firstValueFrom(
756
+ * http
757
+ * .get("https://someUrl.com/api/user")
758
+ * .pipe(tap(user => { ... }))
759
+ * );
754
760
  * }
755
761
  *
756
762
  * @NgModule({
@@ -759,8 +765,8 @@ export declare const APP_ID: InjectionToken<string>;
759
765
  * bootstrap: [AppComponent],
760
766
  * providers: [{
761
767
  * provide: APP_INITIALIZER,
762
- * useFactory: () => initializeApp,
763
- * multi: true
768
+ * useValue: initializeApp,
769
+ * multi: true,
764
770
  * }]
765
771
  * })
766
772
  * export class AppModule {}
@@ -768,13 +774,13 @@ export declare const APP_ID: InjectionToken<string>;
768
774
  *
769
775
  * ### Example with standalone application
770
776
  * ```
771
- * export function initializeApp(http: HttpClient) {
772
- * return (): Promise<any> =>
773
- * firstValueFrom(
774
- * http
775
- * .get("https://someUrl.com/api/user")
776
- * .pipe(tap(user => { ... }))
777
- * );
777
+ * function initializeApp() {
778
+ * const http = inject(HttpClient);
779
+ * return firstValueFrom(
780
+ * http
781
+ * .get("https://someUrl.com/api/user")
782
+ * .pipe(tap(user => { ... }))
783
+ * );
778
784
  * }
779
785
  *
780
786
  * bootstrapApplication(App, {
@@ -782,9 +788,8 @@ export declare const APP_ID: InjectionToken<string>;
782
788
  * provideHttpClient(),
783
789
  * {
784
790
  * provide: APP_INITIALIZER,
785
- * useFactory: initializeApp,
791
+ * useValue: initializeApp,
786
792
  * multi: true,
787
- * deps: [HttpClient],
788
793
  * },
789
794
  * ],
790
795
  * });
@@ -799,44 +804,46 @@ export declare const APP_ID: InjectionToken<string>;
799
804
  *
800
805
  * ### Example with NgModule-based application
801
806
  * ```
802
- * function initializeAppFactory(httpClient: HttpClient): () => Observable<any> {
803
- * return () => httpClient.get("https://someUrl.com/api/user")
804
- * .pipe(
805
- * tap(user => { ... })
806
- * );
807
- * }
807
+ * function initializeApp() {
808
+ * const http = inject(HttpClient);
809
+ * return firstValueFrom(
810
+ * http
811
+ * .get("https://someUrl.com/api/user")
812
+ * .pipe(tap(user => { ... }))
813
+ * );
814
+ * }
808
815
  *
809
- * @NgModule({
810
- * imports: [BrowserModule, HttpClientModule],
811
- * declarations: [AppComponent],
812
- * bootstrap: [AppComponent],
813
- * providers: [{
814
- * provide: APP_INITIALIZER,
815
- * useFactory: initializeAppFactory,
816
- * deps: [HttpClient],
817
- * multi: true
818
- * }]
819
- * })
820
- * export class AppModule {}
816
+ * @NgModule({
817
+ * imports: [BrowserModule, HttpClientModule],
818
+ * declarations: [AppComponent],
819
+ * bootstrap: [AppComponent],
820
+ * providers: [{
821
+ * provide: APP_INITIALIZER,
822
+ * useValue: initializeApp,
823
+ * multi: true,
824
+ * }]
825
+ * })
826
+ * export class AppModule {}
821
827
  * ```
822
828
  *
823
829
  * ### Example with standalone application
824
830
  * ```
825
- * function initializeAppFactory(httpClient: HttpClient): () => Observable<any> {
826
- * return () => httpClient.get("https://someUrl.com/api/user")
827
- * .pipe(
828
- * tap(user => { ... })
829
- * );
830
- * }
831
+ * function initializeApp() {
832
+ * const http = inject(HttpClient);
833
+ * return firstValueFrom(
834
+ * http
835
+ * .get("https://someUrl.com/api/user")
836
+ * .pipe(tap(user => { ... }))
837
+ * );
838
+ * }
831
839
  *
832
840
  * bootstrapApplication(App, {
833
841
  * providers: [
834
842
  * provideHttpClient(),
835
843
  * {
836
844
  * provide: APP_INITIALIZER,
837
- * useFactory: initializeAppFactory,
845
+ * useValue: initializeApp,
838
846
  * multi: true,
839
- * deps: [HttpClient],
840
847
  * },
841
848
  * ],
842
849
  * });
@@ -870,6 +877,7 @@ export declare class ApplicationInitStatus {
870
877
  readonly done = false;
871
878
  readonly donePromise: Promise<any>;
872
879
  private readonly appInits;
880
+ private readonly injector;
873
881
  constructor();
874
882
  static ɵfac: i0.ɵɵFactoryDeclaration<ApplicationInitStatus, never>;
875
883
  static ɵprov: i0.ɵɵInjectableDeclaration<ApplicationInitStatus>;
@@ -1170,7 +1178,6 @@ export declare class ApplicationRef {
1170
1178
  * @param component Component to {@link ChangeDetectorRef#markForCheck mark for check}.
1171
1179
  *
1172
1180
  * @publicApi
1173
- * @globalApi ng
1174
1181
  */
1175
1182
  declare function applyChanges(component: {}): void;
1176
1183
 
@@ -2391,10 +2398,12 @@ export declare interface ContentChildFunction {
2391
2398
  <LocatorT>(locator: ProviderToken<LocatorT> | string, opts?: {
2392
2399
  descendants?: boolean;
2393
2400
  read?: undefined;
2401
+ debugName?: string;
2394
2402
  }): Signal<LocatorT | undefined>;
2395
2403
  <LocatorT, ReadT>(locator: ProviderToken<LocatorT> | string, opts: {
2396
2404
  descendants?: boolean;
2397
2405
  read: ProviderToken<ReadT>;
2406
+ debugName?: string;
2398
2407
  }): Signal<ReadT | undefined>;
2399
2408
  /**
2400
2409
  * Initializes a content child query that is always expected to match.
@@ -2403,10 +2412,12 @@ export declare interface ContentChildFunction {
2403
2412
  <LocatorT>(locator: ProviderToken<LocatorT> | string, opts?: {
2404
2413
  descendants?: boolean;
2405
2414
  read?: undefined;
2415
+ debugName?: string;
2406
2416
  }): Signal<LocatorT>;
2407
2417
  <LocatorT, ReadT>(locator: ProviderToken<LocatorT> | string, opts: {
2408
2418
  descendants?: boolean;
2409
2419
  read: ProviderToken<ReadT>;
2420
+ debugName?: string;
2410
2421
  }): Signal<ReadT>;
2411
2422
  };
2412
2423
  }
@@ -2432,11 +2443,13 @@ export declare const ContentChildren: ContentChildrenDecorator;
2432
2443
  export declare function contentChildren<LocatorT>(locator: ProviderToken<LocatorT> | string, opts?: {
2433
2444
  descendants?: boolean;
2434
2445
  read?: undefined;
2446
+ debugName?: string;
2435
2447
  }): Signal<ReadonlyArray<LocatorT>>;
2436
2448
 
2437
2449
  export declare function contentChildren<LocatorT, ReadT>(locator: ProviderToken<LocatorT> | string, opts: {
2438
2450
  descendants?: boolean;
2439
2451
  read: ProviderToken<ReadT>;
2452
+ debugName?: string;
2440
2453
  }): Signal<ReadonlyArray<ReadT>>;
2441
2454
 
2442
2455
  /**
@@ -2600,6 +2613,10 @@ export declare interface CreateComputedOptions<T> {
2600
2613
  * A comparison function which defines equality for computed values.
2601
2614
  */
2602
2615
  equal?: ValueEqualityFn<T>;
2616
+ /**
2617
+ * A debug name for the computed signal. Used in Angular DevTools to identify the signal.
2618
+ */
2619
+ debugName?: string;
2603
2620
  }
2604
2621
 
2605
2622
  /**
@@ -2631,6 +2648,10 @@ export declare interface CreateEffectOptions {
2631
2648
  * @deprecated no longer required, signal writes are allowed by default.
2632
2649
  */
2633
2650
  allowSignalWrites?: boolean;
2651
+ /**
2652
+ * A debug name for the effect. Used in Angular DevTools to identify the effect.
2653
+ */
2654
+ debugName?: string;
2634
2655
  }
2635
2656
 
2636
2657
  /**
@@ -2694,6 +2715,10 @@ export declare interface CreateSignalOptions<T> {
2694
2715
  * A comparison function which defines equality for signal values.
2695
2716
  */
2696
2717
  equal?: ValueEqualityFn<T>;
2718
+ /**
2719
+ * A debug name for the signal. Used in Angular DevTools to identify the signal.
2720
+ */
2721
+ debugName?: string;
2697
2722
  }
2698
2723
 
2699
2724
  /**
@@ -3012,6 +3037,38 @@ export declare class DefaultIterableDiffer<V> implements IterableDiffer<V>, Iter
3012
3037
  private _addToRemovals;
3013
3038
  }
3014
3039
 
3040
+ declare const DEFER_BLOCK_ID = "di";
3041
+
3042
+ declare const DEFER_BLOCK_STATE = "s";
3043
+
3044
+ declare const DEFER_HYDRATE_TRIGGERS = "t";
3045
+
3046
+ declare const DEFER_PARENT_BLOCK_ID = "p";
3047
+
3048
+ /**
3049
+ * Basic set of data structures used for identifying a defer block
3050
+ * and triggering defer blocks
3051
+ */
3052
+ declare interface DeferBlock {
3053
+ lView: LView;
3054
+ tNode: TNode;
3055
+ lContainer: LContainer;
3056
+ }
3057
+
3058
+ /**
3059
+ * Represents defer trigger types.
3060
+ */
3061
+ declare const enum DeferBlockTrigger {
3062
+ Idle = 0,
3063
+ Immediate = 1,
3064
+ Viewport = 2,
3065
+ Interaction = 3,
3066
+ Hover = 4,
3067
+ Timer = 5,
3068
+ When = 6,
3069
+ Never = 7
3070
+ }
3071
+
3015
3072
  /**
3016
3073
  * Describes the state of defer block dependency loading.
3017
3074
  */
@@ -3131,6 +3188,10 @@ declare interface DehydratedView {
3131
3188
  * removed from the DOM during hydration cleanup.
3132
3189
  */
3133
3190
  dehydratedIcuData?: Map<number, DehydratedIcuData>;
3191
+ /**
3192
+ * A mapping of defer block unique ids to the defer block data
3193
+ */
3194
+ dehydratedDeferBlockData?: Record<string, SerializedDeferBlock>;
3134
3195
  }
3135
3196
 
3136
3197
  /**
@@ -3941,6 +4002,7 @@ declare interface EffectNode extends ReactiveNode, SchedulableEffect {
3941
4002
  hasRun: boolean;
3942
4003
  cleanupFns: EffectCleanupFn[] | undefined;
3943
4004
  injector: Injector;
4005
+ notifier: ɵChangeDetectionScheduler;
3944
4006
  onDestroyFn: () => void;
3945
4007
  fn: (cleanupFn: EffectCleanupRegisterFn) => void;
3946
4008
  run(): void;
@@ -4096,6 +4158,10 @@ declare const ENVIRONMENT = 10;
4096
4158
  * A multi-provider token for initialization functions that will run upon construction of an
4097
4159
  * environment injector.
4098
4160
  *
4161
+ * @deprecated from v19.0.0, use provideEnvironmentInitializer instead
4162
+ *
4163
+ * @see {@link provideEnvironmentInitializer}
4164
+ *
4099
4165
  * Note: As opposed to the `APP_INITIALIZER` token, the `ENVIRONMENT_INITIALIZER` functions are not awaited,
4100
4166
  * hence they should not be `async`.
4101
4167
  *
@@ -4490,7 +4556,6 @@ export declare interface ForwardRefFn {
4490
4556
  * is no component associated with it.
4491
4557
  *
4492
4558
  * @publicApi
4493
- * @globalApi ng
4494
4559
  */
4495
4560
  declare function getComponent<T>(element: Element): T | null;
4496
4561
 
@@ -4504,7 +4569,6 @@ declare function getComponent<T>(element: Element): T | null;
4504
4569
  * inside any component.
4505
4570
  *
4506
4571
  * @publicApi
4507
- * @globalApi ng
4508
4572
  */
4509
4573
  declare function getContext<T extends {}>(element: Element): T | null;
4510
4574
 
@@ -4539,7 +4603,6 @@ declare function getDependenciesFromInjectable<T>(injector: Injector, token: Typ
4539
4603
  * @returns metadata of the passed directive or component
4540
4604
  *
4541
4605
  * @publicApi
4542
- * @globalApi ng
4543
4606
  */
4544
4607
  declare function getDirectiveMetadata(directiveOrComponentInstance: any): ɵComponentDebugMetadata | DirectiveDebugMetadata | null;
4545
4608
 
@@ -4551,7 +4614,6 @@ declare function getDirectiveMetadata(directiveOrComponentInstance: any): ɵComp
4551
4614
  * @returns Injector associated with the element, component or directive instance.
4552
4615
  *
4553
4616
  * @publicApi
4554
- * @globalApi ng
4555
4617
  */
4556
4618
  declare function getInjector(elementOrDir: Element | {}): Injector;
4557
4619
 
@@ -4620,7 +4682,6 @@ declare function getInjectorResolutionPath(injector: Injector): Injector[];
4620
4682
  * @returns Array of event listeners on the DOM element.
4621
4683
  *
4622
4684
  * @publicApi
4623
- * @globalApi ng
4624
4685
  */
4625
4686
  declare function getListeners(element: Element): Listener[];
4626
4687
 
@@ -4654,7 +4715,6 @@ export declare function getNgModuleById<T>(id: string): Type<T>;
4654
4715
  * part of a component view.
4655
4716
  *
4656
4717
  * @publicApi
4657
- * @globalApi ng
4658
4718
  */
4659
4719
  declare function getOwningComponent<T>(elementOrDir: Element | {}): T | null;
4660
4720
 
@@ -4674,7 +4734,6 @@ export declare function getPlatform(): PlatformRef | null;
4674
4734
  * @returns Root components associated with the target object.
4675
4735
  *
4676
4736
  * @publicApi
4677
- * @globalApi ng
4678
4737
  */
4679
4738
  declare function getRootComponents(elementOrDir: Element | {}): {}[];
4680
4739
 
@@ -5114,6 +5173,14 @@ export declare interface HostListenerDecorator {
5114
5173
  new (eventName: string, args?: string[]): any;
5115
5174
  }
5116
5175
 
5176
+ /** * Describes specified delay (in ms) in the `hydrate on timer()` trigger. */
5177
+ declare interface HydrateTimerTriggerDetails {
5178
+ delay: number;
5179
+ }
5180
+
5181
+ /** * Describes all possible hydration trigger details specified in a template. */
5182
+ declare type HydrateTriggerDetails = HydrateTimerTriggerDetails;
5183
+
5117
5184
  declare const HYDRATION = 6;
5118
5185
 
5119
5186
  declare const HYDRATION_INFO_KEY = "__ngDebugHydrationInfo__";
@@ -6232,6 +6299,10 @@ export declare interface InputOptions<T, TransformT> {
6232
6299
  * handle such string values and convert them to `boolean`. See: {@link booleanAttribute}.
6233
6300
  */
6234
6301
  transform?: (v: TransformT) => T;
6302
+ /**
6303
+ * A debug name for the input signal. Used in Angular DevTools to identify the signal.
6304
+ */
6305
+ debugName?: string;
6235
6306
  }
6236
6307
 
6237
6308
  /**
@@ -6729,6 +6800,22 @@ declare enum LContainerFlags {
6729
6800
 
6730
6801
  declare type LegacyInputPartialMapping = string | [bindingPropertyName: string, classPropertyName: string, transformFunction?: Function];
6731
6802
 
6803
+ /**
6804
+ * @experimental
6805
+ */
6806
+ export declare function linkedSignal<D>(computation: () => D, options?: {
6807
+ equal?: ValueEqualityFn<NoInfer<D>>;
6808
+ }): WritableSignal<D>;
6809
+
6810
+ export declare function linkedSignal<S, D>(options: {
6811
+ source: () => S;
6812
+ computation: (source: NoInfer<S>, previous?: {
6813
+ source: NoInfer<S>;
6814
+ value: NoInfer<D>;
6815
+ }) => D;
6816
+ equal?: ValueEqualityFn<NoInfer<D>>;
6817
+ }): WritableSignal<D>;
6818
+
6732
6819
  /**
6733
6820
  * Event listener configuration returned from `getListeners`.
6734
6821
  * @publicApi
@@ -7324,6 +7411,10 @@ export declare interface ModelOptions {
7324
7411
  * name as the input, but suffixed with `Change`. By default, the class field name is used.
7325
7412
  */
7326
7413
  alias?: string;
7414
+ /**
7415
+ * A debug name for the model signal. Used in Angular DevTools to identify the signal.
7416
+ */
7417
+ debugName?: string;
7327
7418
  }
7328
7419
 
7329
7420
  /**
@@ -7367,12 +7458,6 @@ declare const MOVED_VIEWS = 9;
7367
7458
 
7368
7459
  declare const MULTIPLIER = "x";
7369
7460
 
7370
- declare type Mutable<T extends {
7371
- [x: string]: any;
7372
- }, K extends string> = {
7373
- [P in K]: T[P];
7374
- };
7375
-
7376
7461
  declare const NATIVE = 7;
7377
7462
 
7378
7463
  declare const NEXT = 4;
@@ -8324,6 +8409,7 @@ declare class PendingTasksInternal implements OnDestroy {
8324
8409
  private get _hasPendingTasks();
8325
8410
  hasPendingTasks: BehaviorSubject<boolean>;
8326
8411
  add(): number;
8412
+ has(taskId: number): boolean;
8327
8413
  remove(taskId: number): void;
8328
8414
  ngOnDestroy(): void;
8329
8415
  /** @nocollapse */
@@ -8458,6 +8544,11 @@ export declare const PLATFORM_ID: InjectionToken<Object>;
8458
8544
 
8459
8545
  /**
8460
8546
  * A function that is executed when a platform is initialized.
8547
+ *
8548
+ * @deprecated from v19.0.0, use providePlatformInitializer instead
8549
+ *
8550
+ * @see {@link providePlatformInitializer}
8551
+ *
8461
8552
  * @publicApi
8462
8553
  */
8463
8554
  export declare const PLATFORM_INITIALIZER: InjectionToken<readonly (() => void)[]>;
@@ -8589,6 +8680,75 @@ declare type ProcessProvidersFunction = (providers: Provider[]) => Provider[];
8589
8680
  */
8590
8681
  declare type ProjectionSlots = (ɵCssSelectorList | '*')[];
8591
8682
 
8683
+ /**
8684
+ * @description
8685
+ * The provided function is injected at application startup and executed during
8686
+ * app initialization. If the function returns a Promise or an Observable, initialization
8687
+ * does not complete until the Promise is resolved or the Observable is completed.
8688
+ *
8689
+ * You can, for example, create a function that loads language data
8690
+ * or an external configuration, and provide that function using `provideAppInitializer()`.
8691
+ * The function is executed during the application bootstrap process,
8692
+ * and the needed data is available on startup.
8693
+ *
8694
+ * Note that the provided initializer is run in the injection context.
8695
+ *
8696
+ * Previously, this was achieved using the `APP_INITIALIZER` token which is now deprecated.
8697
+ *
8698
+ * @see {@link APP_INITIALIZER}
8699
+ *
8700
+ * @usageNotes
8701
+ * The following example illustrates how to configure an initialization function using
8702
+ * `provideAppInitializer()`
8703
+ * ```
8704
+ * bootstrapApplication(App, {
8705
+ * providers: [
8706
+ * provideAppInitializer(() => {
8707
+ * const http = inject(HttpClient);
8708
+ * return firstValueFrom(
8709
+ * http
8710
+ * .get("https://someUrl.com/api/user")
8711
+ * .pipe(tap(user => { ... }))
8712
+ * );
8713
+ * }),
8714
+ * provideHttpClient(),
8715
+ * ],
8716
+ * });
8717
+ * ```
8718
+ *
8719
+ * @publicApi
8720
+ */
8721
+ export declare function provideAppInitializer(initializerFn: () => Observable<unknown> | Promise<unknown> | void): EnvironmentProviders;
8722
+
8723
+ /**
8724
+ * @description
8725
+ * This function is used to provide initialization functions that will be executed upon construction
8726
+ * of an environment injector.
8727
+ *
8728
+ * Note that the provided initializer is run in the injection context.
8729
+ *
8730
+ * Previously, this was achieved using the `ENVIRONMENT_INITIALIZER` token which is now deprecated.
8731
+ *
8732
+ * @see {@link ENVIRONMENT_INITIALIZER}
8733
+ *
8734
+ * @usageNotes
8735
+ * The following example illustrates how to configure an initialization function using
8736
+ * `provideEnvironmentInitializer()`
8737
+ * ```
8738
+ * createEnvironmentInjector(
8739
+ * [
8740
+ * provideEnvironmentInitializer(() => {
8741
+ * console.log('environment initialized');
8742
+ * }),
8743
+ * ],
8744
+ * parentInjector
8745
+ * );
8746
+ * ```
8747
+ *
8748
+ * @publicApi
8749
+ */
8750
+ export declare function provideEnvironmentInitializer(initializerFn: () => void): EnvironmentProviders;
8751
+
8592
8752
  /**
8593
8753
  * Used to periodically verify no expressions have changed after they were checked.
8594
8754
  *
@@ -8656,6 +8816,21 @@ export declare function provideExperimentalCheckNoChangesForDebug(options: {
8656
8816
  */
8657
8817
  export declare function provideExperimentalZonelessChangeDetection(): EnvironmentProviders;
8658
8818
 
8819
+ /**
8820
+ * @description
8821
+ * This function is used to provide initialization functions that will be executed upon
8822
+ * initialization of the platform injector.
8823
+ *
8824
+ * Note that the provided initializer is run in the injection context.
8825
+ *
8826
+ * Previously, this was achieved using the `PLATFORM_INITIALIZER` token which is now deprecated.
8827
+ *
8828
+ * @see {@link PLATFORM_INITIALIZER}
8829
+ *
8830
+ * @publicApi
8831
+ */
8832
+ export declare function providePlatformInitializer(initializerFn: () => void): EnvironmentProviders;
8833
+
8659
8834
  /**
8660
8835
  * Describes how the `Injector` should be configured.
8661
8836
  * @see [Dependency Injection Guide](guide/di/dependency-injection.
@@ -8917,6 +9092,7 @@ declare interface R3DeclareDirectiveDependencyFacade {
8917
9092
  declare interface R3DeclareDirectiveFacade {
8918
9093
  selector?: string;
8919
9094
  type: Type_2;
9095
+ version: string;
8920
9096
  inputs?: {
8921
9097
  [fieldName: string]: {
8922
9098
  classPropertyName: string;
@@ -8999,6 +9175,7 @@ declare interface R3DeclarePipeDependencyFacade {
8999
9175
  declare interface R3DeclarePipeFacade {
9000
9176
  type: Type_2;
9001
9177
  name: string;
9178
+ version: string;
9002
9179
  pure?: boolean;
9003
9180
  isStandalone?: boolean;
9004
9181
  }
@@ -9428,6 +9605,164 @@ export declare interface RendererType2 {
9428
9605
  */
9429
9606
  export declare function resolveForwardRef<T>(type: T): T;
9430
9607
 
9608
+ /**
9609
+ * A Resource is an asynchronous dependency (for example, the results of an API call) that is
9610
+ * managed and delivered through signals.
9611
+ *
9612
+ * The usual way of creating a `Resource` is through the `resource` function, but various other APIs
9613
+ * may present `Resource` instances to describe their own concepts.
9614
+ *
9615
+ * @experimental
9616
+ */
9617
+ export declare interface Resource<T> {
9618
+ /**
9619
+ * The current value of the `Resource`, or `undefined` if there is no current value.
9620
+ */
9621
+ readonly value: Signal<T | undefined>;
9622
+ /**
9623
+ * The current status of the `Resource`, which describes what the resource is currently doing and
9624
+ * what can be expected of its `value`.
9625
+ */
9626
+ readonly status: Signal<ResourceStatus>;
9627
+ /**
9628
+ * When in the `error` state, this returns the last known error from the `Resource`.
9629
+ */
9630
+ readonly error: Signal<unknown>;
9631
+ /**
9632
+ * Whether this resource is loading a new value (or reloading the existing one).
9633
+ */
9634
+ readonly isLoading: Signal<boolean>;
9635
+ /**
9636
+ * Whether this resource has a valid current value.
9637
+ *
9638
+ * This function is reactive.
9639
+ */
9640
+ hasValue(): this is Resource<T> & {
9641
+ value: Signal<T>;
9642
+ };
9643
+ /**
9644
+ * Instructs the resource to re-load any asynchronous dependency it may have.
9645
+ *
9646
+ * Note that the resource will not enter its reloading state until the actual backend request is
9647
+ * made.
9648
+ *
9649
+ * @returns true if a reload was initiated, false if a reload was unnecessary or unsupported
9650
+ */
9651
+ reload(): boolean;
9652
+ }
9653
+
9654
+ /**
9655
+ * Constructs a `Resource` that projects a reactive request to an asynchronous operation defined by
9656
+ * a loader function, which exposes the result of the loading operation via signals.
9657
+ *
9658
+ * Note that `resource` is intended for _read_ operations, not operations which perform mutations.
9659
+ * `resource` will cancel in-progress loads via the `AbortSignal` when destroyed or when a new
9660
+ * request object becomes available, which could prematurely abort mutations.
9661
+ *
9662
+ * @experimental
9663
+ */
9664
+ export declare function resource<T, R>(options: ResourceOptions<T, R>): ResourceRef<T>;
9665
+
9666
+ /**
9667
+ * Loading function for a `Resource`.
9668
+ *
9669
+ * @experimental
9670
+ */
9671
+ export declare type ResourceLoader<T, R> = (param: ResourceLoaderParams<R>) => PromiseLike<T>;
9672
+
9673
+ /**
9674
+ * Parameter to a `ResourceLoader` which gives the request and other options for the current loading
9675
+ * operation.
9676
+ *
9677
+ * @experimental
9678
+ */
9679
+ export declare interface ResourceLoaderParams<R> {
9680
+ request: Exclude<NoInfer<R>, undefined>;
9681
+ abortSignal: AbortSignal;
9682
+ previous: {
9683
+ status: ResourceStatus;
9684
+ };
9685
+ }
9686
+
9687
+ /**
9688
+ * Options to the `resource` function, for creating a resource.
9689
+ *
9690
+ * @experimental
9691
+ */
9692
+ export declare interface ResourceOptions<T, R> {
9693
+ /**
9694
+ * A reactive function which determines the request to be made. Whenever the request changes, the
9695
+ * loader will be triggered to fetch a new value for the resource.
9696
+ *
9697
+ * If a request function isn't provided, the loader won't rerun unless the resource is reloaded.
9698
+ */
9699
+ request?: () => R;
9700
+ /**
9701
+ * Loading function which returns a `Promise` of the resource's value for a given request.
9702
+ */
9703
+ loader: ResourceLoader<T, R>;
9704
+ /**
9705
+ * Equality function used to compare the return value of the loader.
9706
+ */
9707
+ equal?: ValueEqualityFn<T>;
9708
+ /**
9709
+ * Overrides the `Injector` used by `resource`.
9710
+ */
9711
+ injector?: Injector;
9712
+ }
9713
+
9714
+ /**
9715
+ * A `WritableResource` created through the `resource` function.
9716
+ *
9717
+ * @experimental
9718
+ */
9719
+ export declare interface ResourceRef<T> extends WritableResource<T> {
9720
+ /**
9721
+ * Manually destroy the resource, which cancels pending requests and returns it to `idle` state.
9722
+ */
9723
+ destroy(): void;
9724
+ }
9725
+
9726
+ /**
9727
+ * Status of a `Resource`.
9728
+ *
9729
+ * @experimental
9730
+ */
9731
+ export declare enum ResourceStatus {
9732
+ /**
9733
+ * The resource has no valid request and will not perform any loading.
9734
+ *
9735
+ * `value()` will be `undefined`.
9736
+ */
9737
+ Idle = 0,
9738
+ /**
9739
+ * Loading failed with an error.
9740
+ *
9741
+ * `value()` will be `undefined`.
9742
+ */
9743
+ Error = 1,
9744
+ /**
9745
+ * The resource is currently loading a new value as a result of a change in its `request`.
9746
+ *
9747
+ * `value()` will be `undefined`.
9748
+ */
9749
+ Loading = 2,
9750
+ /**
9751
+ * The resource is currently reloading a fresh value for the same request.
9752
+ *
9753
+ * `value()` will continue to return the previously fetched value during the reloading operation.
9754
+ */
9755
+ Reloading = 3,
9756
+ /**
9757
+ * Loading has completed and the resource has the value returned from the loader.
9758
+ */
9759
+ Resolved = 4,
9760
+ /**
9761
+ * The resource's value was set locally via `.set()` or `.update()`.
9762
+ */
9763
+ Local = 5
9764
+ }
9765
+
9431
9766
  /**
9432
9767
  * The goal here is to make sure that the browser DOM API is the Renderer.
9433
9768
  * We do this by defining a subset of DOM API to be the renderer and then
@@ -9650,6 +9985,33 @@ declare interface SerializedContainerView extends SerializedView {
9650
9985
  [MULTIPLIER]?: number;
9651
9986
  }
9652
9987
 
9988
+ /**
9989
+ * Serialized data structure that contains relevant defer block
9990
+ * information that describes a given incremental hydration boundary
9991
+ */
9992
+ declare interface SerializedDeferBlock {
9993
+ /**
9994
+ * This contains the unique id of this defer block's parent, if it exists.
9995
+ */
9996
+ [DEFER_PARENT_BLOCK_ID]: string | null;
9997
+ /**
9998
+ * This field represents a status, based on the `DeferBlockState` enum.
9999
+ */
10000
+ [DEFER_BLOCK_STATE]?: number;
10001
+ /**
10002
+ * Number of root nodes that belong to this defer block's template.
10003
+ * This information is needed to effectively traverse the DOM tree
10004
+ * and add jsaction attributes to root nodes appropriately for
10005
+ * incremental hydration.
10006
+ */
10007
+ [NUM_ROOT_NODES]: number;
10008
+ /**
10009
+ * The list of triggers that exist for incremental hydration, based on the
10010
+ * `Trigger` enum.
10011
+ */
10012
+ [DEFER_HYDRATE_TRIGGERS]: (DeferBlockTrigger | SerializedTriggerDetails)[] | null;
10013
+ }
10014
+
9653
10015
  /**
9654
10016
  * Represents element containers within this view, stored as key-value pairs
9655
10017
  * where key is an index of a container in an LView (also used in the
@@ -9661,6 +10023,11 @@ declare interface SerializedElementContainers {
9661
10023
  [key: number]: number;
9662
10024
  }
9663
10025
 
10026
+ declare interface SerializedTriggerDetails {
10027
+ trigger: DeferBlockTrigger;
10028
+ delay?: number;
10029
+ }
10030
+
9664
10031
  /**
9665
10032
  * Serialized data structure that contains relevant hydration
9666
10033
  * annotation information that describes a given hydration boundary
@@ -9708,6 +10075,15 @@ declare interface SerializedView {
9708
10075
  * active ICU cases.
9709
10076
  */
9710
10077
  [I18N_DATA]?: Record<number, number[]>;
10078
+ /**
10079
+ * If this view represents a `@defer` block, this field contains
10080
+ * unique id of the block.
10081
+ */
10082
+ [DEFER_BLOCK_ID]?: string;
10083
+ /**
10084
+ * This field represents a status, based on the `DeferBlockState` enum.
10085
+ */
10086
+ [DEFER_BLOCK_STATE]?: number;
9711
10087
  }
9712
10088
 
9713
10089
  /**
@@ -10043,6 +10419,14 @@ declare interface TDeferBlockDetails {
10043
10419
  * standalone components used within this defer block.
10044
10420
  */
10045
10421
  providers: Provider[] | null;
10422
+ /**
10423
+ * List of hydrate triggers for a given block
10424
+ */
10425
+ hydrateTriggers: Map<DeferBlockTrigger, HydrateTriggerDetails | null> | null;
10426
+ /**
10427
+ * List of prefetch triggers for a given block
10428
+ */
10429
+ prefetchTriggers: Set<DeferBlockTrigger> | null;
10046
10430
  }
10047
10431
 
10048
10432
  /** Static data for an <ng-container> */
@@ -11785,19 +12169,25 @@ export declare interface ViewChildFunction {
11785
12169
  *
11786
12170
  * @publicAPI
11787
12171
  */
11788
- <LocatorT>(locator: ProviderToken<LocatorT> | string): Signal<LocatorT | undefined>;
11789
12172
  <LocatorT, ReadT>(locator: ProviderToken<LocatorT> | string, opts: {
11790
12173
  read: ProviderToken<ReadT>;
12174
+ debugName?: string;
11791
12175
  }): Signal<ReadT | undefined>;
12176
+ <LocatorT>(locator: ProviderToken<LocatorT> | string, opts?: {
12177
+ debugName?: string;
12178
+ }): Signal<LocatorT | undefined>;
11792
12179
  /**
11793
12180
  * Initializes a view child query that is expected to always match an element.
11794
12181
  *
11795
12182
  * @publicAPI
11796
12183
  */
11797
12184
  required: {
11798
- <LocatorT>(locator: ProviderToken<LocatorT> | string): Signal<LocatorT>;
12185
+ <LocatorT>(locator: ProviderToken<LocatorT> | string, opts?: {
12186
+ debugName?: string;
12187
+ }): Signal<LocatorT>;
11799
12188
  <LocatorT, ReadT>(locator: ProviderToken<LocatorT> | string, opts: {
11800
12189
  read: ProviderToken<ReadT>;
12190
+ debugName?: string;
11801
12191
  }): Signal<ReadT>;
11802
12192
  };
11803
12193
  }
@@ -11817,10 +12207,13 @@ export declare type ViewChildren = Query;
11817
12207
  */
11818
12208
  export declare const ViewChildren: ViewChildrenDecorator;
11819
12209
 
11820
- export declare function viewChildren<LocatorT>(locator: ProviderToken<LocatorT> | string): Signal<ReadonlyArray<LocatorT>>;
12210
+ export declare function viewChildren<LocatorT>(locator: ProviderToken<LocatorT> | string, opts?: {
12211
+ debugName?: string;
12212
+ }): Signal<ReadonlyArray<LocatorT>>;
11821
12213
 
11822
12214
  export declare function viewChildren<LocatorT, ReadT>(locator: ProviderToken<LocatorT> | string, opts: {
11823
12215
  read: ProviderToken<ReadT>;
12216
+ debugName?: string;
11824
12217
  }): Signal<ReadonlyArray<ReadT>>;
11825
12218
 
11826
12219
  /**
@@ -12168,6 +12561,29 @@ export declare abstract class ViewRef extends ChangeDetectorRef {
12168
12561
  abstract onDestroy(callback: Function): void;
12169
12562
  }
12170
12563
 
12564
+ /**
12565
+ * A `Resource` with a mutable value.
12566
+ *
12567
+ * Overwriting the value of a resource sets it to the 'local' state.
12568
+ *
12569
+ * @experimental
12570
+ */
12571
+ export declare interface WritableResource<T> extends Resource<T> {
12572
+ readonly value: WritableSignal<T | undefined>;
12573
+ hasValue(): this is WritableResource<T> & {
12574
+ value: WritableSignal<T>;
12575
+ };
12576
+ /**
12577
+ * Convenience wrapper for `value.set`.
12578
+ */
12579
+ set(value: T | undefined): void;
12580
+ /**
12581
+ * Convenience wrapper for `value.update`.
12582
+ */
12583
+ update(updater: (value: T | undefined) => T | undefined): void;
12584
+ asReadonly(): Resource<T>;
12585
+ }
12586
+
12171
12587
  /**
12172
12588
  * A `Signal` with a value that can be mutated via a setter interface.
12173
12589
  */
@@ -12197,8 +12613,6 @@ export declare interface WritableSignal<T> extends Signal<T> {
12197
12613
  declare class ZoneAwareEffectScheduler implements ɵEffectScheduler {
12198
12614
  private queuedEffectCount;
12199
12615
  private queues;
12200
- private readonly pendingTasks;
12201
- protected taskId: number | null;
12202
12616
  schedule(handle: SchedulableEffect): void;
12203
12617
  private enqueue;
12204
12618
  /**
@@ -12661,8 +13075,7 @@ export declare interface ɵComponentDef<T> extends ɵDirectiveDef<T> {
12661
13075
  */
12662
13076
  tView: TView | null;
12663
13077
  /**
12664
- * A function added by the {@link ɵɵStandaloneFeature} and used by the framework to create
12665
- * standalone injectors.
13078
+ * A function used by the framework to create standalone injectors.
12666
13079
  */
12667
13080
  getStandaloneInjector: ((parentInjector: EnvironmentInjector) => EnvironmentInjector | null) | null;
12668
13081
  /**
@@ -12797,10 +13210,7 @@ export declare interface ɵDeferBlockDependencyInterceptor {
12797
13210
  /**
12798
13211
  * Defer block instance for testing.
12799
13212
  */
12800
- export declare interface ɵDeferBlockDetails {
12801
- lContainer: LContainer;
12802
- lView: LView;
12803
- tNode: TNode;
13213
+ export declare interface ɵDeferBlockDetails extends DeferBlock {
12804
13214
  tDetails: TDeferBlockDetails;
12805
13215
  }
12806
13216
 
@@ -13068,6 +13478,14 @@ export declare function ɵgenerateStandaloneInDeclarationsError(type: Type<any>,
13068
13478
  */
13069
13479
  export declare function ɵgetAsyncClassMetadataFn(type: Type<unknown>): (() => Promise<Array<Type<unknown>>>) | null;
13070
13480
 
13481
+ /**
13482
+ * Gets the class name of the closest component to a node.
13483
+ * Warning! this function will return minified names if the name of the component is minified. The
13484
+ * consumer of the function is responsible for resolving the minified name to its original name.
13485
+ * @param node Node from which to start the search.
13486
+ */
13487
+ export declare function ɵgetClosestComponentName(node: Node): string | null;
13488
+
13071
13489
  /**
13072
13490
  * Retrieves all defer blocks in a given LView.
13073
13491
  *
@@ -13099,7 +13517,6 @@ export declare function ɵgetDeferBlocks(lView: LView, deferBlocks: ɵDeferBlock
13099
13517
  * @returns Array of directives associated with the node.
13100
13518
  *
13101
13519
  * @publicApi
13102
- * @globalApi ng
13103
13520
  */
13104
13521
  export declare function ɵgetDirectives(node: Node): {}[];
13105
13522
 
@@ -13112,7 +13529,6 @@ export declare function ɵgetDirectives(node: Node): {}[];
13112
13529
  * @returns Host element of the target.
13113
13530
  *
13114
13531
  * @publicApi
13115
- * @globalApi ng
13116
13532
  */
13117
13533
  export declare function ɵgetHostElement(componentOrDirective: {}): Element;
13118
13534
 
@@ -13288,6 +13704,10 @@ export declare interface ɵInputSignalNode<T, TransformT> extends SignalNode<T>
13288
13704
  * purposes we assume it's a valid `T` value. Type-checking will enforce that.
13289
13705
  */
13290
13706
  applyValueToInputSignal<T, TransformT>(node: ɵInputSignalNode<T, TransformT>, value: T): void;
13707
+ /**
13708
+ * A debug name for the input signal. Used in Angular DevTools to identify the signal.
13709
+ */
13710
+ debugName?: string;
13291
13711
  }
13292
13712
 
13293
13713
  /**
@@ -13337,6 +13757,12 @@ export declare function ɵinternalProvideZoneChangeDetection({ ngZoneFactory, ig
13337
13757
  */
13338
13758
  export declare const ɵIS_HYDRATION_DOM_REUSE_ENABLED: InjectionToken<boolean>;
13339
13759
 
13760
+ /**
13761
+ * Internal token that indicates whether incremental hydration support
13762
+ * is enabled.
13763
+ */
13764
+ export declare const ɵIS_INCREMENTAL_HYDRATION_ENABLED: InjectionToken<boolean>;
13765
+
13340
13766
  export declare function ɵisBoundToModule<C>(cf: ComponentFactory<C>): boolean;
13341
13767
 
13342
13768
  export declare function ɵisComponentDefPendingResolution(type: Type<any>): boolean;
@@ -13465,7 +13891,10 @@ export declare enum ɵLocaleDataIndex {
13465
13891
  export declare function ɵmicrotaskEffect(effectFn: (onCleanup: EffectCleanupRegisterFn) => void, options?: CreateEffectOptions): EffectRef;
13466
13892
 
13467
13893
  export declare class ɵMicrotaskEffectScheduler extends ZoneAwareEffectScheduler {
13894
+ private readonly pendingTasks;
13895
+ private taskId;
13468
13896
  schedule(effect: SchedulableEffect): void;
13897
+ flush(): void;
13469
13898
  /** @nocollapse */
13470
13899
  static ɵprov: unknown;
13471
13900
  }
@@ -13490,6 +13919,12 @@ export declare const ɵNG_PIPE_DEF: string;
13490
13919
 
13491
13920
  export declare const ɵNG_PROV_DEF: string;
13492
13921
 
13922
+ /**
13923
+ * A constant defining the default value for the standalone attribute in Directive and Pipes decorators.
13924
+ * Extracted to a separate file to facilitate G3 patches.
13925
+ */
13926
+ export declare const ɵNG_STANDALONE_DEFAULT_VALUE = true;
13927
+
13493
13928
  /**
13494
13929
  * Runtime link information for NgModules.
13495
13930
  *
@@ -13616,7 +14051,8 @@ export declare const enum ɵNotificationSource {
13616
14051
  ViewDetachedFromDOM = 10,
13617
14052
  AsyncAnimationsLoaded = 11,
13618
14053
  PendingTaskRemoved = 12,
13619
- RootEffect = 13
14054
+ RootEffect = 13,
14055
+ ViewEffect = 14
13620
14056
  }
13621
14057
 
13622
14058
  /**
@@ -14534,6 +14970,15 @@ export declare function ɵwithEventReplay(): Provider[];
14534
14970
  */
14535
14971
  export declare function ɵwithI18nSupport(): Provider[];
14536
14972
 
14973
+ /**
14974
+ * Returns a set of providers required to setup support for incremental hydration.
14975
+ * Requires hydration to be enabled separately.
14976
+ * Enabling incremental hydration also enables event replay for the entire app.
14977
+ *
14978
+ * @developerPreview
14979
+ */
14980
+ export declare function ɵwithIncrementalHydration(): Provider[];
14981
+
14537
14982
  /**
14538
14983
  * Returns a writable type version of type.
14539
14984
  *
@@ -15336,21 +15781,54 @@ export declare function ɵɵdefer(index: number, primaryTmplIndex: number, depen
15336
15781
  */
15337
15782
  export declare function ɵɵdeferEnableTimerScheduling(tView: TView, tDetails: TDeferBlockDetails, placeholderConfigIndex?: number | null, loadingConfigIndex?: number | null): void;
15338
15783
 
15784
+ /**
15785
+ * Specifies that hydration never occurs.
15786
+ * @codeGenApi
15787
+ */
15339
15788
  export declare function ɵɵdeferHydrateNever(): void;
15340
15789
 
15790
+ /**
15791
+ * Creates runtime data structures for the `on hover` hydrate trigger.
15792
+ * @codeGenApi
15793
+ */
15341
15794
  export declare function ɵɵdeferHydrateOnHover(): void;
15342
15795
 
15796
+ /**
15797
+ * Sets up logic to handle the `on idle` deferred trigger.
15798
+ * @codeGenApi
15799
+ */
15343
15800
  export declare function ɵɵdeferHydrateOnIdle(): void;
15344
15801
 
15802
+ /**
15803
+ * Sets up logic to handle the `on immediate` hydrate trigger.
15804
+ * @codeGenApi
15805
+ */
15345
15806
  export declare function ɵɵdeferHydrateOnImmediate(): void;
15346
15807
 
15808
+ /**
15809
+ * Creates runtime data structures for the `on interaction` hydrate trigger.
15810
+ * @codeGenApi
15811
+ */
15347
15812
  export declare function ɵɵdeferHydrateOnInteraction(): void;
15348
15813
 
15349
- export declare function ɵɵdeferHydrateOnTimer(): void;
15814
+ /**
15815
+ * Creates runtime data structures for the `on timer` hydrate trigger.
15816
+ * @param delay Amount of time to wait before loading the content.
15817
+ * @codeGenApi
15818
+ */
15819
+ export declare function ɵɵdeferHydrateOnTimer(delay: number): void;
15350
15820
 
15821
+ /**
15822
+ * Creates runtime data structures for the `on viewport` hydrate trigger.
15823
+ * @codeGenApi
15824
+ */
15351
15825
  export declare function ɵɵdeferHydrateOnViewport(): void;
15352
15826
 
15353
- export declare function ɵɵdeferHydrateWhen(): void;
15827
+ /**
15828
+ * Hydrates the deferred content when a value becomes truthy.
15829
+ * @codeGenApi
15830
+ */
15831
+ export declare function ɵɵdeferHydrateWhen(rawValue: unknown): void;
15354
15832
 
15355
15833
  /**
15356
15834
  * Creates runtime data structures for the `on hover` deferred trigger.
@@ -15466,7 +15944,7 @@ export declare function ɵɵdeferWhen(rawValue: unknown): void;
15466
15944
  * ```
15467
15945
  * @codeGenApi
15468
15946
  */
15469
- export declare function ɵɵdefineComponent<T>(componentDefinition: ComponentDefinition<T>): Mutable<ɵComponentDef<any>, keyof ɵComponentDef<any>>;
15947
+ export declare function ɵɵdefineComponent<T>(componentDefinition: ComponentDefinition<T>): ɵComponentDef<any>;
15470
15948
 
15471
15949
  /**
15472
15950
  * Create a directive definition object.
@@ -15484,7 +15962,7 @@ export declare function ɵɵdefineComponent<T>(componentDefinition: ComponentDef
15484
15962
  *
15485
15963
  * @codeGenApi
15486
15964
  */
15487
- export declare function ɵɵdefineDirective<T>(directiveDefinition: DirectiveDefinition<T>): Mutable<ɵDirectiveDef<any>, keyof ɵDirectiveDef<any>>;
15965
+ export declare function ɵɵdefineDirective<T>(directiveDefinition: DirectiveDefinition<T>): ɵDirectiveDef<any>;
15488
15966
 
15489
15967
  /**
15490
15968
  * Construct an injectable definition which defines how a token will be constructed by the DI
@@ -16245,7 +16723,7 @@ export declare type ɵɵNgModuleDeclaration<T, Declarations, Imports, Exports> =
16245
16723
  *
16246
16724
  * @codeGenApi
16247
16725
  */
16248
- export declare function ɵɵNgOnChangesFeature<T>(): DirectiveDefFeature;
16726
+ export declare const ɵɵNgOnChangesFeature: () => DirectiveDefFeature;
16249
16727
 
16250
16728
 
16251
16729
  /**
@@ -17109,9 +17587,10 @@ export declare function ɵɵrepeaterTrackByIndex(index: number): number;
17109
17587
  * Replaces the metadata of a component type and re-renders all live instances of the component.
17110
17588
  * @param type Class whose metadata will be replaced.
17111
17589
  * @param applyMetadata Callback that will apply a new set of metadata on the `type` when invoked.
17590
+ * @param locals Local symbols from the source location that have to be exposed to the callback.
17112
17591
  * @codeGenApi
17113
17592
  */
17114
- export declare function ɵɵreplaceMetadata(type: Type<unknown>, applyMetadata: () => void): void;
17593
+ export declare function ɵɵreplaceMetadata(type: Type<unknown>, applyMetadata: (...args: [Type<unknown>, Record<string, unknown>, ...unknown[]]) => void, locals: unknown[]): void;
17115
17594
 
17116
17595
  /**
17117
17596
  * Clears the view set in `ɵɵrestoreView` from memory. Returns the passed in
@@ -17274,18 +17753,6 @@ export declare function ɵɵsetComponentScope(type: ɵComponentType<any>, direct
17274
17753
  */
17275
17754
  export declare function ɵɵsetNgModuleScope(type: any, scope: NgModuleScopeInfoFromDecorator): unknown;
17276
17755
 
17277
- /**
17278
- * A feature that acts as a setup code for the {@link StandaloneService}.
17279
- *
17280
- * The most important responsibility of this feature is to expose the "getStandaloneInjector"
17281
- * function (an entry points to a standalone injector creation) on a component definition object. We
17282
- * go through the features infrastructure to make sure that the standalone injector creation logic
17283
- * is tree-shakable and not included in applications that don't use standalone components.
17284
- *
17285
- * @codeGenApi
17286
- */
17287
- export declare function ɵɵStandaloneFeature(definition: ɵComponentDef<unknown>): void;
17288
-
17289
17756
  /**
17290
17757
  * Instruction that stores the value of a `@let` declaration on the current view.
17291
17758
  * Returns the value to allow usage inside variable initializers.