import { Child, Props, Ref } from './types.js'; /** * Core hyperscript function. * - string tag → DOM element * - function tag → component call */ export declare function h(tag: string | ((...args: unknown[]) => Element | DocumentFragment | void), props?: Props | null, ...children: Child[]): Element | DocumentFragment; /** Fragment: <> in JSX. Returns DocumentFragment. */ export declare function Fragment(props: { children?: Child | Child[]; } | null, ...restChildren: Child[]): DocumentFragment; /** Returns a Ref object whose .current is populated by h() when used as a ref prop. */ export declare function ref(): Ref; type ElFn = (...args: unknown[]) => Element | DocumentFragment; /** * Proxy sugar: el.button(props?, ...children) === h('button', props, ...children) * Props are auto-detected — passing null for "no props" is no longer required: * el.div(el.h1('Hello'), el.p('World')) ← children only, no null needed * el.div({ class: 'card' }, el.p('Hi')) ← props + children * * Typed as a mapped type over HTMLElementTagNameMap so that property access * (el.div, el.button, …) returns a non-nullable function even under * noUncheckedIndexedAccess — concrete keys are never undefined. */ export declare const el: { [K in keyof HTMLElementTagNameMap]: ElFn; }; export {};