import React from 'react';
import type { InputHTMLAttributes } from 'react';
import type { OtherHTMLAttributes, RadioInputTheme } from '@instructure/shared-types';
import type { WithStyleProps, ComponentStyle } from '@instructure/emotion';
import type { WithDeterministicIdProps } from '@instructure/ui-react-utils';
type RadioInputOwnProps = {
/**
* The label displayed next to the checkbox
*/
label: React.ReactNode;
/**
* This maps to the low level HTML attribute
* [with the same name](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/radio#value)
*/
value?: string | number;
id?: string;
/**
* The [name](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/radio#defining_a_radio_group)
* defines which group it belongs to, it's managed by the `RadioInputGroup`
* this component belongs to.
*
* Do not set it manually.
*/
name?: string;
checked?: boolean;
/**
* Whether to disable the input
*/
disabled?: boolean;
/**
* Works just like disabled but keeps the same styles as if it were active
*/
readOnly?: boolean;
variant?: 'simple' | 'toggle';
size?: 'small' | 'medium' | 'large';
context?: 'success' | 'warning' | 'danger' | 'off';
inline?: boolean;
onClick?: (event: React.MouseEvent) => void;
/**
* Callback fired when the input fires a change event.
* event.target.value will contain the new value. It will always be a string.
*/
onChange?: (event: React.ChangeEvent) => void;
/**
* A function that provides a reference to the actual underlying input element
*/
inputRef?: (inputElement: HTMLInputElement | null) => void;
};
type PropKeys = keyof RadioInputOwnProps;
type AllowedPropKeys = Readonly>;
type RadioInputProps = RadioInputOwnProps & WithStyleProps & OtherHTMLAttributes> & WithDeterministicIdProps;
type RadioInputStyle = ComponentStyle<'radioInput' | 'input' | 'control' | 'facade' | 'label' | 'container'>;
type RadioInputState = {
checked?: boolean;
};
declare const allowedProps: AllowedPropKeys;
export type { RadioInputProps, RadioInputState, RadioInputStyle };
export { allowedProps };
//# sourceMappingURL=props.d.ts.map