import React, { ReactNode, SyntheticEvent } from 'react';
/** VwcButton
* For more info on this Vivid element please visit https://vivid.deno.dev/components/button
* @param {string | undefined} icon **attribute** `icon`
* @param {boolean | undefined} disabled **attribute** `disabled`
* @param {string | undefined} type **attribute** `type`
* @param {boolean | undefined} icon-trailing
* @param {string} title - Specifies extra information about the button. This information is typically used by browsers to display a tooltip. **attribute** `title`
* @param {ButtonConnotation | undefined} connotation - The connotation the button should have. **attribute** `connotation`
* @param {ButtonShape | undefined} shape - The shape the button should have. **attribute** `shape`
* @param {ButtonAppearance | undefined} appearance - The appearance the button should have. **attribute** `appearance`
* @param {ButtonSize | undefined} size - The size the button should have. **attribute** `size`
* @param {boolean} stacked - Indicates the icon is stacked. **attribute** `stacked`
* @param {boolean} pending - Displays the button in pending state. **attribute** `pending`
* @param {boolean} dropdownIndicator - Display a chevron to indicate that the button opens a dropdown. **attribute** `dropdown-indicator`
* @param {boolean} active - Displays the button in active state. **attribute** `active`
* @param {string | undefined} label - Indicates the button's label. **attribute** `label`
* @param {boolean} iconTrailing - Indicates the icon affix alignment. **attribute** `icon-trailing`
* @param {string | undefined} icon - A decorative icon the custom element should have. **attribute** `icon`
* @param {string | undefined} download - Prompts the user to save the linked URL. See https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a | element for more information. **attribute** `download`
* @param {string | undefined} href - The URL the hyperlink references. See https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a | element for more information. **attribute** `href`
* @param {string | undefined} hreflang - Hints at the language of the referenced resource. See https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a | element for more information. **attribute** `hreflang`
* @param {string | undefined} ping - See https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a | element for more information. **attribute** `ping`
* @param {string | undefined} referrerpolicy - See https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a | element for more information. **attribute** `referrerpolicy`
* @param {string | undefined} rel - See https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a | element for more information. **attribute** `rel`
* @param {'_self' | '_blank' | '_parent' | '_top' | undefined} target - See https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a | element for more information. **attribute** `target`
* @param {'submit' | 'reset' | 'button'} type - See https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a | element for more information. **attribute** `type`
* @param {HTMLButtonElement} control - References the root element
* @param {'delegate'} _vividAriaBehaviour
* @param {boolean} autofocus - Determines if the element should receive document focus on page load. **attribute** `autofocus`
* @param {string} formId - The id of a form to associate the element to. **attribute** `form`
* @param {string} formaction - See https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button |