///
import type { IBoxProps } from '../../primitives';
import type { IFormControlContext } from '../../composites';
import type { AccessibilityRole } from 'react-native';
import type { RadioGroupState } from '@react-stately/radio';
export declare type IRadioValue = string;
export declare type IRadioGroupOnChangeHandler = (value: IRadioValue) => any;
export declare type IRadioProps = IBoxProps & {
value: IRadioValue;
colorScheme?: string | 'default';
isDisabled?: boolean;
isInvalid?: boolean;
size?: 'sm' | 'md' | 'lg';
icon?: JSX.Element;
style?: any;
};
export declare type IRadioGroupProps = IBoxProps & {
value?: IRadioValue;
name: string;
defaultValue?: IRadioValue;
colorScheme?: string;
size?: 'sm' | 'md' | 'lg';
children?: React.ReactElement | React.ReactElement[];
onChange?: IRadioGroupOnChangeHandler;
style?: any;
};
export declare type IRadioContext = IFormControlContext & {
colorScheme?: string;
size?: 'sm' | 'md' | 'lg';
style?: any;
state: RadioGroupState;
};
export declare type IUseRadioGroupReturnType = {
radioGroupProps: {
accessibilityRole: AccessibilityRole;
onChange: (value: IRadioValue) => any;
value: IRadioValue;
name: string;
};
};
export declare type IRadioComponentType = ((props: IRadioProps) => JSX.Element) & {
Group: React.MemoExoticComponent<(props: IRadioGroupProps) => JSX.Element>;
};