import { StyleProps } from '@codecademy/variance'; import { InputHTMLAttributes, ReactNode } from 'react'; import * as React from 'react'; import { InfoTipSubComponentProps } from '../../Tip/InfoTip/type-utils'; import { conditionalRadioInputStyles } from '../styles'; import { BaseInputProps } from '../types'; export type RadioProps = InputHTMLAttributes & Omit & { checked?: boolean; disabled?: boolean; id?: string; /** * Infotip props to render to the right of your radio label. * The InfoTip button is automatically labelled by the radio label. * To override this behavior, provide `ariaLabel` or `ariaLabelledby`. */ infotip?: InfoTipSubComponentProps; /** * A label for your Radio input - should not include infotips or other interactive elements */ label?: ReactNode; onChange?: (event: React.ChangeEvent) => void; /** * Specifies the tab order of the Radio input */ tabIndex?: number; value?: string; readOnly?: boolean; }; export interface RadioElementProps extends RadioProps, StyleProps { } export declare const Radio: React.ForwardRefExoticComponent & Omit & { checked?: boolean; disabled?: boolean; id?: string; /** * Infotip props to render to the right of your radio label. * The InfoTip button is automatically labelled by the radio label. * To override this behavior, provide `ariaLabel` or `ariaLabelledby`. */ infotip?: InfoTipSubComponentProps; /** * A label for your Radio input - should not include infotips or other interactive elements */ label?: ReactNode; onChange?: (event: React.ChangeEvent) => void; /** * Specifies the tab order of the Radio input */ tabIndex?: number; value?: string; readOnly?: boolean; } & React.RefAttributes>;