import { LitElement } from 'lit'; import { InputSize, ThemeColor } from '../../internal/constants/styleConstants.js'; import '../button/arc-button.js'; import '../spinner/arc-spinner.js'; /** * The type of the button group. * @typedef {string} ButtonGroupType */ export declare type ButtonGroupType = 'group-filled' | 'group-outlined'; /** * The button group types. * @typedef {Object} ButtonGroupTypes */ declare type ButtonGroupTypes = { [key in ButtonGroupType]: ButtonGroupType; }; /** * The button group types. * @type {ButtonGroupTypes} * @constant */ export declare const BUTTON_GROUP_TYPES: ButtonGroupTypes; /** * A button group component that groups buttons together. * @element arc-button-group * @slot - The default slot where buttons are placed. * @slot menu - The slot where the dropdown menu is placed. */ export default class ArcButtonGroup extends LitElement { static tag: string; static styles: import("lit").CSSResult[]; /** * The orientation of the button group. * @attr {boolean} column * @type {boolean} * @default false */ column: boolean; /** * The color of the button group. * @attr {default|primary|secondary|error|warning|info|success} color * @type {ThemeColor} * @default default */ color: ThemeColor; /** * The size of the button group. * @attr {small|medium|large} size * @type {InputSize} * @default medium */ size: InputSize; /** * The type of the button group. * @attr {group-filled|group-outlined} type * @type {ButtonGroupType} * @default group-filled */ type: ButtonGroupType; /** * The disabled state of the button group. * @attr {boolean} disabled * @type {boolean} * @default false */ disabled: boolean; /** * The loading state of the button group. * @attr {boolean} loading * @type {boolean} * @default false */ loading: boolean; /** * Button group buttons. * @private * @type {HTMLSlotElement} * @internal */ private buttons; /** * Button group menu. * @private * @type {HTMLSlotElement} * @internal */ private menu; /** * Ensures that the menu slot contains correct elements. * @throws {Error} - If the menu slot contains incorrect elements. * @private * @internal */ private ensureMenu; /** * Updates the menu slot. * @param {Map} props - Changed properties. * @private * @internal */ private updateMenu; /** * Ensures that the button group contains correct elements. * @throws {Error} - If the button group does not contain arc-button-group-button elements. * @throws {Error} - If the button group contains incorrect elements. * @private * @internal */ private ensureButtonGroupButtons; /** * Updates the button group buttons. * @param {Map} props - Changed properties. * @private * @internal */ private updateButtons; protected firstUpdated(props: Map): void; protected updated(props: Map): void; protected render(): import("lit-html").TemplateResult<1 | 2>; } export {};