/// <reference types="react" />
import * as React from 'react';
import { FormInputProps, FormFieldProps } from 'semantic-ui-react';
export interface FormElement {
    model: any;
}
export declare class FormControl<P, S> extends React.PureComponent<P & FormElement, S> {
    val: any;
    constructor(props: FormElement);
    update(e: React.SyntheticEvent<any> | any): void;
    shouldComponentUpdate(nextProps: FormElement): boolean;
    readonly value: any;
}
export declare class Input extends FormControl<FormInputProps, {}> {
    render(): JSX.Element;
}
export interface Props {
    format?: string;
    onChange?(date: Date): void;
}
export declare class DatePicker extends FormControl<any, {}> {
    static defaultProps: {
        format: string;
    };
    prohibit(): boolean;
    clear(): void;
    render(): JSX.Element;
}
export interface LabelProps {
    label: string;
}
export declare const Label: (props: FormFieldProps & LabelProps) => JSX.Element;
export declare class Select extends FormControl<any, {}> {
    render(): JSX.Element;
}
export declare class Radio extends FormControl<any, {}> {
    render(): JSX.Element;
}
export declare class Checkbox extends FormControl<any, {}> {
    render(): JSX.Element;
}
export declare class TextArea extends FormControl<any, {}> {
    render(): JSX.Element;
}
