import { AfterContentInit, ChangeDetectorRef, EventEmitter, OnDestroy, QueryList } from '@angular/core';
import { Subject } from 'rxjs';
import { ButtonComponent } from './button.component';
import { BooleanInput } from '@angular/cdk/coercion';
import * as i0 from "@angular/core";
export declare class ButtonGroupComponent implements AfterContentInit, OnDestroy {
    protected cd: ChangeDetectorRef;
    protected lastEmittedValue: any[];
    protected readonly destroy$: Subject<void>;
    protected readonly buttonsChange$: Subject<ButtonComponent[]>;
    readonly buttons: QueryList<ButtonComponent>;
    protected disabled: boolean;
    static ngAcceptInputType_disabled: BooleanInput;
    /**
     * Allows to keep multiple button toggles pressed. Off by default.
     */
    protected multiple: boolean;
    static ngAcceptInputType_multiple: BooleanInput;
    /**
     * Emits when `nbButtonToggle` pressed state change. `$event` contains an array of the currently pressed button
     * toggles.
     */
    valueChange: EventEmitter<any[]>;
    role: string;
    constructor(cd: ChangeDetectorRef);
    ngOnDestroy(): void;
    ngAfterContentInit(): void;
    protected listenButtonPressedState(buttons: ButtonComponent[]): void;
    protected emitCurrentValue(toggleButtons: ButtonComponent[]): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<ButtonGroupComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ButtonGroupComponent, "nc-button-group", never, { "disabled": { "alias": "disabled"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; }, { "valueChange": "valueChange"; }, ["buttons"], ["*"], false, never>;
}
