import { EventEmitter } from '../../stencil-public-runtime'; import { IconName, IconPosition } from '../icon/exports'; import { ButtonAriaCurrent, ButtonSize, ButtonTarget, ButtonType, ButtonVariant } from './exports'; /** * A button can be used by a user to trigger an action. Corresponds to, and is rendered as a, * [native button](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button). * */ export declare class Button { host: HTMLRButtonElement; /** * Reference form element id with which the button is associated. */ form?: string; /** * Button behavior, corresponding to * [native `type` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#attr-type) */ type: ButtonType; /** * Sets string value for `aria-label` attribute * (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-label) */ rAriaLabel: string; /** * Sets string value for `aria-description` attribute * (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-description) */ rAriaDescription?: string; /** Visual size */ size: ButtonSize; /** Presentational style */ variant: ButtonVariant; /** * Whether to present as a full-width (100%) button. * * Only primary and secondary buttons can be expanded. */ expanded?: boolean; /** Prevents user interaction and applies disabled style */ disabled?: boolean; /** Name of an icon to display within button. */ icon?: IconName; /** Position of an icon within button. * Only use it when 'icon' is specified. * */ iconPosition: IconPosition; /** * URL or a URL fragment that the hyperlink points to. * If the property is set, an anchor tag will be rendered. */ href?: string; /** * Specifies where to display the linked URL. * Only applies when an `href` is provided. * Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`. */ target?: ButtonTarget; /** * Indicates the current item within a set of related elements. * Corresponds to * [native `aria-current` attribute](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-current) */ rAriaCurrent?: ButtonAriaCurrent; /** Emits `rClick` event on click and keyup */ rClick: EventEmitter; handleIconChange(): void; /** Reference to the native button */ private nativeElement?; /** Simulate a button click */ triggerClick(): Promise; /** Set focus on the button */ setFocus(): Promise; /** Remove focus from the button */ setBlur(): Promise; get hasText(): boolean; get hasIcon(): boolean; get isIconOnly(): boolean; get isLink(): boolean; private _activateTmpButton; private get hasShadowDom(); private get formEl(); private get isResetOrSubmit(); private get hasIconSlot(); private get ariaCurrentValue(); /** * Handles button action based on its type attribute * @param {Event} event event from onClick on the component */ private handleClick; private handleSlotChange; componentDidLoad(): void; render(): any; }