///
import * as React from "react";
import * as PropTypes from "prop-types";
import { BaseContainer, BaseContainerParentContext } from "simplr-forms";
import { FormStoreStateRecord, FieldStoreState } from "simplr-forms/contracts";
import { RadioGroupChildContext, RadioValue } from "./radio-group";
import { HTMLElementProps, DomFieldTemplateCallback } from "../contracts/field";
export interface RadioProps extends HTMLElementProps {
value: string;
template?: DomFieldTemplateCallback;
ref?: React.Ref;
}
export interface RadioState {
FormStoreState?: FormStoreStateRecord;
Value?: RadioValue;
}
export declare type RadioParentContext = RadioGroupChildContext & BaseContainerParentContext;
export declare class Radio extends BaseContainer {
Element: HTMLInputElement | undefined;
state: RadioState;
context: RadioParentContext;
static contextTypes: PropTypes.ValidationMap;
componentWillMount(): void;
protected OnChangeHandler: React.ChangeEventHandler;
protected OnFocus: React.FocusEventHandler;
protected OnBlur: React.FocusEventHandler;
protected readonly FieldState: FieldStoreState;
protected readonly FieldsGroupId: string | undefined;
protected readonly Disabled: boolean | undefined;
protected readonly FieldTemplate: DomFieldTemplateCallback | undefined;
protected OnStoreUpdated(): void;
protected GetHTMLProps(props: RadioProps): {};
protected SetElementRef: (element: HTMLInputElement | undefined) => void;
renderField(): JSX.Element | null;
render(): JSX.Element | null;
}