import type { Component } from "svelte"; import type { ColumnEditorRowRendererProps as VanillaColumnEditorRowRendererProps, HeaderRendererProps as VanillaHeaderRendererProps } from "simple-table-core"; import type { MountRegistry } from "../MountRegistry"; /** * Wraps a Svelte 5 component into a function returning an HTMLElement, * matching the vanilla renderer contract expected by simple-table-core. * The mount is registered so core's `onRendererHostDiscard` can unmount it * (including any `` / floating UI) when the host is discarded. */ export declare function wrapSvelteRenderer

>(registry: MountRegistry, component: Component

): (props: P) => HTMLElement; /** * Header renderer wrapper that reuses one host element so sort/filter icon * refreshes update props in place instead of remounting the Svelte subtree * and wiping local state. Mirrors Vue's {@link wrapVueHeaderRenderer} / * React's {@link wrapReactHeaderRenderer}. */ export declare function wrapSvelteHeaderRenderer(registry: MountRegistry, component: Component): (props: VanillaHeaderRendererProps) => HTMLElement; /** * Like {@link wrapSvelteRenderer}, but reuses one wrapper per accessor so * unstable column rebuilds keep a stable function identity on ColumnDef. * * For `kind: "header"`, also reuses a single mount host (React * {@link wrapCachedHeaderRenderer} / Vue {@link wrapCachedVueRenderer}) so * sort/filter refreshes preserve state. */ export declare function wrapCachedSvelteRenderer

>(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 Svelte state (mirrors Vue/React). */ export declare function wrapSvelteColumnEditorRowRenderer(registry: MountRegistry, component: Component): (props: VanillaColumnEditorRowRendererProps) => HTMLElement; /** Mount a Svelte component into a div for vanilla-only slots (e.g. table empty state). */ export declare function wrapSvelteStatic(registry: MountRegistry, component: Component): HTMLElement; /** * Converts a rendered Svelte component to an HTML string. * Used for icon props where vanilla expects string | HTMLElement | SVGSVGElement. */ export declare function svelteComponentToHtmlString(component: Component>, props?: Record): string; /** Returns true if the value looks like a Svelte component (function or class). */ export declare function isSvelteComponent(value: unknown): value is Component;