import { RenderResult } from '@dojo/framework/core/interfaces';
import { radioGroup } from './middleware';
declare type RadioOptions = {
    value: string;
    label?: string;
}[];
export interface RadioGroupProperties {
    /** Initial value of the radio group */
    initialValue?: string;
    /** Controlled value property */
    value?: string;
    /** The name attribute for this form group */
    name: string;
    /** Callback for the current value */
    onValue(value: string): void;
    /** Object containing the values / labels to create radios for */
    options: RadioOptions;
}
export interface RadioGroupChildren {
    /** Custom renderer for the radios, receives the radio group middleware and options */
    radios?(name: string, middleware: ReturnType<ReturnType<typeof radioGroup>['api']>, options: RadioOptions): RenderResult;
    label?: RenderResult;
}
export declare const RadioGroup: import("@dojo/framework/core/interfaces").OptionalWNodeFactory<{
    properties: RadioGroupProperties & import("@dojo/framework/core/interfaces").WidgetProperties & {
        variant?: "default" | "inherit" | undefined;
    } & import("@dojo/framework/core/middleware/theme").ThemeProperties;
    children: RadioGroupChildren;
}>;
export default RadioGroup;
