import { type OsmosNode } from '../types/jsx.js'; export interface OsmosRendererOptions { /** * The Osmos context instance used for component rendering */ osmos?: any; /** * Callback function when chunk value * is written during render process. */ onWrite(chunk: string): void; /** * Callback function when an error occured * during render process. */ onError(error: Error): void; } export declare class OsmosRenderer { #private; options: OsmosRendererOptions; static renderers: Map>; constructor(options: OsmosRendererOptions); static register(renderer: RendererFn): void; render(node: OsmosNode): Promise; /** * Write chunk value to the output. */ write(chunk: string): boolean; /** * Emit rendering error */ error(error: Error): void; } export type RendererFn = { name: string; render: (node: I, renderer: OsmosRenderer) => Promise; };