import { ElementType, ReactNode } from 'react'; import { C42ControllerClass, C42EventHandler } from './useC42'; export interface C42Props { /** The headless controller class from `@42/core`. */ controller: C42ControllerClass; /** Options forwarded to the controller constructor / `update()`. */ options?: O; /** Values that trigger an options re-sync (see {@link useC42}). */ deps?: unknown[]; /** Element/tag to render as the controller root. Defaults to `"div"`. */ as?: ElementType; /** * Map of `data-c42-*` DOM event names to handlers, e.g. * `{ "accordion:change": (detail) => ... }`. Each handler receives the * unwrapped `event.detail` and the original `CustomEvent`. */ events?: Record; /** Children rendered inside the root. */ children?: ReactNode; /** * Raw HTML used as the root's initial markup when no `children` are given. * Useful for rendering a `data-c42-*` skeleton the controller enhances. */ html?: string; className?: string; [key: string]: unknown; } /** * Generic bridge that mounts any `@42/core` controller onto a rendered element. * * ```tsx * import { Accordion } from "@42/core/accordion"; * console.log(d) }}> * …markup… * * ``` */ export declare function C42(props: C42Props): import('react').FunctionComponentElement>;