import { Computed } from "native-signal/weak"; import { Component } from "../components/Component"; interface Reactive { get(): T; } export type A = number | A[]; export type Child = Node | string | number | bigint | boolean | null | undefined | JSX.Element | Comment | DocumentFragment | Text | Reactive | Promise | { to_html(): Child; } | Child[]; export declare function is_reactive(v: unknown): v is Reactive; export interface Slot { start: Comment; end: Comment; children_computeds: Computed[]; } export declare function create_slot(label: string): Slot; export declare function clear_slot(slot: Slot): void; export declare function fill_slot(slot: Slot, nodes: Node[]): void; export declare function normalize_child(child: Child, owner: Node, slot: Slot | null): Node[]; export declare function mount_reactive(signal: Reactive, _owner: Node, parent_slot: Slot | null): Node[]; export declare function mount_promise(promise: Promise, owner: Node): Node[]; export declare function bind_style_signal(el: HTMLElement, key: string, signal: Reactive): void; export declare function apply_style_prop(el: HTMLElement, value: unknown, key?: string): void; export declare function apply_prop(el: Element, key: string, value: unknown): void; export declare function apply_props(el: Element, props: Record | null): void; export declare function swap_slot(start: Comment, end: Comment, nodes: Node[]): void; /** Eagerly materialise a Child/Child[] into a stable flat Node[]. */ export declare function materialise(content: Child | Child[], owner: Node): Node[]; export declare function h(tag: string | typeof Fragment | (new (p: any) => Component), props: Record | null, ...children: Child[]): JSX.Element | Component; export declare function Fragment(_props?: { children?: Child; }): unknown; export {}; //# sourceMappingURL=jsx-runtime.d.ts.map