import { type TdHTMLAttributes } from "react";
import { type RadioProps } from "../form/InputToggle.js";
import { type PropsWithRef } from "../types.js";
/**
 * @since 6.0.0
 */
export type TableRadioTdHTMLAttributes = Omit<TdHTMLAttributes<HTMLTableCellElement>, "aria-sort" | "scope" | "onChange" | "onInvalid">;
/**
 * @since 6.0.0
 */
export type TableRadioSupportedRadioProps = Pick<RadioProps, "name" | "value" | "icon" | "iconStyle" | "iconClassName" | "iconProps" | "checkedIcon" | "checked" | "onChange" | "defaultChecked" | "error" | "required" | "onInvalid">;
/**
 * @since 6.0.0
 */
export interface TableRadioProps extends TableRadioTdHTMLAttributes, TableRadioSupportedRadioProps {
    /**
     * @defaultValue `!props["aria-labelledby"] ? "Select Row" : undefined`
     */
    "aria-label"?: string;
    /** @defaultValue `false` */
    sticky?: boolean;
    /**
     * This allows you to override any props for the checkbox that are not
     * configurable as top-level props.
     *
     * @example Simple Example
     * ```tsx
     * checkboxProps={{
     *   id: "some-custom-id",
     *   ref: checkboxRef,
     * }}
     * ```
     *
     * @see {@link TableRadioSupportedRadioProps}
     * @since 6.0.0
     */
    radioProps?: PropsWithRef<RadioProps, HTMLInputElement>;
}
/**
 * **Client Component**
 * The `TableRadio` is used to render a `Radio` within a `TableCell` by applying
 * some minimal styles.
 *
 * @example Simple Example
 * ```tsx
 * import {
 *   Table,
 *   TableBody,
 *   TableCell,
 *   TableRadio,
 *   TableContainer,
 *   TableHeader,
 *   TableRow,
 *   useRadioGroup,
 * } from "@react-md/core";
 * import type { ReactElement } from "react";
 *
 * const rows = [
 *   { name: "Frozen Yogurt", type: "Ice Cream" },
 *   { name: "Ice cream sandwich", type: "Ice Cream" },
 *   { name: "Eclair", type: "Pastry" },
 *   // ...other content
 * ] as const;
 *
 * function Example(): ReactElement {
 *   const { getRadioProps } = useRadioGroup({
 *     name: "selected",
 *   });
 *   return (
 *     <TableContainer>
 *       <Table>
 *         <TableHeader>
 *           <TableRow>
 *             <TableCell header={false} />
 *             <TableCell>Name</TableCell>
 *             <TableCell>Type</TableCell>
 *           </TableRow>
 *         </TableHeader>
 *         <TableBody>
 *           {rows.map(({ name, type }) => {
 *             const radioProps = getRadioProps(name);
 *             const { checked, onChange } = radioProps;
 *
 *             return (
 *               <TableRow
 *                 key={name}
 *                 onClick={onChange}
 *                 clickable
 *                 selected={checked}
 *               >
 *                 <TableRadio {...radioProps} />
 *                 <TableCell>{name}</TableCell>
 *                 <TableCell hAlign="right">{type}</TableCell>
 *               </TableRow>
 *             );
 *           })}
 *         </TableBody>
 *       </Table>
 *     </TableContainer>
 *   );
 * }
 * ```
 * @since 6.0.0
 */
export declare const TableRadio: import("react").ForwardRefExoticComponent<TableRadioProps & import("react").RefAttributes<HTMLTableCellElement>>;
