import { ButtonBase } from '../button'; import { InfieldButtonSize } from './InfieldButton.types.js'; /** * Abstract base class for infield button components. Extends ButtonBase with a * restricted size set, quiet treatment, and non-focusable shadow root. * * Infield buttons are always embedded inside a form field (e.g. number field). They are * clickable via pointer only; they are not in the tab order and not independently focusable. * All keyboard behavior is owned by the parent field, which also provides the visible * focus ring. The parent field is expected to set the `size` attribute. * * @slot icon - Icon to display inside the button. * * @attribute {ElementSize} size - Size delegated from the parent field. Defaults to * medium when no parent sets it, though standalone usage is not supported. */ export declare abstract class InfieldButtonBase extends ButtonBase { /** @internal */ static readonly VALID_SIZES: readonly InfieldButtonSize[]; /** @internal */ static readonly NO_DEFAULT_SIZE = true; static shadowRootOptions: ShadowRootInit; /** * Applies the quiet (no-background) visual treatment. Used when the infield button * is part of a quiet field variant. */ quiet: boolean; }