import MaterialComponent from '../Base/MaterialComponent';
import Icon from '../Icon';
export declare class ButtonIcon extends Icon {
    protected componentName: string;
}
export interface IButtonProps {
    ripple?: boolean;
    dense?: boolean;
    raised?: boolean;
    disabled?: boolean;
    unelevated?: boolean;
    outlined?: boolean;
    primary?: boolean;
    secondary?: boolean;
}
export interface IButtonState {
}
export declare class Button<PropsType = JSX.HTMLAttributes, StateType = {}> extends MaterialComponent<PropsType & IButtonProps, StateType & IButtonState> {
    protected componentName: string;
    protected mdcProps: string[];
    protected themeProps: string[];
    protected materialDom(props: any): JSX.Element;
}
export default class<PropsType = {}, StateType = {}> extends Button<PropsType, StateType> {
    static readonly Icon: typeof ButtonIcon;
}
