// Import all organized type definitions import "./core/base"; import "./svg/base"; import "./html/tags"; import "./svg/tags"; import "./features/list"; import "./features/when"; import "./features/region"; import "./features/update"; import "./features/scope"; import "./features/on"; import "./features/render"; import "./features/style"; // --------------------------------------------------------------------------- // Module export surface — mirrors the runtime exports of src/index.ts so that // module-style consumers (import { render } from "nuclo") get the same types // as global-style consumers (import "nuclo"). Keep in sync with src/index.ts. // --------------------------------------------------------------------------- // Core primitives (same signatures as the globals) export function list( itemsProvider: ListItemsProvider, render: ListRenderFunction, ): ListModifier; export function when( condition: WhenCondition, ...content: WhenContent[] ): WhenBuilder; export function region(options: RegionOptions): MarkerModifier; export function into(id: string, ...content: WhenContent[]): MarkerModifier; export function into( regions: Readonly>, ): MarkerModifier; export function update(...scopeIds: string[]): void; export function scope( ...ids: string[] ): NodeModFn; export function render( nodeModFn: MarkerModifier | (() => MarkerModifier), parent?: Element, index?: number, ): Comment; export function render( nodeModFn: NodeModFn | (() => NodeModFn), parent?: Element, index?: number, ): ExpandedElement; export function hydrate( nodeModFn: MarkerModifier | (() => MarkerModifier), parent?: Element, ): Comment; export function hydrate( nodeModFn: NodeModFn | (() => NodeModFn), parent?: Element, ): ExpandedElement; export function forceUpdate(): void; export function forceUpdate( nodeModFn: MarkerModifier | (() => MarkerModifier), parent?: Element, ): Comment; export function forceUpdate( nodeModFn: NodeModFn | (() => NodeModFn), parent?: Element, ): ExpandedElement; // on() helper (same overloads as the global) export function on< K extends NucloHTMLElementEventName, TTagName extends NucloHTMLElementTagNameForEvent = NucloHTMLElementTagNameForEvent, >( type: K, listener: TypedEventListener< HTMLElementTagNameMap[TTagName], NucloHTMLElementEventForName >, options?: boolean | AddEventListenerOptions ): NodeModFn; export function on( type: "mount", listener: MountCallback, ): NodeModFn; export function on( type: "destroy", listener: DestroyCallback, ): NodeModFn; export function on( type: K, listener: TypedEventListener, options?: boolean | AddEventListenerOptions ): NodeModFn; // Styling (themeless default instance + themed factory) export function createCss(theme?: T): CssInstance; // The single-argument form is declared last so `Parameters[0]` is // the style object: `Parameters` resolves against the final overload. export function css(name: string, style: Style): StyleResult; export function css(style: Style): StyleResult; export function cx(...inputs: ClassInput[]): StyleResult; export function variants>( config: VariantsConfig, ): VariantsFn; export function keyframes(frames: KeyframeFrames): string; export function globalStyle(selector: string, style: FlatStyle): void; export function getCssText(): string; export function resetStyles(): void; // Styling types (same names as the globals, importable as module types) export type { ClassInput, CssInstance, CSSProperties, FlatStyle, KeyframeFrames, KeyframeStop, Pseudo, Size, Style, StyleResult, ThemeConfig, VariantDefinitions, VariantProps, VariantsConfig, VariantsFn, } from "./style";