import type { ChildrenList, ShadeComponent } from './models/index.js'; /** * When true, the JSX factory produces VNode descriptors instead of real DOM elements. * Set to true by `_performUpdate` before calling `render()`, then back to false after. */ export declare const setRenderMode: (mode: boolean) => void; /** * Appends `children` to `el`. Strings/numbers are wrapped in text nodes; * nested arrays are flattened recursively. Used outside render mode (real * DOM); inside render mode the JSX factory builds VNodes instead. */ export declare const appendChild: (el: Element | DocumentFragment, children: ChildrenList) => void; export declare const hasStyle: (props: unknown) => props is { style: Partial; }; /** Copies `props.style` (when present) onto `el.style`. No-op for non-styled props. */ export declare const attachStyles: (el: HTMLElement, props: unknown) => void; export declare const attachDataAttributes: (el: HTMLElement, props: TProps) => void; /** * Assigns `props` onto `el` as element properties (not attributes). `style` * is forwarded to {@link attachStyles}; `data-*` / `aria-*` are forwarded to * {@link attachDataAttributes}. */ export declare const attachProps: (el: HTMLElement, props: TProps) => void; /** * SVG counterpart of {@link attachProps}. SVG attributes are XML-based and * must be set via `setAttribute` rather than property assignment. Event * handlers (`on*`) and `style` are still set as properties. */ export declare const attachSvgProps: (el: Element, props: TProps) => void; type CreateComponentArgs = [ elementType: string | ShadeComponent, props: TProps, ...children: ChildrenList ]; /** * JSX factory backing both intrinsic elements (`
`, ``, …) and * Shade components (``). Configured as `jsxFactory` in tsconfig. * Outside render mode this returns real DOM nodes; the render-mode wrapper * {@link createComponent} swaps in VNode descriptors. */ export declare const createComponentInner: (...[elementType, props, ...children]: CreateComponentArgs) => HTMLElement | SVGElement | undefined; type CreateFragmentArgs = [props: null, ...children: ChildrenList]; export declare const createFragmentInner: (...[_props, ...children]: CreateFragmentArgs) => DocumentFragment; export declare const createComponent: (...args: CreateComponentArgs | CreateFragmentArgs) => DocumentFragment | HTMLElement | SVGElement | undefined; export {}; //# sourceMappingURL=shade-component.d.ts.map