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 {};