/**
* `unsafeHtml()` — opt-in sanitizer bypass marker for {@link storyHtml}.
*
* @module bquery/storybook
*/
/** @internal */
export declare const UNSAFE_HTML_PLACEHOLDER_PREFIX = "\u0001BQ_UNSAFE_HTML_";
/** @internal */
export declare const UNSAFE_HTML_PLACEHOLDER_SUFFIX = "_END\u0001";
/** @internal */
declare const UNSAFE_HTML_BRAND: unique symbol;
/**
* Marker returned by {@link unsafeHtml}. Identifies an interpolated story
* value that should bypass the {@link storyHtml} sanitizer.
*/
export interface UnsafeHtmlMarker {
/** @internal */
readonly [UNSAFE_HTML_BRAND]: true;
/** The raw HTML that will be re-inserted after sanitization. */
readonly value: string;
}
/** @internal */
export declare const createUnsafeHtmlMarker: (value: string) => UnsafeHtmlMarker;
/**
* Wraps an HTML fragment so {@link storyHtml} re-inserts it verbatim after
* sanitizing the surrounding template. The wrapped value is **not** sanitized.
*
* @remarks
* Mirrors `lit-html`'s `unsafeHTML` directive. Only use with trusted,
* author-controlled markup — never with user-supplied input.
*
* @param value - The HTML fragment to insert verbatim
* @returns An opaque marker recognised by {@link storyHtml}
*
* @example
* ```ts
* import { storyHtml, unsafeHtml } from '@bquery/bquery/storybook';
*
* const trustedSvg = '';
* storyHtml`${unsafeHtml(trustedSvg)}`;
* ```
*/
export declare const unsafeHtml: (value: string) => UnsafeHtmlMarker;
/**
* Type guard for {@link UnsafeHtmlMarker}.
* @internal
*/
export declare const isUnsafeHtmlMarker: (value: unknown) => value is UnsafeHtmlMarker;
export {};
//# sourceMappingURL=unsafe-html.d.ts.map