import { type Component } from "solid-js"; import type { ColumnEditorRowRendererProps as VanillaColumnEditorRowRendererProps, HeaderRendererProps as VanillaHeaderRendererProps } from "simple-table-core"; import type { MountRegistry } from "../MountRegistry"; /** * Wraps a Solid component into a function that returns an HTMLElement, matching * the vanilla renderer contract expected by simple-table-core. * * Solid's render() is synchronous, so no flushSync equivalent is needed. * The dispose handle is registered so core's `onRendererHostDiscard` can tear * down the reactive tree (and any portal / floating UI) when the host is discarded. */ export declare function wrapSolidRenderer
(registry: MountRegistry, component: Component
): (props: P) => HTMLElement;
/**
* Header renderer wrapper that reuses one host element so sort/filter icon
* refreshes update props in place (via a reactive props store) instead of
* remounting the Solid subtree and wiping local state. Mirrors Vue's
* {@link wrapVueHeaderRenderer} / React's {@link wrapReactHeaderRenderer}.
*/
export declare function wrapSolidHeaderRenderer(registry: MountRegistry, component: Component (registry: MountRegistry, accessor: string, kind: "cell" | "header", component: Component ): (props: P) => HTMLElement;
/**
* Column-editor row renderer: one host per `accessor` so popout list rebuilds
* update in place instead of remounting Solid state (mirrors Vue/React).
*/
export declare function wrapSolidColumnEditorRowRenderer(registry: MountRegistry, component: Component