import { VNode } from '../../stencil-public-runtime'; import { Width, Target } from '../types'; import { ButtonAppearance, ButtonPalette } from './types'; /** * Passing a 'href' will render an anchor link, instead of a button. Role will * be set to link, or button, depending on this. It is the consumers * responsibility to add aria information, rel, target, for links, and any * button attributes for form submission. * * @slot - Adds button text. */ export declare class Button { host: HTMLAbdsButtonElement; /** * Provides an outlined appearance (i.e. solid border) to the button. * Currently, only brand and destructive variants support outline. */ appearance: ButtonAppearance; /** Sets button type attribute; defaults to **button** if not specified. */ buttonType: string; /** Disables button interaction. */ disabled: boolean; /** Form ID associated with component. */ formId: string; /** Sets anchor href attribute; determines if component should render as anchor or button. */ href: string; /** Adds an abds-icon to end of button text. */ iconEnd: string; /** Adds an abds-icon to beginning of button text. */ iconStart: string; /** Sets aria-label attribute on anchor or button. */ label: string; /** Sets button name attribute. */ name: string; /** Sets button color. */ palette: ButtonPalette; /** Sets anchor rel attribute. */ rel: string; /** Sets anchor target attribute. */ target: Target; /** Sets button width. */ width: Width; /** rendered child element */ private childEl; /** rendered child element node type */ private childElType; /** watches for changing text content **/ private observer; private handleClick; private updateHasContent; /** Determine if slotted content is present for styling purposes. */ private hasContent; /** Sets focus on child element. */ setFocus(): Promise; componentWillLoad(): void; componentWillRender(): void; connectedCallback(): void; disconnectedCallback(): void; render(): VNode; }