/** * @license * Copyright Google LLC * SPDX-License-Identifier: Apache-2.0 */ /** @fileoverview Internal implementations of SafeHtml. */ import { UnwrapType } from './trusted_types.js'; import { TrustedHTML } from './trusted_types_typings.js'; import '../environment/dev.js'; /** * String that is safe to use in HTML contexts in DOM APIs and HTML documents. * * @final */ export declare class SafeHtml { private readonly privateDoNotAccessOrElseWrappedHtml; private constructor(); toString(): string; } /** * Builds a new `SafeHtml` from the given string, without enforcing * safety guarantees. It may cause side effects by creating a Trusted Types * policy. This shouldn't be exposed to application developers, and must only be * used as a step towards safe builders or safe constants. */ export declare function createHtmlInternal(value: string): SafeHtml; /** * An empty `SafeHtml` constant. * Unlike the functions above, using this will not create a policy. */ export declare const EMPTY_HTML: SafeHtml; /** Checks if the given value is a `SafeHtml` instance */ export declare function isHtml(value: unknown): value is SafeHtml; /** * Returns the value of the passed `SafeHtml` object while ensuring it * has the correct type. * Using this function directly is not common. Safe types are not meant to be * unwrapped, but rather passed to other APIs that consume them, like the DOM * wrappers in safevalues/dom. * * Returns a native `TrustedHTML` instance typed as {toString(): string} or a string if Trusted Types are disabled. */ export declare function unwrapHtml(value: SafeHtml): UnwrapType | string;