import { InputHTMLAttributes, HTMLAttributes } from 'react'; import { RadioButtonChangeHandler, RadioButtonValueChangeHandler } from './RadioButton'; import { IconType } from '../Icon'; import { FieldProps } from '../utils'; declare type BaseElement = HTMLInputElement; declare type BaseProps = InputHTMLAttributes; export interface RadioIconButtonProps extends BaseProps { /** * Attributes a name to the RadioIconButton. */ readonly name: string; /** * Value used to define the button text. */ readonly value: V; /** * String used to label the RadioIconButton. */ readonly label: string; /** * If `true`, the component is checked. */ readonly checked: boolean; /** * If `true`, the RadioIconButton will be disabled. */ readonly disabled?: boolean; /** * Adds an error message to the RadioIconButton. */ readonly error?: string; /** * The icon element. */ readonly icon: IconType; /** * Native change handler that can be used by formik etc. */ readonly onChange?: RadioButtonChangeHandler; /** * Smooth typed value change handler. */ readonly onValueChange?: RadioButtonValueChangeHandler; } export declare function RadioIconButton({ label, checked, disabled, onChange, onValueChange, icon, onFocus, onPointerUp, onPointerDown, ...rest }: RadioIconButtonProps): JSX.Element; export interface RadioIconGroupOption { readonly value: V; readonly label: string; readonly disabled?: boolean; readonly icon: IconType; } declare type GroupBaseElement = HTMLDivElement; declare type GroupBaseProps = HTMLAttributes; export interface RadioIconGroupProps extends GroupBaseProps { readonly options: ReadonlyArray>; readonly name?: string; readonly value: V; readonly onChange?: RadioButtonChangeHandler; readonly onValueChange?: RadioButtonValueChangeHandler; readonly error?: string; } export declare function RadioIconGroup({ options, name, value, onChange, onValueChange, error, ...rest }: RadioIconGroupProps): JSX.Element; export declare const RadioIconGroupField: (props: FieldProps & RadioIconGroupProps) => import("react").ReactElement | null; export {};