import type { JsxCustomElementAttributes, JsxElementProps, JsxRenderable } from '@ecopages/jsx'; import type { RuiRadioGroup as RuiRadioGroupElement, RuiRadioGroupProps } from './radio-group.script'; import './radio-group.script'; export type RuiRadioOption = { value: string; label: JsxRenderable; disabled?: boolean; }; export type RuiRadioGroupControlProps = JsxElementProps; /** Accessible surface that contains radio options. */ export declare function RuiRadioGroupControl({ children, class: className, ...props }: RuiRadioGroupControlProps): JsxRenderable; export type RuiRadioProps = JsxElementProps & { value: string; name?: string; disabled?: boolean; }; /** A label-wrapped native radio option controlled by `RuiRadioGroup`. */ export declare function RuiRadio({ children, value, name, disabled, class: className, ...props }: RuiRadioProps): JsxRenderable; /** * Radio group with an `options` convenience API; renders one label-wrapped radio * per option inside ``. * * @cssclass rui-radio - Option label row wrapping the input and control dot. * @cssclass rui-radio__input - Visually hidden native radio input. * @cssclass rui-radio__control - Custom control dot that mirrors check state. * @cssclass rui-radio__label - Option text. * */ export declare function RuiRadioGroup({ options, children, ...props }: JsxCustomElementAttributes): JsxRenderable;