import { type AparteUiHandle } from '@aparte/core'; export interface AparteUiProps { /** The custom element tag name (e.g. 'aparte-model-selector'). */ name: string; /** Props to apply. Keys starting with `--` become CSS variables. */ props?: Record; /** Emits a forwarded custom event from the underlying Web Component. */ onElementEvent?: (event: CustomEvent) => void; /** * Which custom events to forward through `onElementEvent`. Defaults to the * interactive aparté surface ({@link APARTE_DEFAULT_UI_EVENTS}); pass your own list to * listen to other events (e.g. `['aparte-composer-change']` for attachments). */ events?: string[]; } export type { AparteUiHandle } from '@aparte/core'; /** * Universal pass-through proxy: dynamically mounts any `aparte-*` Web Component so * you don't need a dedicated React wrapper per element. React equivalent of * Angular's `AparteUiComponent`. * * `name` can be any custom element, including one of yours. `aparte-model-selector` * below is defined by `@aparte/plugin-model-selector`, not by core — until that * package is imported the tag mounts empty and inert with no error, and upgrades on * its own once the definition arrives (which is what makes lazy-loading it work). * * A PLUGIN's event is not in the default forward list — that default is core's, and a * third-party plugin's author cannot add to it, so listing ours would privilege our * packages over theirs. Name it in `events` and it arrives; leave it out and the handler * silently never fires, which is what this example used to do. * * @example * */ export declare const AparteUi: import("react").ForwardRefExoticComponent>; //# sourceMappingURL=AparteUi.d.ts.map