import { ReactElement, MouseEvent } from 'react'; import { IconName } from '../Icon'; import { CommonProps } from '../common'; export interface LinkButtonProps extends CommonProps { /** * Disable state of button. */ disabled?: boolean; /** * Specify filename which will be downloaded when the hyperlink is clicked on. */ download?: string; /** * Specifies the URL of the page the link goes to. */ href: string; /** * Icon name to render before the text. */ icon?: IconName; /** * Visual intent color to apply to button. */ intent?: 'primary' | 'danger' | 'success' | 'warning' | 'error' | 'subdued-text'; /** * Set the handler to handle `click` event. */ onClick?: (e: MouseEvent) => void; /** * Specifies the [relationship](https://www.w3schools.com/tags/att_a_rel.asp) between the current document and the linked document. */ rel?: string; /** * Icon name to render after the text. */ rightIcon?: IconName; /** * Size of button. `inherit` let button inherit font-size from its parents, useful for inline link. */ size?: 'small' | 'medium' | 'large' | 'inherit'; /** * Specifies where to open the linked document. */ target?: '_blank' | '_parent' | '_self' | '_top'; /** * Button label. */ text: string | ReactElement; /** * Indicate if LinkButton is compatible with routing using react-router. A Link component will be rendered instead of an usual HTML a tag. */ withRouter?: boolean; } declare const LinkButton: ({ text, href, onClick, rel, target, intent, disabled, download, size, withRouter, icon, rightIcon, id, className, style, sx, "data-test-id": dataTestId, }: LinkButtonProps) => ReactElement; export default LinkButton;