import { type SanitizedHtml } from '../security/trusted-html'; /** * Public shape of a boolean HTML attribute created by {@link bool}. * * This type is returned from {@link bool} and can be interpolated into * {@link html} / {@link safeHtml} templates to conditionally include or omit * an attribute by name. The internal marker property used for runtime checks * remains private and is not part of the public API. * * @example * ```ts * const disabled = bool('disabled', isDisabled); * const button = html``; * ``` */ export interface BooleanAttribute { readonly enabled: boolean; readonly name: string; } /** * Creates a boolean-attribute marker for the {@link html} and {@link safeHtml} template tags. * * When the condition is truthy, the attribute name is rendered without a value. * When the condition is falsy, an empty string is rendered and any surrounding * template-literal whitespace is preserved. * * @param name - HTML attribute name to emit * @param enabled - Whether the boolean attribute should be present * @returns Internal marker consumed by template tags * * @example * ```ts * html``; * // Result when isDisabled = true: '' * ``` */ export declare const bool: (name: string, enabled: unknown) => BooleanAttribute; /** * Tagged template literal for creating HTML strings. * * This function handles interpolation of values into HTML templates, * converting null/undefined to empty strings. * * @param strings - Template literal string parts * @param values - Interpolated values * @returns Combined HTML string * * @example * ```ts * const name = 'World'; * const greeting = html`