@angular/core 19.0.0-next.9 → 19.0.0-rc.1

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 +21183 -19410
  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 +174 -113
  10. package/fesm2022/testing.mjs.map +1 -1
  11. package/index.d.ts +524 -92
  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-9ca42e51.js} +2303 -1006
  17. package/schematics/bundles/combine_units-a16385aa.js +1634 -0
  18. package/schematics/bundles/{compiler_host-b4ba5a28.js → compiler_host-31afa4ed.js} +8 -5
  19. package/schematics/bundles/control-flow-migration.js +3 -3
  20. package/schematics/bundles/explicit-standalone-flag.js +29 -9
  21. package/schematics/bundles/imports-4ac08251.js +1 -1
  22. package/schematics/bundles/inject-migration.js +222 -54
  23. package/schematics/bundles/leading_space-d190b83b.js +1 -1
  24. package/schematics/bundles/migrate_ts_type_references-b2a28742.js +1463 -0
  25. package/schematics/bundles/nodes-0e7d45ca.js +1 -1
  26. package/schematics/bundles/output-migration.js +575 -0
  27. package/schematics/bundles/pending-tasks.js +3 -3
  28. package/schematics/bundles/{program-6534a30a.js → program-71beec0b.js} +1385 -460
  29. package/schematics/bundles/project_tsconfig_paths-e9ccccbf.js +1 -1
  30. package/schematics/bundles/provide-initializer.js +179 -0
  31. package/schematics/bundles/route-lazy-loading.js +9 -4
  32. package/schematics/bundles/signal-input-migration.js +183 -311
  33. package/schematics/bundles/signal-queries-migration.js +404 -146
  34. package/schematics/bundles/signals.js +54 -0
  35. package/schematics/bundles/standalone-migration.js +29 -12
  36. package/schematics/collection.json +11 -0
  37. package/schematics/migrations.json +7 -1
  38. package/schematics/ng-generate/output-migration/schema.json +19 -0
  39. package/schematics/ng-generate/signal-queries-migration/schema.json +11 -0
  40. package/schematics/ng-generate/signals/schema.json +65 -0
  41. package/testing/index.d.ts +1 -1
  42. package/schematics/bundles/group_replacements-e1b5cbf8.js +0 -31571
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.1
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,34 @@ 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
+ /**
3045
+ * Basic set of data structures used for identifying a defer block
3046
+ * and triggering defer blocks
3047
+ */
3048
+ declare interface DeferBlock {
3049
+ lView: LView;
3050
+ tNode: TNode;
3051
+ lContainer: LContainer;
3052
+ }
3053
+
3054
+ /**
3055
+ * Represents defer trigger types.
3056
+ */
3057
+ declare const enum DeferBlockTrigger {
3058
+ Idle = 0,
3059
+ Immediate = 1,
3060
+ Viewport = 2,
3061
+ Interaction = 3,
3062
+ Hover = 4,
3063
+ Timer = 5,
3064
+ When = 6,
3065
+ Never = 7
3066
+ }
3067
+
3015
3068
  /**
3016
3069
  * Describes the state of defer block dependency loading.
3017
3070
  */
@@ -3941,6 +3994,7 @@ declare interface EffectNode extends ReactiveNode, SchedulableEffect {
3941
3994
  hasRun: boolean;
3942
3995
  cleanupFns: EffectCleanupFn[] | undefined;
3943
3996
  injector: Injector;
3997
+ notifier: ɵChangeDetectionScheduler;
3944
3998
  onDestroyFn: () => void;
3945
3999
  fn: (cleanupFn: EffectCleanupRegisterFn) => void;
3946
4000
  run(): void;
@@ -4096,6 +4150,10 @@ declare const ENVIRONMENT = 10;
4096
4150
  * A multi-provider token for initialization functions that will run upon construction of an
4097
4151
  * environment injector.
4098
4152
  *
4153
+ * @deprecated from v19.0.0, use provideEnvironmentInitializer instead
4154
+ *
4155
+ * @see {@link provideEnvironmentInitializer}
4156
+ *
4099
4157
  * Note: As opposed to the `APP_INITIALIZER` token, the `ENVIRONMENT_INITIALIZER` functions are not awaited,
4100
4158
  * hence they should not be `async`.
4101
4159
  *
@@ -4490,7 +4548,6 @@ export declare interface ForwardRefFn {
4490
4548
  * is no component associated with it.
4491
4549
  *
4492
4550
  * @publicApi
4493
- * @globalApi ng
4494
4551
  */
4495
4552
  declare function getComponent<T>(element: Element): T | null;
4496
4553
 
@@ -4504,7 +4561,6 @@ declare function getComponent<T>(element: Element): T | null;
4504
4561
  * inside any component.
4505
4562
  *
4506
4563
  * @publicApi
4507
- * @globalApi ng
4508
4564
  */
4509
4565
  declare function getContext<T extends {}>(element: Element): T | null;
4510
4566
 
@@ -4539,7 +4595,6 @@ declare function getDependenciesFromInjectable<T>(injector: Injector, token: Typ
4539
4595
  * @returns metadata of the passed directive or component
4540
4596
  *
4541
4597
  * @publicApi
4542
- * @globalApi ng
4543
4598
  */
4544
4599
  declare function getDirectiveMetadata(directiveOrComponentInstance: any): ɵComponentDebugMetadata | DirectiveDebugMetadata | null;
4545
4600
 
@@ -4551,7 +4606,6 @@ declare function getDirectiveMetadata(directiveOrComponentInstance: any): ɵComp
4551
4606
  * @returns Injector associated with the element, component or directive instance.
4552
4607
  *
4553
4608
  * @publicApi
4554
- * @globalApi ng
4555
4609
  */
4556
4610
  declare function getInjector(elementOrDir: Element | {}): Injector;
4557
4611
 
@@ -4620,7 +4674,6 @@ declare function getInjectorResolutionPath(injector: Injector): Injector[];
4620
4674
  * @returns Array of event listeners on the DOM element.
4621
4675
  *
4622
4676
  * @publicApi
4623
- * @globalApi ng
4624
4677
  */
4625
4678
  declare function getListeners(element: Element): Listener[];
4626
4679
 
@@ -4654,7 +4707,6 @@ export declare function getNgModuleById<T>(id: string): Type<T>;
4654
4707
  * part of a component view.
4655
4708
  *
4656
4709
  * @publicApi
4657
- * @globalApi ng
4658
4710
  */
4659
4711
  declare function getOwningComponent<T>(elementOrDir: Element | {}): T | null;
4660
4712
 
@@ -4674,7 +4726,6 @@ export declare function getPlatform(): PlatformRef | null;
4674
4726
  * @returns Root components associated with the target object.
4675
4727
  *
4676
4728
  * @publicApi
4677
- * @globalApi ng
4678
4729
  */
4679
4730
  declare function getRootComponents(elementOrDir: Element | {}): {}[];
4680
4731
 
@@ -4996,7 +5047,7 @@ declare type HostDirectiveBindingMap = {
4996
5047
  [publicName: string]: string;
4997
5048
  };
4998
5049
 
4999
- /** Values that can be used to define a host directive through the `HostDirectivesFeature`. */
5050
+ /** Value that can be used to configure a host directive. */
5000
5051
  declare type HostDirectiveConfig = Type<unknown> | {
5001
5052
  directive: Type<unknown>;
5002
5053
  inputs?: string[];
@@ -5114,6 +5165,14 @@ export declare interface HostListenerDecorator {
5114
5165
  new (eventName: string, args?: string[]): any;
5115
5166
  }
5116
5167
 
5168
+ /** * Describes specified delay (in ms) in the `hydrate on timer()` trigger. */
5169
+ declare interface HydrateTimerTriggerDetails {
5170
+ delay: number;
5171
+ }
5172
+
5173
+ /** * Describes all possible hydration trigger details specified in a template. */
5174
+ declare type HydrateTriggerDetails = HydrateTimerTriggerDetails;
5175
+
5117
5176
  declare const HYDRATION = 6;
5118
5177
 
5119
5178
  declare const HYDRATION_INFO_KEY = "__ngDebugHydrationInfo__";
@@ -6232,6 +6291,10 @@ export declare interface InputOptions<T, TransformT> {
6232
6291
  * handle such string values and convert them to `boolean`. See: {@link booleanAttribute}.
6233
6292
  */
6234
6293
  transform?: (v: TransformT) => T;
6294
+ /**
6295
+ * A debug name for the input signal. Used in Angular DevTools to identify the signal.
6296
+ */
6297
+ debugName?: string;
6235
6298
  }
6236
6299
 
6237
6300
  /**
@@ -6729,6 +6792,22 @@ declare enum LContainerFlags {
6729
6792
 
6730
6793
  declare type LegacyInputPartialMapping = string | [bindingPropertyName: string, classPropertyName: string, transformFunction?: Function];
6731
6794
 
6795
+ /**
6796
+ * @experimental
6797
+ */
6798
+ export declare function linkedSignal<D>(computation: () => D, options?: {
6799
+ equal?: ValueEqualityFn<NoInfer<D>>;
6800
+ }): WritableSignal<D>;
6801
+
6802
+ export declare function linkedSignal<S, D>(options: {
6803
+ source: () => S;
6804
+ computation: (source: NoInfer<S>, previous?: {
6805
+ source: NoInfer<S>;
6806
+ value: NoInfer<D>;
6807
+ }) => D;
6808
+ equal?: ValueEqualityFn<NoInfer<D>>;
6809
+ }): WritableSignal<D>;
6810
+
6732
6811
  /**
6733
6812
  * Event listener configuration returned from `getListeners`.
6734
6813
  * @publicApi
@@ -7324,6 +7403,10 @@ export declare interface ModelOptions {
7324
7403
  * name as the input, but suffixed with `Change`. By default, the class field name is used.
7325
7404
  */
7326
7405
  alias?: string;
7406
+ /**
7407
+ * A debug name for the model signal. Used in Angular DevTools to identify the signal.
7408
+ */
7409
+ debugName?: string;
7327
7410
  }
7328
7411
 
7329
7412
  /**
@@ -7367,12 +7450,6 @@ declare const MOVED_VIEWS = 9;
7367
7450
 
7368
7451
  declare const MULTIPLIER = "x";
7369
7452
 
7370
- declare type Mutable<T extends {
7371
- [x: string]: any;
7372
- }, K extends string> = {
7373
- [P in K]: T[P];
7374
- };
7375
-
7376
7453
  declare const NATIVE = 7;
7377
7454
 
7378
7455
  declare const NEXT = 4;
@@ -8324,6 +8401,7 @@ declare class PendingTasksInternal implements OnDestroy {
8324
8401
  private get _hasPendingTasks();
8325
8402
  hasPendingTasks: BehaviorSubject<boolean>;
8326
8403
  add(): number;
8404
+ has(taskId: number): boolean;
8327
8405
  remove(taskId: number): void;
8328
8406
  ngOnDestroy(): void;
8329
8407
  /** @nocollapse */
@@ -8458,6 +8536,11 @@ export declare const PLATFORM_ID: InjectionToken<Object>;
8458
8536
 
8459
8537
  /**
8460
8538
  * A function that is executed when a platform is initialized.
8539
+ *
8540
+ * @deprecated from v19.0.0, use providePlatformInitializer instead
8541
+ *
8542
+ * @see {@link providePlatformInitializer}
8543
+ *
8461
8544
  * @publicApi
8462
8545
  */
8463
8546
  export declare const PLATFORM_INITIALIZER: InjectionToken<readonly (() => void)[]>;
@@ -8589,6 +8672,75 @@ declare type ProcessProvidersFunction = (providers: Provider[]) => Provider[];
8589
8672
  */
8590
8673
  declare type ProjectionSlots = (ɵCssSelectorList | '*')[];
8591
8674
 
8675
+ /**
8676
+ * @description
8677
+ * The provided function is injected at application startup and executed during
8678
+ * app initialization. If the function returns a Promise or an Observable, initialization
8679
+ * does not complete until the Promise is resolved or the Observable is completed.
8680
+ *
8681
+ * You can, for example, create a function that loads language data
8682
+ * or an external configuration, and provide that function using `provideAppInitializer()`.
8683
+ * The function is executed during the application bootstrap process,
8684
+ * and the needed data is available on startup.
8685
+ *
8686
+ * Note that the provided initializer is run in the injection context.
8687
+ *
8688
+ * Previously, this was achieved using the `APP_INITIALIZER` token which is now deprecated.
8689
+ *
8690
+ * @see {@link APP_INITIALIZER}
8691
+ *
8692
+ * @usageNotes
8693
+ * The following example illustrates how to configure an initialization function using
8694
+ * `provideAppInitializer()`
8695
+ * ```
8696
+ * bootstrapApplication(App, {
8697
+ * providers: [
8698
+ * provideAppInitializer(() => {
8699
+ * const http = inject(HttpClient);
8700
+ * return firstValueFrom(
8701
+ * http
8702
+ * .get("https://someUrl.com/api/user")
8703
+ * .pipe(tap(user => { ... }))
8704
+ * );
8705
+ * }),
8706
+ * provideHttpClient(),
8707
+ * ],
8708
+ * });
8709
+ * ```
8710
+ *
8711
+ * @publicApi
8712
+ */
8713
+ export declare function provideAppInitializer(initializerFn: () => Observable<unknown> | Promise<unknown> | void): EnvironmentProviders;
8714
+
8715
+ /**
8716
+ * @description
8717
+ * This function is used to provide initialization functions that will be executed upon construction
8718
+ * of an environment injector.
8719
+ *
8720
+ * Note that the provided initializer is run in the injection context.
8721
+ *
8722
+ * Previously, this was achieved using the `ENVIRONMENT_INITIALIZER` token which is now deprecated.
8723
+ *
8724
+ * @see {@link ENVIRONMENT_INITIALIZER}
8725
+ *
8726
+ * @usageNotes
8727
+ * The following example illustrates how to configure an initialization function using
8728
+ * `provideEnvironmentInitializer()`
8729
+ * ```
8730
+ * createEnvironmentInjector(
8731
+ * [
8732
+ * provideEnvironmentInitializer(() => {
8733
+ * console.log('environment initialized');
8734
+ * }),
8735
+ * ],
8736
+ * parentInjector
8737
+ * );
8738
+ * ```
8739
+ *
8740
+ * @publicApi
8741
+ */
8742
+ export declare function provideEnvironmentInitializer(initializerFn: () => void): EnvironmentProviders;
8743
+
8592
8744
  /**
8593
8745
  * Used to periodically verify no expressions have changed after they were checked.
8594
8746
  *
@@ -8656,6 +8808,21 @@ export declare function provideExperimentalCheckNoChangesForDebug(options: {
8656
8808
  */
8657
8809
  export declare function provideExperimentalZonelessChangeDetection(): EnvironmentProviders;
8658
8810
 
8811
+ /**
8812
+ * @description
8813
+ * This function is used to provide initialization functions that will be executed upon
8814
+ * initialization of the platform injector.
8815
+ *
8816
+ * Note that the provided initializer is run in the injection context.
8817
+ *
8818
+ * Previously, this was achieved using the `PLATFORM_INITIALIZER` token which is now deprecated.
8819
+ *
8820
+ * @see {@link PLATFORM_INITIALIZER}
8821
+ *
8822
+ * @publicApi
8823
+ */
8824
+ export declare function providePlatformInitializer(initializerFn: () => void): EnvironmentProviders;
8825
+
8659
8826
  /**
8660
8827
  * Describes how the `Injector` should be configured.
8661
8828
  * @see [Dependency Injection Guide](guide/di/dependency-injection.
@@ -8917,6 +9084,7 @@ declare interface R3DeclareDirectiveDependencyFacade {
8917
9084
  declare interface R3DeclareDirectiveFacade {
8918
9085
  selector?: string;
8919
9086
  type: Type_2;
9087
+ version: string;
8920
9088
  inputs?: {
8921
9089
  [fieldName: string]: {
8922
9090
  classPropertyName: string;
@@ -8999,6 +9167,7 @@ declare interface R3DeclarePipeDependencyFacade {
8999
9167
  declare interface R3DeclarePipeFacade {
9000
9168
  type: Type_2;
9001
9169
  name: string;
9170
+ version: string;
9002
9171
  pure?: boolean;
9003
9172
  isStandalone?: boolean;
9004
9173
  }
@@ -9428,6 +9597,164 @@ export declare interface RendererType2 {
9428
9597
  */
9429
9598
  export declare function resolveForwardRef<T>(type: T): T;
9430
9599
 
9600
+ /**
9601
+ * A Resource is an asynchronous dependency (for example, the results of an API call) that is
9602
+ * managed and delivered through signals.
9603
+ *
9604
+ * The usual way of creating a `Resource` is through the `resource` function, but various other APIs
9605
+ * may present `Resource` instances to describe their own concepts.
9606
+ *
9607
+ * @experimental
9608
+ */
9609
+ export declare interface Resource<T> {
9610
+ /**
9611
+ * The current value of the `Resource`, or `undefined` if there is no current value.
9612
+ */
9613
+ readonly value: Signal<T | undefined>;
9614
+ /**
9615
+ * The current status of the `Resource`, which describes what the resource is currently doing and
9616
+ * what can be expected of its `value`.
9617
+ */
9618
+ readonly status: Signal<ResourceStatus>;
9619
+ /**
9620
+ * When in the `error` state, this returns the last known error from the `Resource`.
9621
+ */
9622
+ readonly error: Signal<unknown>;
9623
+ /**
9624
+ * Whether this resource is loading a new value (or reloading the existing one).
9625
+ */
9626
+ readonly isLoading: Signal<boolean>;
9627
+ /**
9628
+ * Whether this resource has a valid current value.
9629
+ *
9630
+ * This function is reactive.
9631
+ */
9632
+ hasValue(): this is Resource<T> & {
9633
+ value: Signal<T>;
9634
+ };
9635
+ /**
9636
+ * Instructs the resource to re-load any asynchronous dependency it may have.
9637
+ *
9638
+ * Note that the resource will not enter its reloading state until the actual backend request is
9639
+ * made.
9640
+ *
9641
+ * @returns true if a reload was initiated, false if a reload was unnecessary or unsupported
9642
+ */
9643
+ reload(): boolean;
9644
+ }
9645
+
9646
+ /**
9647
+ * Constructs a `Resource` that projects a reactive request to an asynchronous operation defined by
9648
+ * a loader function, which exposes the result of the loading operation via signals.
9649
+ *
9650
+ * Note that `resource` is intended for _read_ operations, not operations which perform mutations.
9651
+ * `resource` will cancel in-progress loads via the `AbortSignal` when destroyed or when a new
9652
+ * request object becomes available, which could prematurely abort mutations.
9653
+ *
9654
+ * @experimental
9655
+ */
9656
+ export declare function resource<T, R>(options: ResourceOptions<T, R>): ResourceRef<T>;
9657
+
9658
+ /**
9659
+ * Loading function for a `Resource`.
9660
+ *
9661
+ * @experimental
9662
+ */
9663
+ export declare type ResourceLoader<T, R> = (param: ResourceLoaderParams<R>) => PromiseLike<T>;
9664
+
9665
+ /**
9666
+ * Parameter to a `ResourceLoader` which gives the request and other options for the current loading
9667
+ * operation.
9668
+ *
9669
+ * @experimental
9670
+ */
9671
+ export declare interface ResourceLoaderParams<R> {
9672
+ request: Exclude<NoInfer<R>, undefined>;
9673
+ abortSignal: AbortSignal;
9674
+ previous: {
9675
+ status: ResourceStatus;
9676
+ };
9677
+ }
9678
+
9679
+ /**
9680
+ * Options to the `resource` function, for creating a resource.
9681
+ *
9682
+ * @experimental
9683
+ */
9684
+ export declare interface ResourceOptions<T, R> {
9685
+ /**
9686
+ * A reactive function which determines the request to be made. Whenever the request changes, the
9687
+ * loader will be triggered to fetch a new value for the resource.
9688
+ *
9689
+ * If a request function isn't provided, the loader won't rerun unless the resource is reloaded.
9690
+ */
9691
+ request?: () => R;
9692
+ /**
9693
+ * Loading function which returns a `Promise` of the resource's value for a given request.
9694
+ */
9695
+ loader: ResourceLoader<T, R>;
9696
+ /**
9697
+ * Equality function used to compare the return value of the loader.
9698
+ */
9699
+ equal?: ValueEqualityFn<T>;
9700
+ /**
9701
+ * Overrides the `Injector` used by `resource`.
9702
+ */
9703
+ injector?: Injector;
9704
+ }
9705
+
9706
+ /**
9707
+ * A `WritableResource` created through the `resource` function.
9708
+ *
9709
+ * @experimental
9710
+ */
9711
+ export declare interface ResourceRef<T> extends WritableResource<T> {
9712
+ /**
9713
+ * Manually destroy the resource, which cancels pending requests and returns it to `idle` state.
9714
+ */
9715
+ destroy(): void;
9716
+ }
9717
+
9718
+ /**
9719
+ * Status of a `Resource`.
9720
+ *
9721
+ * @experimental
9722
+ */
9723
+ export declare enum ResourceStatus {
9724
+ /**
9725
+ * The resource has no valid request and will not perform any loading.
9726
+ *
9727
+ * `value()` will be `undefined`.
9728
+ */
9729
+ Idle = 0,
9730
+ /**
9731
+ * Loading failed with an error.
9732
+ *
9733
+ * `value()` will be `undefined`.
9734
+ */
9735
+ Error = 1,
9736
+ /**
9737
+ * The resource is currently loading a new value as a result of a change in its `request`.
9738
+ *
9739
+ * `value()` will be `undefined`.
9740
+ */
9741
+ Loading = 2,
9742
+ /**
9743
+ * The resource is currently reloading a fresh value for the same request.
9744
+ *
9745
+ * `value()` will continue to return the previously fetched value during the reloading operation.
9746
+ */
9747
+ Reloading = 3,
9748
+ /**
9749
+ * Loading has completed and the resource has the value returned from the loader.
9750
+ */
9751
+ Resolved = 4,
9752
+ /**
9753
+ * The resource's value was set locally via `.set()` or `.update()`.
9754
+ */
9755
+ Local = 5
9756
+ }
9757
+
9431
9758
  /**
9432
9759
  * The goal here is to make sure that the browser DOM API is the Renderer.
9433
9760
  * We do this by defining a subset of DOM API to be the renderer and then
@@ -9708,6 +10035,15 @@ declare interface SerializedView {
9708
10035
  * active ICU cases.
9709
10036
  */
9710
10037
  [I18N_DATA]?: Record<number, number[]>;
10038
+ /**
10039
+ * If this view represents a `@defer` block, this field contains
10040
+ * unique id of the block.
10041
+ */
10042
+ [DEFER_BLOCK_ID]?: string;
10043
+ /**
10044
+ * This field represents a status, based on the `DeferBlockState` enum.
10045
+ */
10046
+ [DEFER_BLOCK_STATE]?: number;
9711
10047
  }
9712
10048
 
9713
10049
  /**
@@ -10043,6 +10379,14 @@ declare interface TDeferBlockDetails {
10043
10379
  * standalone components used within this defer block.
10044
10380
  */
10045
10381
  providers: Provider[] | null;
10382
+ /**
10383
+ * List of hydrate triggers for a given block
10384
+ */
10385
+ hydrateTriggers: Map<DeferBlockTrigger, HydrateTriggerDetails | null> | null;
10386
+ /**
10387
+ * List of prefetch triggers for a given block
10388
+ */
10389
+ prefetchTriggers: Set<DeferBlockTrigger> | null;
10046
10390
  }
10047
10391
 
10048
10392
  /** Static data for an <ng-container> */
@@ -11785,19 +12129,25 @@ export declare interface ViewChildFunction {
11785
12129
  *
11786
12130
  * @publicAPI
11787
12131
  */
11788
- <LocatorT>(locator: ProviderToken<LocatorT> | string): Signal<LocatorT | undefined>;
11789
12132
  <LocatorT, ReadT>(locator: ProviderToken<LocatorT> | string, opts: {
11790
12133
  read: ProviderToken<ReadT>;
12134
+ debugName?: string;
11791
12135
  }): Signal<ReadT | undefined>;
12136
+ <LocatorT>(locator: ProviderToken<LocatorT> | string, opts?: {
12137
+ debugName?: string;
12138
+ }): Signal<LocatorT | undefined>;
11792
12139
  /**
11793
12140
  * Initializes a view child query that is expected to always match an element.
11794
12141
  *
11795
12142
  * @publicAPI
11796
12143
  */
11797
12144
  required: {
11798
- <LocatorT>(locator: ProviderToken<LocatorT> | string): Signal<LocatorT>;
12145
+ <LocatorT>(locator: ProviderToken<LocatorT> | string, opts?: {
12146
+ debugName?: string;
12147
+ }): Signal<LocatorT>;
11799
12148
  <LocatorT, ReadT>(locator: ProviderToken<LocatorT> | string, opts: {
11800
12149
  read: ProviderToken<ReadT>;
12150
+ debugName?: string;
11801
12151
  }): Signal<ReadT>;
11802
12152
  };
11803
12153
  }
@@ -11817,10 +12167,13 @@ export declare type ViewChildren = Query;
11817
12167
  */
11818
12168
  export declare const ViewChildren: ViewChildrenDecorator;
11819
12169
 
11820
- export declare function viewChildren<LocatorT>(locator: ProviderToken<LocatorT> | string): Signal<ReadonlyArray<LocatorT>>;
12170
+ export declare function viewChildren<LocatorT>(locator: ProviderToken<LocatorT> | string, opts?: {
12171
+ debugName?: string;
12172
+ }): Signal<ReadonlyArray<LocatorT>>;
11821
12173
 
11822
12174
  export declare function viewChildren<LocatorT, ReadT>(locator: ProviderToken<LocatorT> | string, opts: {
11823
12175
  read: ProviderToken<ReadT>;
12176
+ debugName?: string;
11824
12177
  }): Signal<ReadonlyArray<ReadT>>;
11825
12178
 
11826
12179
  /**
@@ -12168,6 +12521,29 @@ export declare abstract class ViewRef extends ChangeDetectorRef {
12168
12521
  abstract onDestroy(callback: Function): void;
12169
12522
  }
12170
12523
 
12524
+ /**
12525
+ * A `Resource` with a mutable value.
12526
+ *
12527
+ * Overwriting the value of a resource sets it to the 'local' state.
12528
+ *
12529
+ * @experimental
12530
+ */
12531
+ export declare interface WritableResource<T> extends Resource<T> {
12532
+ readonly value: WritableSignal<T | undefined>;
12533
+ hasValue(): this is WritableResource<T> & {
12534
+ value: WritableSignal<T>;
12535
+ };
12536
+ /**
12537
+ * Convenience wrapper for `value.set`.
12538
+ */
12539
+ set(value: T | undefined): void;
12540
+ /**
12541
+ * Convenience wrapper for `value.update`.
12542
+ */
12543
+ update(updater: (value: T | undefined) => T | undefined): void;
12544
+ asReadonly(): Resource<T>;
12545
+ }
12546
+
12171
12547
  /**
12172
12548
  * A `Signal` with a value that can be mutated via a setter interface.
12173
12549
  */
@@ -12197,8 +12573,6 @@ export declare interface WritableSignal<T> extends Signal<T> {
12197
12573
  declare class ZoneAwareEffectScheduler implements ɵEffectScheduler {
12198
12574
  private queuedEffectCount;
12199
12575
  private queues;
12200
- private readonly pendingTasks;
12201
- protected taskId: number | null;
12202
12576
  schedule(handle: SchedulableEffect): void;
12203
12577
  private enqueue;
12204
12578
  /**
@@ -12661,8 +13035,7 @@ export declare interface ɵComponentDef<T> extends ɵDirectiveDef<T> {
12661
13035
  */
12662
13036
  tView: TView | null;
12663
13037
  /**
12664
- * A function added by the {@link ɵɵStandaloneFeature} and used by the framework to create
12665
- * standalone injectors.
13038
+ * A function used by the framework to create standalone injectors.
12666
13039
  */
12667
13040
  getStandaloneInjector: ((parentInjector: EnvironmentInjector) => EnvironmentInjector | null) | null;
12668
13041
  /**
@@ -12797,10 +13170,7 @@ export declare interface ɵDeferBlockDependencyInterceptor {
12797
13170
  /**
12798
13171
  * Defer block instance for testing.
12799
13172
  */
12800
- export declare interface ɵDeferBlockDetails {
12801
- lContainer: LContainer;
12802
- lView: LView;
12803
- tNode: TNode;
13173
+ export declare interface ɵDeferBlockDetails extends DeferBlock {
12804
13174
  tDetails: TDeferBlockDetails;
12805
13175
  }
12806
13176
 
@@ -12975,8 +13345,17 @@ export declare interface ɵDirectiveDef<T> {
12975
13345
  * configuration. Host directives will be added to the map as they're being matched to the node.
12976
13346
  */
12977
13347
  findHostDirectiveDefs: ((currentDef: ɵDirectiveDef<unknown>, matchedDefs: ɵDirectiveDef<unknown>[], hostDirectiveDefs: HostDirectiveDefs) => void) | null;
12978
- /** Additional directives to be applied whenever the directive has been matched. */
12979
- hostDirectives: HostDirectiveDef[] | null;
13348
+ /**
13349
+ * Additional directives to be applied whenever the directive has been matched.
13350
+ *
13351
+ * `HostDirectiveConfig` objects represent a host directive that can be resolved eagerly and were
13352
+ * already pre-processed when the definition was created. A function needs to be resolved lazily
13353
+ * during directive matching, because it's a forward reference.
13354
+ *
13355
+ * **Note:** we can't `HostDirectiveConfig` in the array, because there's no way to distinguish if
13356
+ * a function in the array is a `Type` or a `() => HostDirectiveConfig[]`.
13357
+ */
13358
+ hostDirectives: (HostDirectiveDef | (() => HostDirectiveConfig[]))[] | null;
12980
13359
  setInput: (<U extends T>(this: ɵDirectiveDef<U>, instance: U, inputSignalNode: null | ɵInputSignalNode<unknown, unknown>, value: any, publicName: string, privateName: string) => void) | null;
12981
13360
  }
12982
13361
 
@@ -13068,6 +13447,14 @@ export declare function ɵgenerateStandaloneInDeclarationsError(type: Type<any>,
13068
13447
  */
13069
13448
  export declare function ɵgetAsyncClassMetadataFn(type: Type<unknown>): (() => Promise<Array<Type<unknown>>>) | null;
13070
13449
 
13450
+ /**
13451
+ * Gets the class name of the closest component to a node.
13452
+ * Warning! this function will return minified names if the name of the component is minified. The
13453
+ * consumer of the function is responsible for resolving the minified name to its original name.
13454
+ * @param node Node from which to start the search.
13455
+ */
13456
+ export declare function ɵgetClosestComponentName(node: Node): string | null;
13457
+
13071
13458
  /**
13072
13459
  * Retrieves all defer blocks in a given LView.
13073
13460
  *
@@ -13099,7 +13486,6 @@ export declare function ɵgetDeferBlocks(lView: LView, deferBlocks: ɵDeferBlock
13099
13486
  * @returns Array of directives associated with the node.
13100
13487
  *
13101
13488
  * @publicApi
13102
- * @globalApi ng
13103
13489
  */
13104
13490
  export declare function ɵgetDirectives(node: Node): {}[];
13105
13491
 
@@ -13112,7 +13498,6 @@ export declare function ɵgetDirectives(node: Node): {}[];
13112
13498
  * @returns Host element of the target.
13113
13499
  *
13114
13500
  * @publicApi
13115
- * @globalApi ng
13116
13501
  */
13117
13502
  export declare function ɵgetHostElement(componentOrDirective: {}): Element;
13118
13503
 
@@ -13288,6 +13673,10 @@ export declare interface ɵInputSignalNode<T, TransformT> extends SignalNode<T>
13288
13673
  * purposes we assume it's a valid `T` value. Type-checking will enforce that.
13289
13674
  */
13290
13675
  applyValueToInputSignal<T, TransformT>(node: ɵInputSignalNode<T, TransformT>, value: T): void;
13676
+ /**
13677
+ * A debug name for the input signal. Used in Angular DevTools to identify the signal.
13678
+ */
13679
+ debugName?: string;
13291
13680
  }
13292
13681
 
13293
13682
  /**
@@ -13337,6 +13726,12 @@ export declare function ɵinternalProvideZoneChangeDetection({ ngZoneFactory, ig
13337
13726
  */
13338
13727
  export declare const ɵIS_HYDRATION_DOM_REUSE_ENABLED: InjectionToken<boolean>;
13339
13728
 
13729
+ /**
13730
+ * Internal token that indicates whether incremental hydration support
13731
+ * is enabled.
13732
+ */
13733
+ export declare const ɵIS_INCREMENTAL_HYDRATION_ENABLED: InjectionToken<boolean>;
13734
+
13340
13735
  export declare function ɵisBoundToModule<C>(cf: ComponentFactory<C>): boolean;
13341
13736
 
13342
13737
  export declare function ɵisComponentDefPendingResolution(type: Type<any>): boolean;
@@ -13465,7 +13860,10 @@ export declare enum ɵLocaleDataIndex {
13465
13860
  export declare function ɵmicrotaskEffect(effectFn: (onCleanup: EffectCleanupRegisterFn) => void, options?: CreateEffectOptions): EffectRef;
13466
13861
 
13467
13862
  export declare class ɵMicrotaskEffectScheduler extends ZoneAwareEffectScheduler {
13863
+ private readonly pendingTasks;
13864
+ private taskId;
13468
13865
  schedule(effect: SchedulableEffect): void;
13866
+ flush(): void;
13469
13867
  /** @nocollapse */
13470
13868
  static ɵprov: unknown;
13471
13869
  }
@@ -13616,7 +14014,8 @@ export declare const enum ɵNotificationSource {
13616
14014
  ViewDetachedFromDOM = 10,
13617
14015
  AsyncAnimationsLoaded = 11,
13618
14016
  PendingTaskRemoved = 12,
13619
- RootEffect = 13
14017
+ RootEffect = 13,
14018
+ ViewEffect = 14
13620
14019
  }
13621
14020
 
13622
14021
  /**
@@ -14019,6 +14418,7 @@ export declare const enum ɵRuntimeErrorCode {
14019
14418
  MISSING_HYDRATION_ANNOTATIONS = -505,
14020
14419
  HYDRATION_STABLE_TIMEDOUT = -506,
14021
14420
  MISSING_SSR_CONTENT_INTEGRITY_MARKER = -507,
14421
+ MISCONFIGURED_INCREMENTAL_HYDRATION = 508,
14022
14422
  SIGNAL_WRITE_FROM_ILLEGAL_CONTEXT = 600,
14023
14423
  REQUIRE_SYNC_WITHOUT_SYNC_EMIT = 601,
14024
14424
  ASSERTION_NOT_INSIDE_REACTIVE_CONTEXT = -602,
@@ -14534,6 +14934,15 @@ export declare function ɵwithEventReplay(): Provider[];
14534
14934
  */
14535
14935
  export declare function ɵwithI18nSupport(): Provider[];
14536
14936
 
14937
+ /**
14938
+ * Returns a set of providers required to setup support for incremental hydration.
14939
+ * Requires hydration to be enabled separately.
14940
+ * Enabling incremental hydration also enables event replay for the entire app.
14941
+ *
14942
+ * @developerPreview
14943
+ */
14944
+ export declare function ɵwithIncrementalHydration(): Provider[];
14945
+
14537
14946
  /**
14538
14947
  * Returns a writable type version of type.
14539
14948
  *
@@ -15336,21 +15745,54 @@ export declare function ɵɵdefer(index: number, primaryTmplIndex: number, depen
15336
15745
  */
15337
15746
  export declare function ɵɵdeferEnableTimerScheduling(tView: TView, tDetails: TDeferBlockDetails, placeholderConfigIndex?: number | null, loadingConfigIndex?: number | null): void;
15338
15747
 
15748
+ /**
15749
+ * Specifies that hydration never occurs.
15750
+ * @codeGenApi
15751
+ */
15339
15752
  export declare function ɵɵdeferHydrateNever(): void;
15340
15753
 
15754
+ /**
15755
+ * Creates runtime data structures for the `on hover` hydrate trigger.
15756
+ * @codeGenApi
15757
+ */
15341
15758
  export declare function ɵɵdeferHydrateOnHover(): void;
15342
15759
 
15760
+ /**
15761
+ * Sets up logic to handle the `on idle` deferred trigger.
15762
+ * @codeGenApi
15763
+ */
15343
15764
  export declare function ɵɵdeferHydrateOnIdle(): void;
15344
15765
 
15766
+ /**
15767
+ * Sets up logic to handle the `on immediate` hydrate trigger.
15768
+ * @codeGenApi
15769
+ */
15345
15770
  export declare function ɵɵdeferHydrateOnImmediate(): void;
15346
15771
 
15772
+ /**
15773
+ * Creates runtime data structures for the `on interaction` hydrate trigger.
15774
+ * @codeGenApi
15775
+ */
15347
15776
  export declare function ɵɵdeferHydrateOnInteraction(): void;
15348
15777
 
15349
- export declare function ɵɵdeferHydrateOnTimer(): void;
15778
+ /**
15779
+ * Creates runtime data structures for the `on timer` hydrate trigger.
15780
+ * @param delay Amount of time to wait before loading the content.
15781
+ * @codeGenApi
15782
+ */
15783
+ export declare function ɵɵdeferHydrateOnTimer(delay: number): void;
15350
15784
 
15785
+ /**
15786
+ * Creates runtime data structures for the `on viewport` hydrate trigger.
15787
+ * @codeGenApi
15788
+ */
15351
15789
  export declare function ɵɵdeferHydrateOnViewport(): void;
15352
15790
 
15353
- export declare function ɵɵdeferHydrateWhen(): void;
15791
+ /**
15792
+ * Hydrates the deferred content when a value becomes truthy.
15793
+ * @codeGenApi
15794
+ */
15795
+ export declare function ɵɵdeferHydrateWhen(rawValue: unknown): void;
15354
15796
 
15355
15797
  /**
15356
15798
  * Creates runtime data structures for the `on hover` deferred trigger.
@@ -15466,7 +15908,7 @@ export declare function ɵɵdeferWhen(rawValue: unknown): void;
15466
15908
  * ```
15467
15909
  * @codeGenApi
15468
15910
  */
15469
- export declare function ɵɵdefineComponent<T>(componentDefinition: ComponentDefinition<T>): Mutable<ɵComponentDef<any>, keyof ɵComponentDef<any>>;
15911
+ export declare function ɵɵdefineComponent<T>(componentDefinition: ComponentDefinition<T>): ɵComponentDef<any>;
15470
15912
 
15471
15913
  /**
15472
15914
  * Create a directive definition object.
@@ -15484,7 +15926,7 @@ export declare function ɵɵdefineComponent<T>(componentDefinition: ComponentDef
15484
15926
  *
15485
15927
  * @codeGenApi
15486
15928
  */
15487
- export declare function ɵɵdefineDirective<T>(directiveDefinition: DirectiveDefinition<T>): Mutable<ɵDirectiveDef<any>, keyof ɵDirectiveDef<any>>;
15929
+ export declare function ɵɵdefineDirective<T>(directiveDefinition: DirectiveDefinition<T>): ɵDirectiveDef<any>;
15488
15930
 
15489
15931
  /**
15490
15932
  * Construct an injectable definition which defines how a token will be constructed by the DI
@@ -16245,7 +16687,7 @@ export declare type ɵɵNgModuleDeclaration<T, Declarations, Imports, Exports> =
16245
16687
  *
16246
16688
  * @codeGenApi
16247
16689
  */
16248
- export declare function ɵɵNgOnChangesFeature<T>(): DirectiveDefFeature;
16690
+ export declare const ɵɵNgOnChangesFeature: () => DirectiveDefFeature;
16249
16691
 
16250
16692
 
16251
16693
  /**
@@ -17109,9 +17551,11 @@ export declare function ɵɵrepeaterTrackByIndex(index: number): number;
17109
17551
  * Replaces the metadata of a component type and re-renders all live instances of the component.
17110
17552
  * @param type Class whose metadata will be replaced.
17111
17553
  * @param applyMetadata Callback that will apply a new set of metadata on the `type` when invoked.
17554
+ * @param environment Core runtime environment to use when applying the HMR update.
17555
+ * @param locals Local symbols from the source location that have to be exposed to the callback.
17112
17556
  * @codeGenApi
17113
17557
  */
17114
- export declare function ɵɵreplaceMetadata(type: Type<unknown>, applyMetadata: () => void): void;
17558
+ export declare function ɵɵreplaceMetadata(type: Type<unknown>, applyMetadata: (...args: [Type<unknown>, Record<string, unknown>, ...unknown[]]) => void, environment: Record<string, unknown>, locals: unknown[]): void;
17115
17559
 
17116
17560
  /**
17117
17561
  * Clears the view set in `ɵɵrestoreView` from memory. Returns the passed in
@@ -17274,18 +17718,6 @@ export declare function ɵɵsetComponentScope(type: ɵComponentType<any>, direct
17274
17718
  */
17275
17719
  export declare function ɵɵsetNgModuleScope(type: any, scope: NgModuleScopeInfoFromDecorator): unknown;
17276
17720
 
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
17721
  /**
17290
17722
  * Instruction that stores the value of a `@let` declaration on the current view.
17291
17723
  * Returns the value to allow usage inside variable initializers.