import { Component, ValidationMap, PropsWithChildren } from "react";
import { ButtonVariant, Size } from "../constants";
export interface ButtonProps {
    readonly className?: string;
    readonly variant: ButtonVariant;
    readonly size: Size;
    readonly icon: any;
    disabled?: boolean;
    type?: "button" | "submit" | "reset";
    forwardedRef?: any;
}
export interface ButtonLinkProps extends ButtonProps {
    readonly href: string;
    readonly rel: string;
    readonly target: string;
}
declare class Button extends Component<ButtonProps> {
    static displayName: string;
    static propTypes: ValidationMap<PropsWithChildren<ButtonProps>>;
    static defaultProps: ButtonProps;
    componentDidMount(): void;
    componentWillUnmount(): void;
    focusHandler: () => void;
    blurHandler: () => void;
    activateFocusStyles: () => void;
    button: any;
    render(): JSX.Element;
}
export default Button;
