import { OnInit, EventEmitter, SimpleChanges, QueryList } from "@angular/core";
import { BehaviorSubject } from "rxjs";
import { CssUtils } from "../utils";
import { DxcToggleComponent } from "./dxc-toggle/dxc-toggle.component";
import { ChangeDetectorRef } from "@angular/core";
import { Space, Spacing, ToggleGroupProperties } from "./dxc-toggleGroup.types";
import * as i0 from "@angular/core";
export declare class DxcToggleGroupComponent implements OnInit {
    private utils;
    private ref;
    /**
     * If true, the toggle group will support multiple selection.
     * In that case, value must be an array of numbers with the keys of the selected values.
     */
    get multiple(): boolean;
    set multiple(value: boolean);
    private _multiple;
    /**
     * If true, the component will be disabled.
     */
    get disabled(): boolean;
    set disabled(value: boolean);
    private _disabled;
    /**
     * Value of the tabindex which its propagated to their children components.
     */
    get tabIndexValue(): number;
    set tabIndexValue(value: number);
    private _tabIndexValue;
    /**
     * Size of the margin to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
     * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
     */
    margin: Space | Spacing;
    /**
     * Text to be placed next to the input.
     */
    label: string;
    /**
     * Assistive text to be placed bellow the input.
     */
    helperText: string;
    /**
     * Value(s) of the toggle(s) that are toggled.
     * If undefined, the component will be uncontrolled and the value will be managed internally by the component.
     */
    value: string | string[];
    /**
     * Initial value of the toggle group, only when it is uncontrolled.
     */
    defaultValue: string | string[];
    /**
     * This event will emit when the user changes the state of any toggle.
     * The new value or values will be passed as a parameter.
     */
    onChange: EventEmitter<string | string[]>;
    toggleGroup: QueryList<DxcToggleComponent>;
    toggleGroupId: string;
    selectedOptions: string[];
    private isControlled;
    styledDxcToggleGroup: any;
    defaultInputs: BehaviorSubject<ToggleGroupProperties>;
    constructor(utils: CssUtils, ref: ChangeDetectorRef);
    ngOnInit(): void;
    ngAfterContentInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    private valueChanged;
    private changeSelectedToggle;
    private setToggleSelected;
    disabledStyles(): string;
    setDxcToggleGroupDynamicStyle(inputs: any): string;
    static ɵfac: i0.ɵɵFactoryDeclaration<DxcToggleGroupComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DxcToggleGroupComponent, "dxc-togglegroup", never, { "multiple": "multiple"; "disabled": "disabled"; "tabIndexValue": "tabIndexValue"; "margin": "margin"; "label": "label"; "helperText": "helperText"; "value": "value"; "defaultValue": "defaultValue"; }, { "onChange": "onChange"; }, ["toggleGroup"], ["*"]>;
}
//# sourceMappingURL=dxc-toggleGroup.component.d.ts.map