import { AfterContentInit, EventEmitter, QueryList, AfterViewInit } from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
import { ButtonRadio } from './button-radio.component';
import { ButtonRadioChange } from './button-radio-change.class';
export declare class ButtonRadioGroup implements AfterContentInit, AfterViewInit, ControlValueAccessor {
    static buttonRadioGroupCount: number;
    /**
     * Emits event notifying other classes of a change using a `ButtonRadioChange` class.
     */
    change: EventEmitter<ButtonRadioChange>;
    /**
     * The `ButtonRadio` input items in the `ButtonRadioGroup`.
     */
    buttonRadios: QueryList<ButtonRadio>;
    /**
     * Sets the passed in `ButtonRadio` item as the selected input within the `ButtonRadioGroup`.
     */
    /**
    * Returns the `ButtonRadio` that is selected within the `ButtonRadioGroup`.
    */
    selected: ButtonRadio | null;
    /**
     * Sets the value/state of the selected `ButtonRadio` within the `ButtonRadioGroup` to the passed in value.
     */
    /**
    * Returns the value/state of the selected `ButtonRadio` within the `ButtonRadioGroup`.
    */
    value: any;
    /**
     * Replaces the name associated with the `ButtonRadioGroup` with the provided parameter.
     */
    /**
    * Returns the associated name of the `ButtonRadioGroup`.
    */
    name: string;
    /**
     * Set to true to disable the whole buttonRadio group
     */
    disabled: boolean;
    /**
     * Returns the skeleton value in the `ButtonRadioGroup` if there is one.
     */
    /**
    * Sets the skeleton value for all `ButtonRadio` to the skeleton value of `ButtonRadioGroup`.
    */
    skeleton: any;
    /**
     * Binds 'form-item' value to the class for `ButtonRadioGroup`.
     */
    buttonRadioButtonGroupClass: boolean;
    /**
     * To track whether the `ButtonRadioGroup` has been initialized.
     */
    protected isInitialized: boolean;
    /**
     * Reflects whether or not the input is disabled and cannot be selected.
     */
    protected _disabled: boolean;
    /**
     * Reflects whether or not the dropdown is loading.
     */
    protected _skeleton: boolean;
    /**
     * The value of the selected option within the `ButtonRadioGroup`.
     */
    protected _value: any;
    /**
     * The `ButtonRadio` within the `ButtonRadioGroup` that is selected.
     */
    protected _selected: ButtonRadio;
    /**
     * The name attribute associated with the `ButtonRadioGroup`.
     */
    protected _name: string;
    /**
     * Updates the selected `ButtonRadio` to be checked (selected).
     */
    checkSelectedButtonRadio(): void;
    /**
     * Use the value of the `ButtonRadioGroup` to update the selected buttonRadio to the right state (selected state).
     */
    updateSelectedButtonRadioFromValue(): void;
    /**
     * Creates a class of `ButtonRadioChange` to emit the change in the `ButtonRadioGroup`.
     */
    emitChangeEvent(event: ButtonRadioChange): void;
    updateButtonRadioNames(): void;
    /**
     * Synchronizes buttonRadio properties.
     */
    updateButtonRadios(): void;
    /**
     * Updates the value of the `ButtonRadioGroup` using the provided parameter.
     */
    writeValue(value: any): void;
    ngAfterContentInit(): void;
    ngAfterViewInit(): void;
    /**
     * Used to set method to propagate changes back to the form.
     */
    registerOnChange(fn: any): void;
    /**
     * Registers a callback to be triggered when the control has been touched.
     * @param fn Callback to be triggered when the checkbox is touched.
     */
    registerOnTouched(fn: any): void;
    /**
     * Needed to properly implement ControlValueAccessor.
     */
    onTouched: () => any;
    /**
     * Method set in registerOnChange to propagate changes back to the form.
     */
    propagateChange: (_: any) => void;
    protected updateChildren(): void;
    protected updateButtonRadioChangeHandler(): void;
}
