import { GestureRecognizerListener } from '@scandit/web-datacapture-core/build/js/private/GestureRecognizer/GestureRecognizer.js'; import { ScanditHTMLElement } from '@scandit/web-datacapture-core/build/js/private/utils/index.js'; type ButtonVariant = "primary" | "secondary" | "ghost"; type ButtonSize = "default" | "small"; type ButtonKind = "action" | "destructive"; type ButtonType = HTMLButtonElement["type"]; declare class Button extends ScanditHTMLElement implements GestureRecognizerListener { static tag: "scandit-button"; static formAssociated: boolean; private _variant; private _size; private _kind; private _disabled; private _type; private iconStartSlot; private iconEndSlot; private onIconSlotChangeListener; private gestureRecognizer; private associatedForm; constructor(); connectedCallback(): void; disconnectedCallback(): void; /** * Called when the element is associated or disassociated with a form. * @param _form - The form element or null if disassociated */ formAssociatedCallback(_form: HTMLFormElement | null): void; /** * Called when the disabled state of the form changes. * @param disabled - Whether the form is now disabled */ formDisabledCallback(disabled: boolean): void; onPress(): void; onRelease(): void; private onIconSlotChange; private updateIconColors; private isScanditIcon; get variant(): ButtonVariant; set variant(value: ButtonVariant); get size(): ButtonSize; set size(value: ButtonSize); get kind(): ButtonKind; set kind(value: ButtonKind); get disabled(): boolean; set disabled(value: boolean); get type(): ButtonType; set type(value: ButtonType); private updateAttributes; private updateButtonState; static get observedAttributes(): string[]; attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null): void; set text(text: string); get text(): string; set textContent(text: string | null); get textContent(): string; static create(): Button; static register(): void; private static createStyleElement; } declare global { interface HTMLElementTagNameMap { [Button.tag]: Button; } } export { Button, type ButtonKind, type ButtonSize, type ButtonType, type ButtonVariant };