import { ScanditHTMLElement } from "@scandit/web-datacapture-core/build/js/private/utils/index.js";
import { GestureRecognizerListener } from "@scandit/web-datacapture-core/build/js/private/GestureRecognizer/GestureRecognizer.js";
//#region src/main/ui/atoms/Button.d.ts
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;
}
}
//#endregion
export { ButtonVariant as a, ButtonType as i, ButtonKind as n, ButtonSize as r, Button as t };