import { GdsFormControlElement } from '../form/form-control'; declare class Button extends GdsFormControlElement { #private; static styles: (import("lit").CSSResult | import("lit").CSSResult[])[]; /** * @internal */ static shadowRootOptions: ShadowRootInit; /** * Whether the button is disabled. */ disabled: boolean; /** * Spread the contents of the button */ 'justify-content'?: string; /** * The type of the button. */ type?: HTMLButtonElement['type']; /** * The rank of the button. Defaults to "primary". */ rank: 'primary' | 'secondary' | 'tertiary'; /** * Defines which variant the button belongs to. Defaults to "neutral". */ variant: 'brand' | 'neutral' | 'positive' | 'negative' | 'notice' | 'warning'; /** * Sets the size of the button. Defaults to "medium". */ size: 'xs' | 'small' | 'medium' | 'large'; /** * The label of the button. Use this to add an accessible label to the button when no text is provided in the default slot. */ label: string; /** * When set, adds a wrapped class to the button. */ wrapped: boolean; /** * When set, the underlying button will be rendered as an anchor element. */ href: string; /** * Where to display the linked URL. Only used when href is present. */ target?: '_self' | '_blank' | '_parent' | '_top'; /** * The relationship of the linked URL as space-separated link types. Only used when href is present. Defaults to "noreferrer noopener" for security reasons when target is set. */ rel?: string; /** * Causes the browser to treat the linked URL as a download. Can be used with or without a filename value. Only used when href is present. */ download?: string; private _mainSlot?; private _button?; private _ripple?; focus(options?: FocusOptions): void; click(): void; connectedCallback(): void; render(): import("lit-html").TemplateResult; protected _getValidityAnchor(): HTMLElement; private _attributeChanged; } declare const GdsButton_base: (new (...args: any[]) => import("../../utils/mixins/declarative-layout-mixins").SizeXProps) & (new (...args: any[]) => import("../../utils/mixins/declarative-layout-mixins").MarginProps) & (new (...args: any[]) => import("../../utils/mixins/declarative-layout-mixins").LayoutChildProps) & typeof Button; /** * @element gds-button * @summary A custom button element that can display a label, lead and trail icons, and a ripple effect on click. * * @slot - Content to be displayed as the button label. * @slot lead - An optional slot that allows a `gds-icon-[ICON_NAME]` element to be placed before the label. * @slot trail - An optional slot that allows a `gds-icon-[ICON_NAME]` element to be placed after the label. * * @event click - Fired when the button is clicked. */ export declare class GdsButton extends GdsButton_base { } export {};