import { aj as VNode } from '../index-CeFAHwJi.js'; export { A as AllHTMLElements, b as AsyncDefussChild, c as AsyncFC, d as AsyncFunctionComponent, C as CLASS_ATTRIBUTE_NAME, e as CSSProperties, g as Children, D as DANGEROUSLY_SET_INNER_HTML_ATTRIBUTE, h as DEFAULT_TRANSITION_CONFIG, i as DOMElement, k as DefussChild, l as DefussChildren, m as DefussClassValue, n as DefussKey, s as DomAbstractionImpl, t as ElementProps, F as FC, x as FontFaceProperties, B as Fragment, G as FunctionComponent, H as Globals, J as JsxRuntimeHookFn, I as JsxSourceInfo, K as KeyFrameProperties, M as Maybe, P as MountHandler, Q as NodeType, R as OneOrMany, S as ParentElementInput, T as ParentElementInputAsync, Y as Props, Z as REF_ATTRIBUTE_NAME, _ as Ref, a0 as RefUpdateFn, a1 as RefUpdateRenderFn, a2 as RefUpdateRenderFnInput, a3 as RenderInput, a4 as RenderNodeInput, a5 as RenderResult, a6 as RenderResultNode, a9 as SyncRenderInput, aa as SyncRenderResult, ac as TransitionConfig, ad as TransitionStyles, ae as TransitionType, af as TransitionsEasing, ah as UnmountHandler, ai as VAttributes, ak as VNodeAttributes, al as VNodeChild, am as VNodeChildren, an as VNodeKey, ao as VNodeRef, ap as VNodeRefCallback, aq as VNodeRefObject, ar as VNodeType, at as XLINK_ATTRIBUTE_NAME, au as XMLNS_ATTRIBUTE_NAME, av as applyStyles, aw as createInPlaceErrorMessageVNode, ax as createRef, aE as getRenderer, aF as getTransitionStyles, aG as globalScopeDomApis, aH as handleLifecycleEventsForOnMount, aK as isJSX, aL as isRef, aM as jsx, aN as jsxDEV, aO as jsxs, aP as nsMap, aQ as observeUnmount, aR as performTransition, aS as render, aT as renderInto, aU as renderIsomorphicAsync, aV as renderIsomorphicSync, aY as updateDom } from '../index-CeFAHwJi.js'; import 'csstype'; type DelegatedPhase = "bubble" | "capture"; interface DelegatedEventOptions { capture?: boolean; /** If true, allows multiple handlers per element+type (Dequery mode) */ multi?: boolean; } interface ParsedEventProp { eventType: string; capture: boolean; } /** non-bubbling events best handled via capture */ declare const CAPTURE_ONLY_EVENTS: Set; declare const parseEventPropName: (propName: string) => ParsedEventProp | null; declare const registerDelegatedEvent: (element: HTMLElement, eventType: string, handler: EventListener, options?: DelegatedEventOptions) => void; declare const removeDelegatedEvent: (target: EventTarget, eventType: string, handler?: EventListener, options?: DelegatedEventOptions) => void; declare const clearDelegatedEvents: (target: EventTarget) => void; /** * Clear delegated events for an element and all its descendants. * Used by empty() to prevent event handler leaks when removing subtrees. */ declare const clearDelegatedEventsDeep: (root: HTMLElement) => void; /** * Get all event types currently registered on an element. * Used to detect which events need to be removed when vnode props change. */ declare const getRegisteredEventTypes: (element: HTMLElement) => Set; /** * Get all event keys with phases currently registered on an element. * Returns keys like "click:bubble", "click:capture" for precise phase-aware removal. */ declare const getRegisteredEventKeys: (element: HTMLElement) => Set; /** * Remove delegated event handler for a specific phase only. * Used by patchElementInPlace to precisely remove stale handlers when vnode changes from * onClick + onClickCapture → onClickCapture only. */ declare const removeDelegatedEventByKey: (element: HTMLElement, eventType: string, phase: "bubble" | "capture") => void; /** * Component instance metadata for implicit updates. * Stored on the mount boundary (container) element. */ interface ComponentInstance { renderFn: (props: Record) => VNode; props: Record; prevVNode?: VNode; } /** Check if an element is a managed component root */ declare function isComponentRoot(el: Element): boolean; /** Get component instance for an element */ declare function getComponentInstance(el: Element): ComponentInstance | undefined; /** Register a component instance on an element */ declare function registerComponent(el: Element, renderFn: (props: Record) => VNode, props: Record): void; /** Unregister a component (called on unmount) */ declare function unregisterComponent(el: Element): void; /** * Mount a component to a container, registering it for implicit updates. * * After mounting, `$(container).update({ ...props })` will re-render the component * with merged props, enabling the FluxDOM implicit update contract. * * @param container - The mount boundary element (stable root for updates) * @param Component - The component function (props) => VNode * @param initialProps - Initial props to render with * @returns The container element (for chaining) * * @example * ```tsx * const Counter = ({ count }) =>
{count}
; * const root = mount(document.getElementById("app"), Counter, { count: 0 }); * * // Later: implicit update via props merge * $(root).update({ count: 5 }); * ``` */ declare function mount

>(container: Element, Component: (props: P) => VNode, initialProps: P): Element; /** * Unmount a component and clean up its registry entry. */ declare function unmount(container: Element): void; export { CAPTURE_ONLY_EVENTS, VNode, clearDelegatedEvents, clearDelegatedEventsDeep, getComponentInstance, getRegisteredEventKeys, getRegisteredEventTypes, isComponentRoot, mount, parseEventPropName, registerComponent, registerDelegatedEvent, removeDelegatedEvent, removeDelegatedEventByKey, unmount, unregisterComponent }; export type { ComponentInstance, DelegatedEventOptions, DelegatedPhase, ParsedEventProp };