import { ChangeEventHandler, FocusEventHandler } from "../utils/types.js";
import "../utils/index.js";
import { ThemingProps } from "../theme/types.js";
import "../theme/index.js";
import { SystemProps } from "../system/system.js";
import "../system/index.js";
import { HTMLAttributes, ReactNode } from "react";
//#region src/radio/radio.types.d.ts
type RadioProps = SystemProps & ThemingProps<'Radio'> & {
  /** Provides value to radio in controlled mode. */
  checked?: boolean;
  /** Deprecated. Please use variant instead. @deprecated  */
  colorScheme?: 'blue' | 'prussian';
  /** Disables radio and related elements with the right styling. */
  disabled?: boolean;
  /** Socket displaying error text below the label. Overrides `helpText` and marks the input as invalid. */
  errorText?: ReactNode;
  /** Makes the radio non-interactive while keeping normal styling. Value cannot be changed by the user. */
  readOnly?: boolean;
  /** Socket displaying help text below the label. */
  helpText?: ReactNode;
  /** Props object passed to the inner input element. */
  inputProps?: HTMLAttributes<HTMLInputElement>;
  /** Ref passed to the inner input element. */
  inputRef?: React.MutableRefObject<HTMLInputElement | null> | null;
  /** Socket for the text next to the item. */
  label?: string;
  /** Passed to the inner input. */
  name?: string;
  /** Passed to the inner input. */
  onBlur?: FocusEventHandler;
  /** Passed to the inner input. */
  onChange?: ChangeEventHandler;
  /** Passed to the inner input. */
  onFocus?: FocusEventHandler;
  /** Passed to the inner input. */
  required?: boolean;
  /** Passed to the inner input. */
  value?: number | string;
};
type RadioStyleProps = {
  /** Styles the icon when any part of the radio is hovered. */
  controlHoverColor: string;
  /** Styles the icon when the radio is actively pressed. */
  controlPressedColor: string;
};
//#endregion
export { RadioProps, RadioStyleProps };

//# sourceMappingURL=radio.types.d.ts.map