import { OnInit, OnChanges, EventEmitter } from "@angular/core";
import { CssUtils } from "../utils";
import { QueryList, SimpleChanges } from "@angular/core";
import { BehaviorSubject } from "rxjs";
import { DxcAccordionComponent } from "../dxc-accordion/dxc-accordion.component";
import { AccordionService } from "./services/accordionService.service";
import { ChangeDetectorRef } from "@angular/core";
import * as i0 from "@angular/core";
declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
declare type Margin = {
    top?: Space;
    bottom?: Space;
    left?: Space;
    right?: Space;
};
export declare class DxcAccordionGroupComponent implements OnChanges, OnInit {
    private cssUtils;
    private accordionService;
    private cdRef;
    /**
     * 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 | Margin;
    /**
     * The index of the active accordion. If undefined, the component will be uncontrolled and the active accordion will be managed internally by the component.
     * If null, the component will be controlled and all accordions will be closed.
     */
    get indexActive(): number;
    set indexActive(value: number);
    private _indexActive;
    /**
     * If true, the component will be disabled.
     */
    get disabled(): boolean;
    set disabled(value: boolean);
    private _disabled;
    /**
     * This event will emit in case the user clicks on an accordion.
     * The index of the clicked accordion will be passed as a parameter.
     */
    onActiveChange: EventEmitter<number>;
    className: any;
    /**
     * Customized accordion that allows this accordion group component. Accordion component can be checked here.
     */
    dxcAccordion: QueryList<DxcAccordionComponent>;
    accordionContent: string;
    defaultInputs: BehaviorSubject<any>;
    constructor(cssUtils: CssUtils, accordionService: AccordionService, cdRef: ChangeDetectorRef);
    ngOnChanges(changes: SimpleChanges): void;
    ngOnInit(): void;
    ngAfterContentInit(): void;
    setClassNamesAccordions(): void;
    uncontrolledAccordionGroup(): void;
    controlledAccordionGroup(): void;
    private setIsExpanded;
    private setDisabledAccordion;
    getDynamicStyle(inputs: any): string;
    static ɵfac: i0.ɵɵFactoryDeclaration<DxcAccordionGroupComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DxcAccordionGroupComponent, "dxc-accordion-group", never, { "margin": "margin"; "indexActive": "indexActive"; "disabled": "disabled"; }, { "onActiveChange": "onActiveChange"; }, ["dxcAccordion"], ["dxc-accordion"]>;
}
export {};
//# sourceMappingURL=dxc-accordionGroup.component.d.ts.map