import type { Subscribable } from './types.js'; export type ServerChild = string | number | boolean | null | undefined | ServerNode | ServerChild[] | ((parent: Element) => ServerChild) | PromiseLike | Subscribable; export type ServerComponent

= Record> = (props: () => P) => ServerChild; declare const nodeKind: unique symbol; export interface ServerNode { readonly [nodeKind]: true; readonly type: string | ServerComponent | null; readonly props: Record | null; readonly children: ServerChild[]; } export declare function createElement

>(type: string | ServerComponent

| typeof Fragment, props: P | null, ...children: ServerChild[]): ServerNode; export declare function Fragment(children: ServerChild[]): ServerNode; export declare function createTextNode(text: string): ServerChild; export declare function createComment(text: string): ServerNode; export declare function renderToString(child: ServerChild): string; /** Ordered HTML bytes. Pulls stop at async boundaries and obey consumer backpressure. */ export declare function renderToChunks(child: ServerChild, maxTextLength?: number): AsyncGenerator; /** Ordered HTML bytes. Pulls stop at async boundaries and obey consumer backpressure. */ export declare function renderToReadableStream(child: ServerChild): ReadableStream; export declare function renderToStringAsync(child: ServerChild): Promise; export {};