import { LitElement } from 'lit';
import type { Constructor } from '../common/mixins/constructor.js';
import type { ButtonGroupSelection, ContentOrientation } from '../types.js';
export interface IgcButtonGroupComponentEventMap {
    igcSelect: CustomEvent<string | undefined>;
    igcDeselect: CustomEvent<string | undefined>;
}
declare const IgcButtonGroupComponent_base: Constructor<import("../common/mixins/event-emitter.js").EventEmitterInterface<IgcButtonGroupComponentEventMap>> & Constructor<LitElement>;
/**
 * The `igc-button-group` groups a series of `igc-toggle-button`s together, exposing features such as layout and selection.
 *
 * @element igc-button-group
 *
 * @slot - Renders `igc-toggle-button` component.
 *
 * @fires igcSelect - Emitted when a button is selected through user interaction.
 * @fires igcDeselect - Emitted when a button is deselected through user interaction.
 *
 * @csspart group - The button group container.
 */
export default class IgcButtonGroupComponent extends IgcButtonGroupComponent_base {
    static readonly tagName = "igc-button-group";
    static styles: import("lit").CSSResult[];
    static register(): void;
    private get isMultiple();
    private _selectedItems;
    private _observerCallback;
    private get _selectedButtons();
    private toggleButtons;
    /**
     * Disables all buttons inside the group.
     * @attr
     */
    disabled: boolean;
    /**
     * Sets the orientation of the buttons in the group.
     * @attr
     */
    alignment: ContentOrientation;
    /**
     * Controls the mode of selection for the button group.
     * @attr
     */
    selection: ButtonGroupSelection;
    /**
     * Gets/Sets the currently selected buttons (their values).
     * @attr
     */
    get selectedItems(): string[];
    set selectedItems(values: string[]);
    protected updateDisabledState(): void;
    protected updateSelectionState(): void;
    constructor();
    protected firstUpdated(): void;
    private handleClick;
    private handleSingleSelection;
    private handleMultipleSelection;
    private emitSelectEvent;
    private emitDeselectEvent;
    private setSelection;
    protected render(): import("lit-html").TemplateResult<1>;
}
declare global {
    interface HTMLElementTagNameMap {
        'igc-button-group': IgcButtonGroupComponent;
    }
}
export {};
