/**
 *
 * carbon-angular v0.0.0 | radio-group.component.d.ts
 *
 * Copyright 2014, 2025 IBM
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0

 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */


import { AfterContentInit, EventEmitter, QueryList, AfterViewInit, TemplateRef } from "@angular/core";
import { ControlValueAccessor } from "@angular/forms";
import { Radio } from "./radio.component";
import { RadioChange } from "./radio-change.class";
import * as i0 from "@angular/core";
/**
 * Get started with importing the module:
 *
 * ```typescript
 * import { RadioModule } from 'carbon-components-angular';
 * ```
 *
 * Ex:
 *
 * ```html
 * <cds-radio-group [(ngModel)]="radio">
 * 	<cds-radio *ngFor="let one of manyRadios" [value]="one">
 *		Radio {{one}}
 * 	</cds-radio>
 * </cds-radio-group>
 *
 * Radio selected: {{radio}}
 * ```
 *
 * ```ts
 *	const manyRadios = ["one", "two", "three", "four", "five", "six"];
 * ```
 *
 * [See demo](../../?path=/story/components-radio--basic)
 */
export declare class RadioGroup implements AfterContentInit, AfterViewInit, ControlValueAccessor {
    /**
     * Sets the passed in `Radio` item as the selected input within the `RadioGroup`.
     */
    set selected(selected: Radio | null);
    /**
     * Returns the `Radio` that is selected within the `RadioGroup`.
     */
    get selected(): Radio | null;
    /**
     * Sets the value/state of the selected `Radio` within the `RadioGroup` to the passed in value.
     */
    set value(newValue: any);
    /**
     * Returns the value/state of the selected `Radio` within the `RadioGroup`.
     */
    get value(): any;
    /**
     * Replaces the name associated with the `RadioGroup` with the provided parameter.
     */
    set name(name: string);
    /**
     * Returns the associated name of the `RadioGroup`.
     */
    get name(): string;
    /**
     * Set to true to disable the whole radio group
     */
    set disabled(disabled: boolean);
    /**
     * Returns the disabled value for the `RadioGroup`.
     */
    get disabled(): boolean;
    /**
     * Returns the skeleton value in the `RadioGroup` if there is one.
     */
    get skeleton(): any;
    /**
     * Sets the skeleton value for all `Radio` to the skeleton value of `RadioGroup`.
     */
    set skeleton(value: any);
    /**
     * Used for creating the `RadioGroup` 'name' property dynamically.
     */
    static radioGroupCount: number;
    orientation: "horizontal" | "vertical";
    labelPlacement: "right" | "left";
    legend: string | TemplateRef<any>;
    /**
     * Used to set the `aria-label` attribute on the radio group element.
     */
    ariaLabel: string;
    /**
     * Used to set the `aria-labelledby` attribute on the radio group element.
     */
    ariaLabelledby: string;
    /**
     * Sets the optional helper text.
     */
    helperText: string | TemplateRef<any>;
    /**
     * Set to `true` to show the invalid state.
     */
    invalid: boolean;
    /**
     * Value displayed if combobox is in an invalid state.
     */
    invalidText: string | TemplateRef<any>;
    /**
    * Set to `true` to show a warning (contents set by warnText)
    */
    warn: boolean;
    /**
     * Sets the warning text
     */
    warnText: string | TemplateRef<any>;
    /**
     * Emits event notifying other classes of a change using a `RadioChange` class.
     */
    change: EventEmitter<RadioChange>;
    /**
     * The `Radio` input items in the `RadioGroup`.
     */
    radios: QueryList<Radio>;
    /**
     * Binds 'cds--form-item' value to the class for `RadioGroup`.
     */
    radioButtonGroupClass: boolean;
    /**
     * To track whether the `RadioGroup` 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 `RadioGroup`.
     */
    protected _value: any;
    /**
     * The `Radio` within the `RadioGroup` that is selected.
     */
    protected _selected: Radio;
    /**
     * The name attribute associated with the `RadioGroup`.
     */
    protected _name: string;
    /**
     * Updates the selected `Radio` to be checked (selected).
     */
    checkSelectedRadio(): void;
    /**
     * Use the value of the `RadioGroup` to update the selected radio to the right state (selected state).
     */
    updateSelectedRadioFromValue(): void;
    /**
     * `ControlValueAccessor` method to programmatically disable the `RadioGroup`.
     *
     * ex: `this.formGroup.get("myRadioGroup").disable();`
     *
     * @param isDisabled `true` to disable the inputs
     */
    setDisabledState(isDisabled: boolean): void;
    /**
     * Creates a class of `RadioChange` to emit the change in the `RadioGroup`.
     */
    emitChangeEvent(event: RadioChange): void;
    /**
     * Synchronizes radio properties.
     */
    updateRadios(): void;
    /**
     * Updates the value of the `RadioGroup` 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;
    focusOut(): void;
    /**
     * Needed to properly implement ControlValueAccessor.
     */
    onTouched: () => any;
    /**
     * Method set in registerOnChange to propagate changes back to the form.
     */
    propagateChange: (_: any) => void;
    isTemplate(value: any): boolean;
    protected updateChildren(): void;
    protected updateRadioChangeHandler(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<RadioGroup, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<RadioGroup, "cds-radio-group, ibm-radio-group", never, { "selected": "selected"; "value": "value"; "name": "name"; "disabled": "disabled"; "skeleton": "skeleton"; "orientation": "orientation"; "labelPlacement": "labelPlacement"; "legend": "legend"; "ariaLabel": "ariaLabel"; "ariaLabelledby": "ariaLabelledby"; "helperText": "helperText"; "invalid": "invalid"; "invalidText": "invalidText"; "warn": "warn"; "warnText": "warnText"; }, { "change": "change"; }, ["radios"], ["*"], false>;
}
