/** * @license Angular v12.2.9 * (c) 2010-2021 Google LLC. https://angular.io/ * License: MIT */ import { ComponentRef } from '@angular/core'; import { DebugElement } from '@angular/core'; import { DebugNode } from '@angular/core'; import { ErrorHandler } from '@angular/core'; import { GetTestability } from '@angular/core'; import { InjectionToken } from '@angular/core'; import { Injector } from '@angular/core'; import { ModuleWithProviders } from '@angular/core'; import { NgProbeToken } from '@angular/core'; import { NgZone } from '@angular/core'; import { OnDestroy } from '@angular/core'; import { PlatformRef } from '@angular/core'; import { Predicate } from '@angular/core'; import { Provider } from '@angular/core'; import { Renderer2 } from '@angular/core'; import { RendererFactory2 } from '@angular/core'; import { RendererType2 } from '@angular/core'; import { Sanitizer } from '@angular/core'; import { SecurityContext } from '@angular/core'; import { StaticProvider } from '@angular/core'; import { Testability } from '@angular/core'; import { TestabilityRegistry } from '@angular/core'; import { Type } from '@angular/core'; import { Version } from '@angular/core'; import { XhrFactory } from '@angular/common'; import { ɵConsole } from '@angular/core'; import { ɵDomAdapter } from '@angular/common'; import { ɵgetDOM } from '@angular/common'; /** * Exports required infrastructure for all Angular apps. * Included by default in all Angular apps created with the CLI * `new` command. * Re-exports `CommonModule` and `ApplicationModule`, making their * exports and providers available to all apps. * * @publicApi */ export declare class BrowserModule { constructor(parentModule: BrowserModule | null); /** * Configures a browser-based app to transition from a server-rendered app, if * one is present on the page. * * @param params An object containing an identifier for the app to transition. * The ID must match between the client and server versions of the app. * @returns The reconfigured `BrowserModule` to import into the app's root `AppModule`. */ static withServerTransition(params: { appId: string; }): ModuleWithProviders; } /** * NgModule to install on the client side while using the `TransferState` to transfer state from * server to client. * * @publicApi */ export declare class BrowserTransferStateModule { } /** * Predicates for use with {@link DebugElement}'s query functions. * * @publicApi */ export declare class By { /** * Match all nodes. * * @usageNotes * ### Example * * {@example platform-browser/dom/debug/ts/by/by.ts region='by_all'} */ static all(): Predicate; /** * Match elements by the given CSS selector. * * @usageNotes * ### Example * * {@example platform-browser/dom/debug/ts/by/by.ts region='by_css'} */ static css(selector: string): Predicate; /** * Match nodes that have the given directive present. * * @usageNotes * ### Example * * {@example platform-browser/dom/debug/ts/by/by.ts region='by_directive'} */ static directive(type: Type): Predicate; } /** * Disables Angular tools. * * @publicApi */ export declare function disableDebugTools(): void; /** * DomSanitizer helps preventing Cross Site Scripting Security bugs (XSS) by sanitizing * values to be safe to use in the different DOM contexts. * * For example, when binding a URL in an `` hyperlink, `someValue` will be * sanitized so that an attacker cannot inject e.g. a `javascript:` URL that would execute code on * the website. * * In specific situations, it might be necessary to disable sanitization, for example if the * application genuinely needs to produce a `javascript:` style link with a dynamic value in it. * Users can bypass security by constructing a value with one of the `bypassSecurityTrust...` * methods, and then binding to that value from the template. * * These situations should be very rare, and extraordinary care must be taken to avoid creating a * Cross Site Scripting (XSS) security bug! * * When using `bypassSecurityTrust...`, make sure to call the method as early as possible and as * close as possible to the source of the value, to make it easy to verify no security bug is * created by its use. * * It is not required (and not recommended) to bypass security if the value is safe, e.g. a URL that * does not start with a suspicious protocol, or an HTML snippet that does not contain dangerous * code. The sanitizer leaves safe values intact. * * @security Calling any of the `bypassSecurityTrust...` APIs disables Angular's built-in * sanitization for the value passed in. Carefully check and audit all values and code paths going * into this call. Make sure any user data is appropriately escaped for this security context. * For more detail, see the [Security Guide](https://g.co/ng/security). * * @publicApi */ export declare abstract class DomSanitizer implements Sanitizer { /** * Sanitizes a value for use in the given SecurityContext. * * If value is trusted for the context, this method will unwrap the contained safe value and use * it directly. Otherwise, value will be sanitized to be safe in the given context, for example * by replacing URLs that have an unsafe protocol part (such as `javascript:`). The implementation * is responsible to make sure that the value can definitely be safely used in the given context. */ abstract sanitize(context: SecurityContext, value: SafeValue | string | null): string | null; /** * Bypass security and trust the given value to be safe HTML. Only use this when the bound HTML * is unsafe (e.g. contains `