import * as i0 from '@angular/core';
import { AfterContentInit, EventEmitter, QueryList } from '@angular/core';
import { EuiButtonComponent } from '@eui/components/eui-button';

/**
 * @description
 * Component for grouping multiple buttons together with optional checkbox or radio button behavior.
 */
declare class EuiButtonGroupComponent implements AfterContentInit {
    /** CSS classes applied to the host element */
    get cssClasses(): string;
    /**
     * Whether the buttons should behave like checkboxes (multiple selection)
     * @default false
     */
    isCheckboxButtons: boolean;
    /**
     * Whether the buttons should behave like radio buttons (single selection)
     * @default false
     */
    isRadioButtons: boolean;
    /**
     * Event emitted when any button in the group is clicked
     * Emits the clicked EuiButtonComponent instance
     */
    buttonClick: EventEmitter<EuiButtonComponent>;
    /**
     * Query list of all EuiButtonComponent instances within the group
     */
    buttons: QueryList<EuiButtonComponent>;
    /**
     * Initializes button click subscriptions after content is initialized
     */
    ngAfterContentInit(): void;
    /**
     * Handles button click events based on group configuration
     * - For checkbox buttons: Toggles the clicked button's checked state
     * - For radio buttons: Sets the clicked button as checked and unchecks others
     * - Emits the buttonClick event with the clicked button instance
     *
     * @param button - The EuiButtonComponent that was clicked
     * @internal
     */
    private handleInnerButtonClick;
    static ɵfac: i0.ɵɵFactoryDeclaration<EuiButtonGroupComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<EuiButtonGroupComponent, "eui-button-group", never, { "isCheckboxButtons": { "alias": "isCheckboxButtons"; "required": false; }; "isRadioButtons": { "alias": "isRadioButtons"; "required": false; }; }, { "buttonClick": "buttonClick"; }, ["buttons"], ["*"], true, never>;
    static ngAcceptInputType_isCheckboxButtons: unknown;
    static ngAcceptInputType_isRadioButtons: unknown;
}

declare const EUI_BUTTON_GROUP: readonly [typeof EuiButtonGroupComponent];

export { EUI_BUTTON_GROUP, EuiButtonGroupComponent };
//# sourceMappingURL=eui-components-eui-button-group.d.ts.map
