import React, { AnchorHTMLAttributes, ButtonHTMLAttributes } from 'react';
import { Themeable } from '../../types';
export declare enum ButtonVariant {
Primary = "primary",
Secondary = "secondary",
Danger = "danger",
Inverse = "inverse",
Transparent = "transparent"
}
export declare enum ButtonSize {
ExtraSmall = "xs",
Small = "sm",
Medium = "md",
Large = "lg",
ExtraLarge = "xl"
}
export interface CommonButtonProps {
size?: ButtonSize;
variant?: ButtonVariant;
/**
* icon prop is a temporary solution. It accepts lefacy icon class names for the icon to be rendered.
* TODO: migrate to a component when we are going to migrate icons to @grafana/ui
*/
icon?: string;
className?: string;
}
export interface LinkButtonProps extends CommonButtonProps, AnchorHTMLAttributes {
}
export interface ButtonProps extends CommonButtonProps, ButtonHTMLAttributes {
}
interface AbstractButtonProps extends CommonButtonProps, Themeable {
renderAs: React.ComponentType | string;
}
export declare const AbstractButton: React.FunctionComponent;
export {};