import * as React from 'react';
import { RadioProps as MuiRadioProps } from '@mui/material/Radio';
import { SxProps } from '@mui/material';
export declare const radioLabelPlacements: readonly ["start", "end"];
type RadioLabelPlacement = (typeof radioLabelPlacements)[number];
export declare const radioSizes: readonly ["S", "M"];
type RadioSize = (typeof radioSizes)[number];
export type RadioProps<T extends string = string> = {
    /**
     * Wheather the radio is checked or not.
     */
    checked: boolean;
    /**
     * Value associated to this radio button.
     */
    value?: T;
    /**
     * Wheather the radio is disabled or not.
     */
    disabled?: boolean;
    /**
     * Optional text label to show before or after the radio.
     */
    label?: string;
    /**
     * Where to put the `label` text, if any.
     */
    labelPlacement?: RadioLabelPlacement;
    /**
     * Callback fired when the state is changed.
     */
    onChange?: (event: React.ChangeEvent<HTMLInputElement>, value: T) => void;
    /**
     * Whether the Radio is in error state.
     */
    isError?: boolean;
    /**
     * The size of the radio
     */
    size?: RadioSize;
    /**
     * Settled directly in DOM element, for testing easy location purposes.
     */
    'data-testid'?: string;
    className?: string;
    sx?: SxProps;
    tabIndex?: MuiRadioProps['tabIndex'];
};
/**
 * Radios can be used to select one and only one option from a set of options, each one being on a different Radio.
 */
declare const Radio: React.ForwardRefExoticComponent<RadioProps<string> & React.RefAttributes<HTMLButtonElement>>;
export default Radio;
