/// <reference types="emscripten" />
import { ScanditHTMLElement } from '../../utils/ScanditHTMLElement.js';

declare const VARIANTS: {
    readonly default: "default";
    readonly play: "play";
    readonly pause: "pause";
};
type Variant<T = typeof VARIANTS> = T[keyof T];
declare class ShutterButton extends ScanditHTMLElement {
    static readonly tag: "scandit-shutter-button";
    private _variant;
    private _button;
    private _mainSVGCircle;
    private _rotating;
    private _pulse;
    constructor();
    static get observedAttributes(): string[];
    set variant(newState: Variant);
    get variant(): Variant;
    set pulse(pulse: boolean);
    get pulse(): boolean;
    set rotating(rotating: boolean);
    get rotating(): boolean;
    static register(): void;
    static create(): ShutterButton;
    attributeChangedCallback(name: string, oldValue: string, newValue: string): void;
    private refreshButtonWidth;
    private connectedCallback;
    private isValidState;
    private appendStyle;
}
declare global {
    interface HTMLElementTagNameMap {
        [ShutterButton.tag]: ShutterButton;
    }
}

export { ShutterButton, VARIANTS, type Variant };
