import type { Props } from '#public'; import type { Readable } from 'node:stream'; // Re-export runtime types for server-compiled components export { track, untrack, flushSync, effect, tick, Context, RippleArray, RippleSet, RippleMap, RippleDate, RippleURL, RippleURLSearchParams, } from './index.js'; export interface SSRRenderOutput { head: string; body: string; css: Set; push(chunk: string): void; register_css(hash: string): void; } export interface SSRComponent { (output: SSRRenderOutput, props?: Props): void | Promise; async?: boolean; } export interface SSRRenderResult { head: string; body: string; css: Set; } export type SSRRender = (component: SSRComponent) => Promise; export type render = (component: SSRComponent) => Promise; export type renderToStream = (component: SSRComponent) => Readable; export const render: render; export const renderToStream: renderToStream;