| null,
...contents: Children[]
): JSX.Element;
/**
* Joins raw string html elements into a single html string.
*
* A raw html fragment is just an array of strings, this method concatenates .
*
* @param contents An maybe nested array of strings to concatenate.
* @param escape If it should escape the contents before concatenating them. Default is
* `false`
* @returns The concatenated and escaped string of contents.
*/
export function contentsToString(
this: void,
contents: Children[],
escape?: boolean
): JSX.Element;
/**
* Transforms a single content into a string.
*
* @param content The content to transform.
* @param escape If it should escape the content before transforming it. Default is
* `false`
* @returns The transformed and escaped string of content.
*/
export function contentToString(
this: void,
content: Children,
escape?: boolean
): JSX.Element;
/** Here for interop with `preact` and many build systems. */
export const h: typeof createElement;
/**
* Alias of {@linkcode escape} to reduce verbosity.
*
* @example
*
* ```tsx
* import { e } from '@kitajs/html'
*
* {e`My name is ${user.name}!`}
;
* ```
*/
export const e: typeof escape;
/**
* A JSX Fragment is used to return multiple elements from a component.
*
* @example
*
* ```tsx
* // renders 1
and 2
without needing a wrapper element
* const html = <>1
2
>
*
* // Html.Fragment is the same as <>...>
* const html = 1
2
* ```
*/
export function Fragment(props: PropsWithChildren): JSX.Element;
export type Children =
| number
| string
| boolean
| null
| undefined
| bigint
| Promise
| Children[];
export type PropsWithChildren = { children?: Children } & T;
export type Component = (this: void, props: PropsWithChildren) => JSX.Element;
/**
* Fast and type safe HTML templates using JSX syntax.
*
* @module Html
* @license Apache License Version 2.0
* @link https://github.com/kitajs/html
* @link https://www.npmjs.com/package/@kitajs/html
*/
export const Html: Omit;