/** * Trusted Types helpers for CSP compatibility. * * @module bquery/security */ import type { TrustedHTML, TrustedTypePolicy } from './types'; /** * Check if Trusted Types API is available. * @returns True if Trusted Types are supported */ export declare const isTrustedTypesSupported: () => boolean; /** * Get or create the bQuery Trusted Types policy. * @returns The Trusted Types policy or null if unsupported */ export declare const getTrustedTypesPolicy: () => TrustedTypePolicy | null; /** * Create a Trusted HTML value for use with Trusted Types-enabled sites. * Falls back to regular string when Trusted Types are unavailable. * * @param html - The HTML string to wrap * @returns Trusted HTML value or sanitized string */ export declare const createTrustedHtml: (html: string) => TrustedHTML | string; /** * Returns the value to assign to an HTML sink (`innerHTML` / * `insertAdjacentHTML`). When a Trusted Types policy is active the value is a * `TrustedHTML` object, so the write satisfies an enforced * `require-trusted-types-for 'script'` CSP instead of throwing; otherwise it is * the sanitized string. Sanitizes exactly once. * * The declared return type is `string` for ergonomic assignment to DOM sink * setters (whose lib types expect `string`); at runtime under enforced Trusted * Types the returned value is the `TrustedHTML` object the browser accepts. * * @example * ```ts * // Safe under an enforced `require-trusted-types-for 'script'` CSP. * element.innerHTML = trustedHtmlForSink('Hello'); * ``` */ export declare const trustedHtmlForSink: (rawHtml: string) => string; //# sourceMappingURL=trusted-types.d.ts.map