/**
* TyButton Web Component
* PORTED FROM: clj/ty/components/button.cljs
* Maintains full compatibility with ClojureScript version
*/
import type { Flavor, Size, TyButtonElement } from '../types/common.js';
/**
* Ty Button Component
*
* @example
* ```html
* Click Me
* Disabled
* Pill Button
* ```
*/
export declare class TyButton extends HTMLElement implements TyButtonElement {
static formAssociated: boolean;
private _internals;
private _flavor;
private _size;
private _disabled;
private _type;
private _pill;
private _outlined;
private _filled;
private _accent;
private _plain;
private _action;
private _wide;
constructor();
static get observedAttributes(): string[];
attributeChangedCallback(name: string, _oldValue: string | null, newValue: string | null): void;
private validateFlavor;
get flavor(): Flavor;
set flavor(value: Flavor);
get size(): Size;
set size(value: Size);
get disabled(): boolean;
set disabled(value: boolean);
get type(): 'button' | 'submit' | 'reset';
set type(value: 'button' | 'submit' | 'reset');
get pill(): boolean;
set pill(value: boolean);
get outlined(): boolean;
set outlined(value: boolean);
get filled(): boolean;
set filled(value: boolean);
get accent(): boolean;
set accent(value: boolean);
get plain(): boolean;
set plain(value: boolean);
get action(): boolean;
set action(value: boolean);
get wide(): boolean;
set wide(value: boolean);
get form(): HTMLFormElement | null;
get name(): string;
get value(): string;
private buildClasses;
private handleFormAction;
/** Initialize button structure once in constructor */
private initializeButtonStructure;
private render;
}
//# sourceMappingURL=button.d.ts.map