import { TNode, KeysType } from '../common';
export interface TdRadioProps<T = RadioValue> {
    allowUncheck?: boolean;
    block?: boolean;
    borderless?: boolean;
    checked?: boolean;
    defaultChecked?: boolean;
    modelValue?: boolean;
    content?: string | TNode;
    contentDisabled?: boolean;
    default?: string | TNode;
    disabled?: boolean;
    icon?: 'circle' | 'line' | 'dot' | 'none' | Array<TNode>;
    label?: string | TNode;
    maxContentRow?: number;
    maxLabelRow?: number;
    name?: string;
    placement?: 'left' | 'right';
    readonly?: boolean;
    value?: T;
    onChange?: (checked: boolean, context: {
        e: Event;
    }) => void;
}
export interface TdRadioGroupProps<T = RadioValue> {
    allowUncheck?: boolean;
    borderless?: boolean;
    disabled?: boolean;
    icon?: 'circle' | 'line' | 'dot' | Array<TNode>;
    keys?: KeysType;
    name?: string;
    options?: Array<RadioOption>;
    placement?: 'left' | 'right';
    readonly?: boolean;
    value?: T;
    defaultValue?: T;
    modelValue?: T;
    onChange?: (value: T, context: {
        e: Event;
        name?: string;
    }) => void;
}
export type RadioOption = string | number | RadioOptionObj;
export interface RadioOptionObj {
    label?: string | TNode;
    value?: string | number | boolean;
    disabled?: boolean;
}
export type RadioValue = string | number | boolean;
