import React, { type HTMLProps, type ReactElement } from "react"; import { type VibeComponentProps } from "@vibe/shared"; export interface RefableProps extends React.PropsWithChildren & VibeComponentProps> { children: ReactElement | ReactElement[] | string; /** * The wrapper element type to use for React components. Defaults to "span". */ wrapperElement?: "span" | "div"; } /** * Refable is a utility component that enables ref forwarding to children elements. * * For native HTML elements: Clones the child and merges refs and event handlers. * For React components: Wraps in a span/div and attaches the ref to the wrapper. * * This allows Dialog to get a reference to the trigger element for positioning. */ export declare const Refable: React.ForwardRefExoticComponent & React.RefAttributes>;