import { LitElement } from "lit"; import type { TemplateResult } from "lit"; type ButtonVariant = "primary" | "secondary" | "outline" | "ghost" | "ghost-accent" | "ghost-outline" | "outline-canvas" | "ghost-canvas" | "ghost-accent-canvas"; type ButtonSize = "xs" | "sm" | "md" | "lg"; type ButtonType = "button" | "submit" | "reset"; type ForceState = "hover" | "active" | "focus" | null; export declare class XmButton extends LitElement { static styles: CSSStyleSheet[]; static shadowRootOptions: ShadowRootInit; variant: ButtonVariant; size: ButtonSize; iconOnly: boolean; fullWidth: boolean; /** Persistent active/selected state — used by toggle/tab buttons. Reuses the same .is-active visual the design canvases trigger via forceState. */ selected: boolean; type: ButtonType; disabled: boolean; loading: boolean; forceState: ForceState; private _mo; render(): TemplateResult; private _slotEmpty; private _onSlot; connectedCallback(): void; disconnectedCallback(): void; } declare global { interface HTMLElementTagNameMap { "xm-button": XmButton; } } export {};