/**
 * Copyright (c) Adaptavist, Inc.
 */
import { GenericProps } from '../../utilities';
export type IRadio = React.ComponentPropsWithoutRef<'input'> & GenericProps & {
    /**
     * Prop to control if the Radio button is 'checked' or not.
     *
     * If set to true, the Radio will be checked.
     * If set to false, the Radio will not be checked.
     *
     * Default is `false`.
     */
    checked?: boolean;
    /**
     * Prop to control if the Radio button is 'disabled' or not.
     *
     * If set to true, the Radio will be disabled.
     * If set to false, the Radio will not be disabled.
     *
     * Default is `false`.
     */
    disabled?: boolean;
    /**
     * Prop to control if the Radio button is in an 'error' state or not.
     *
     * If set to true, the Radio will be in an error state.
     * If set to false, the Radio will not be in an error state.
     *
     * Default is `false`.
     */
    error?: boolean;
};
export type IRadioGroup = React.ComponentPropsWithoutRef<'div'> & GenericProps & {
    /**
     * Prop to control the direction of the Radio group.
     *
     * Default is `horizontal`.
     */
    direction?: 'horizontal' | 'vertical';
    /**
     * Prop to control if the Radio group is 'disabled' or not.
     *
     * If set to true, the Radio group will be disabled.
     * If set to false, the Radio group will not be disabled.
     *
     * Default is `false`.
     */
    disabled?: boolean;
    /**
     * Prop to control if the Radio group shows an 'error' state or not.
     *
     * If set to true, the Radio group will show an error state.
     * If set to false, nothing will happen.
     *
     * Default is `false`.
     */
    error?: boolean;
    /**
     * Prop to control the label of the Radio group to be displayed.
     *
     * Default is `an empty string`.
     */
    label?: React.ReactNode;
    /**
     * Prop to control the name of the Radio group.
     *
     * Required for grouping radio buttons together into a group.
     *
     * Default is `an empty string`.
     */
    name: string;
    /**
     * The function to run on change of a Radio button in the group.
     *
     * Default is `an empty object`.
     */
    onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;
    /**
     * Prop to control the default selected value of the radio group.
     *
     * Default is `an empty string`.
     */
    value?: string;
};
export type IRadioText = React.ComponentPropsWithoutRef<'span'> & GenericProps & {
    /**
     * Prop to control if the Radio button is 'active' or not.
     *
     * If set to true, the Radio will have active styling.
     * If set to false, the Radio will not have active styling.
     *
     * Default is `false`.
     */
    active: boolean;
    /**
     * Prop to control if the Radio button is 'disabled' or not.
     *
     * If set to true, the Radio will be disabled.
     * If set to false, the Radio will not be disabled.
     *
     * Default is `false`.
     */
    disabled?: boolean;
    /**
     * Prop to control if the Radio button is in an 'error' state or not.
     *
     * If set to true, the Radio will be in an error state.
     * If set to false, the Radio will not be in an error state.
     *
     * Default is `false`.
     */
    error?: boolean;
};
