import type { PropertyValues } from 'lit'; import { Component } from '../component'; import type { FormComponentProps } from '../component'; import '../dots-loader'; export type ButtonVariant = 'primary' | 'secondary' | 'tertiary' | 'warning' | 'danger' | 'icon' | 'icon-secondary'; export type ButtonSize = 'small' | 'default' | 'large'; export type ButtonType = HTMLButtonElement['type']; export type ButtonTarget = HTMLAnchorElement['target']; export interface ButtonProps extends FormComponentProps { loading?: boolean; size?: ButtonSize; type?: ButtonType; variant?: ButtonVariant; href?: string; download?: string; target?: ButtonTarget; formaction?: HTMLButtonElement['formAction']; formenctype?: HTMLButtonElement['formEnctype']; formmethod?: HTMLButtonElement['formMethod']; formnovalidate?: HTMLButtonElement['formNoValidate']; formtarget?: HTMLButtonElement['formTarget']; } declare const Button_base: import("../../utils/types").Constructor & typeof Component; export declare class Button extends Button_base implements ButtonProps { #private; static shadowRootOptions: { delegatesFocus: boolean; clonable?: boolean; customElementRegistry?: CustomElementRegistry; mode: ShadowRootMode; serializable?: boolean; slotAssignment?: SlotAssignmentMode; }; static styles: import("lit").CSSResult[][]; static get properties(): { loading: { type: BooleanConstructor; reflect: boolean; }; variant: { type: StringConstructor; reflect: boolean; }; size: { type: StringConstructor; reflect: boolean; }; type: { type: StringConstructor; reflect: boolean; }; formaction: { type: StringConstructor; }; formenctype: { type: StringConstructor; }; formmethod: { type: StringConstructor; }; formnovalidate: { type: BooleanConstructor; }; formtarget: { type: StringConstructor; }; href: { type: StringConstructor; reflect: boolean; }; target: { type: StringConstructor; }; download: { type: StringConstructor; }; }; /** * The button is waiting for some operation to be finished. */ loading: ButtonProps['loading']; /** * Button variant. */ variant: ButtonProps['variant']; /** * Button size. */ size: ButtonProps['size']; /** * Specifies the type of button. */ type: ButtonProps['type']; /** * When set, the underlying button will be rendered as an `` with this `href` instead of a `