import React from 'react';
export interface Option<T> {
    label: string;
    value: T;
    description?: string;
    children?: React.ReactNode;
}
interface RadioButtonProps<T> {
    options: Option<T>[];
    name: string;
    onChange?: (value: T) => void;
    selected?: T;
    label: string;
    labelHidden?: boolean;
    locked?: boolean;
    direction?: 'row' | 'column';
    maxWidth?: string;
}
export declare function RadioGroup<T extends string | number | readonly string[] | undefined>({ options, name, onChange, selected, label, labelHidden, locked, direction, maxWidth, }: RadioButtonProps<T>): JSX.Element;
export declare function RadioButton<T extends string | number | readonly string[] | undefined>(props: {
    name: string;
    option: Option<T>;
    onChange: (e: React.ChangeEvent<HTMLInputElement>) => void;
    selected: T | undefined;
}): JSX.Element;
export declare function InputButton<T extends string | number | readonly string[] | undefined>({ name, option, selected, onChange, type, }: {
    name: string;
    option: Option<T>;
    onChange: (e: React.ChangeEvent<HTMLInputElement>) => void;
    selected: T | undefined;
    type?: React.HTMLInputTypeAttribute;
}): JSX.Element;
export {};
