import * as React from 'react'; import { Size, Testable } from '../types'; export type RadioButtonProps = Testable & Omit, 'tabIndex' | 'className' | 'onClick' | 'onMouseDown' | 'onKeyDown'> & { /** Optional. Id of the component */ id?: string; /** Required. Current state of the component. */ selected: boolean; /** Required. Handler to be called when user selects/unselected the radio button. */ select: (selected: boolean) => void; /** Optional. Label to be shown on the right side of the radio button. */ label?: string | React.ReactNode; /** Optional. Secondary label to be shown under the main 'label' */ additionalLabel?: string | React.ReactNode; /** Optional. If set, then if radiobutton is in unselected state it will be shown in invalid state. */ invalid?: boolean; /** Optional. If disabled, user can not interact with the component. */ disabled?: boolean; /** Optional. If set, then 'pointer-events: none' will be set on the component. */ iconPointerEventsTransparent?: boolean; /** Optional. Margin style attribute to be set on the top level tag of the component. */ margin?: string; /** Optional. Size of the radio button, defaults to 'medium'. */ size?: Size.Small | Size.Medium | Size.Large; /** Optional. TabIndex attribute to be set on the component. */ tabIndexVal?: number; /** Optional. Extra classname to be set on the container of the component. */ className?: string; }; declare const RadioButton: React.ForwardRefExoticComponent, "className" | "tabIndex" | "onKeyDown" | "onClick" | "onMouseDown"> & { /** Optional. Id of the component */ id?: string; /** Required. Current state of the component. */ selected: boolean; /** Required. Handler to be called when user selects/unselected the radio button. */ select: (selected: boolean) => void; /** Optional. Label to be shown on the right side of the radio button. */ label?: string | React.ReactNode; /** Optional. Secondary label to be shown under the main 'label' */ additionalLabel?: string | React.ReactNode; /** Optional. If set, then if radiobutton is in unselected state it will be shown in invalid state. */ invalid?: boolean; /** Optional. If disabled, user can not interact with the component. */ disabled?: boolean; /** Optional. If set, then 'pointer-events: none' will be set on the component. */ iconPointerEventsTransparent?: boolean; /** Optional. Margin style attribute to be set on the top level tag of the component. */ margin?: string; /** Optional. Size of the radio button, defaults to 'medium'. */ size?: Size.Small | Size.Medium | Size.Large; /** Optional. TabIndex attribute to be set on the component. */ tabIndexVal?: number; /** Optional. Extra classname to be set on the container of the component. */ className?: string; } & React.RefAttributes>; export default RadioButton;