import { CSSResultGroup, LitElement, PropertyValues } from "lit"; import { M3eButtonElement } from "@m3e/web/button"; import { M3eIconButtonElement } from "@m3e/web/icon-button"; import { ButtonGroupVariant } from "./ButtonGroupVariant"; import { ButtonGroupSize } from "./ButtonGroupSize"; declare const M3eButtonGroupElement_base: import("../core/shared/mixins/Constructor").Constructor & typeof LitElement; /** * Organizes buttons and adds interactions between them. * * @description * The `m3e-button-group` component arranges multiple buttons into a unified, expressive layout, * supporting both `standard` and `connected` variants. It enables seamless, accessible grouping * of actions, adapts to various sizes, and ensures consistent spacing, shape, and alignment. * Designed according to Material 3 principles, it empowers users to interact with related actions * in a visually harmonious and intuitive way. * * @example * The following example illustrates a standard button group. * ``` html * * * * * * ``` * @example * The next example illustrates a connected button group. * ```html * * Start * Directions * Share * * ``` * * @tag m3e-button-group * * @slot - Renders the buttons of the group. * * @attr multi - Whether multiple toggle buttons can be selected. * @attr size - The size of the group. * @attr variant - The appearance variant of the group. * * @cssprop --m3e-standard-button-group-extra-small-spacing - Spacing between buttons in standard variant, extra-small size. * @cssprop --m3e-standard-button-group-small-spacing - Spacing between buttons in standard variant, small size. * @cssprop --m3e-standard-button-group-medium-spacing - Spacing between buttons in standard variant, medium size. * @cssprop --m3e-standard-button-group-large-spacing - Spacing between buttons in standard variant, large size. * @cssprop --m3e-standard-button-group-extra-large-spacing - Spacing between buttons in standard variant, extra-large size. * @cssprop --m3e-connected-button-group-spacing - Spacing between buttons in connected variant. * @cssprop --m3e-connected-button-group-extra-small-inner-shape - Corner shape for connected variant, extra-small size. * @cssprop --m3e-connected-button-group-extra-small-inner-pressed-shape - Pressed corner shape for connected variant, extra-small size. * @cssprop --m3e-connected-button-group-small-inner-shape - Corner shape for connected variant, small size. * @cssprop --m3e-connected-button-group-small-inner-pressed-shape - Pressed corner shape for connected variant, small size. * @cssprop --m3e-connected-button-group-medium-inner-shape - Corner shape for connected variant, medium size. * @cssprop --m3e-connected-button-group-medium-inner-pressed-shape - Pressed corner shape for connected variant, medium size. * @cssprop --m3e-connected-button-group-large-inner-shape - Corner shape for connected variant, large size. * @cssprop --m3e-connected-button-group-large-inner-pressed-shape - Pressed corner shape for connected variant, large size. * @cssprop --m3e-connected-button-group-extra-large-inner-shape - Corner shape for connected variant, extra-large size. * @cssprop --m3e-connected-button-group-extra-large-inner-pressed-shape - Pressed corner shape for connected variant, extra-large size. */ export declare class M3eButtonGroupElement extends M3eButtonGroupElement_base { #private; /** The styles of the element. */ static styles: CSSResultGroup; private readonly _base?; /** * The appearance variant of the group. * @default "standard" */ variant: ButtonGroupVariant; /** * The size of the group. * @default "small" */ size: ButtonGroupSize; /** * Whether multiple toggle buttons can be selected. * @default false */ multi: boolean; /** The buttons contained by the group. */ readonly buttons: ReadonlyArray; /** @inheritdoc */ connectedCallback(): void; /** @inheritdoc */ disconnectedCallback(): void; /** @inheritdoc */ protected update(changedProperties: PropertyValues): void; /** @inheritdoc */ protected render(): unknown; } declare global { interface HTMLElementTagNameMap { "m3e-button-group": M3eButtonGroupElement; } } export {}; //# sourceMappingURL=ButtonGroupElement.d.ts.map