import { KendoComponent } from '../_types/component';
export declare const RADIOBUTTON_CLASSNAME = "k-radio";
declare const states: ("required" | "focus" | "invalid" | "disabled" | "checked" | "valid" | "hover")[];
declare const options: {
    size: ("small" | "medium" | "large" | undefined)[];
};
export type RadioButtonProps = RadioButtonOptions & {
    id?: string;
};
export type RadioButtonState = {
    [K in (typeof states)[number]]?: boolean;
};
export type RadioButtonOptions = {
    size?: (typeof options.size)[number] | null;
};
/**
 * RadioButton component - native radio input element.
 *
 * @accessibility
 * - Uses native `<input type="radio">` (role="radio" is implicit)
 * - Must have accessible name via `<label>`, `aria-label`, or `aria-labelledby`
 * - Native `checked` property handles checked state
 * - Uses native `disabled` attribute for disabled state
 * - Use `aria-invalid="true"` when validation fails
 * - Use `aria-describedby` to link to hint or error messages
 *
 * @example
 * ```tsx
 * // With label element
 * <RadioButton id="option1" name="options" />
 * <label htmlFor="option1">Option 1</label>
 *
 * // With aria-label
 * <RadioButton name="options" aria-label="Select option" />
 * ```
 *
 * @wcag 4.1.2 Name, Role, Value - radio must have accessible name
 * @wcag 1.3.1 Info and Relationships - label must be programmatically associated
 */
export declare const RadioButton: KendoComponent<RadioButtonProps & RadioButtonState & React.HTMLAttributes<HTMLInputElement>>;
export default RadioButton;
