/// import * as React from 'react'; import { StyledComponentClass } from 'styled-components'; export declare enum ButtonVariant { Primary = 0, Secondary = 1, Success = 2, Info = 3, Warning = 4, Danger = 5, Link = 6, InlineLink = 7, } export { StyledComponentClass }; export interface LinkProps extends React.HTMLAttributes { 'data-test-id'?: string; to: string; replace?: boolean; } export declare type LinkRenderer = (props: LinkProps) => JSX.Element | null | false; export declare function setLinkRenderer(renderer: LinkRenderer): void; export interface AbstractButtonProps { children: React.ReactNode; className?: string; 'data-test-id'?: string; href?: string; style?: React.CSSProperties; to?: string; type?: 'submit' | 'reset' | 'button'; variant?: ButtonVariant; onClick?: (e: React.MouseEvent) => void; onMouseDown?: (e: React.MouseEvent) => void; onMouseUp?: (e: React.MouseEvent) => void; onMouseEnter?: (e: React.MouseEvent) => void; onMouseLeave?: (e: React.MouseEvent) => void; } /** * Abstract button functionality so that the styling is only needed once * for links and buttons. Use this for buttons in navbars and other complex * components where you don't want the applicaiton's typical "button" style */ export declare class AbstractButton extends React.Component { static defaultProps: Partial; _onMouseUp: (e: React.MouseEvent) => void; render(): false | JSX.Element | null; } declare const _default: StyledComponentClass; export default _default;