import { OnInit, AfterContentInit, AfterViewInit, OnChanges, SimpleChanges, OnDestroy, QueryList, TemplateRef, EventEmitter, NgZone, Renderer2, ChangeDetectorRef } from '@angular/core';
import { AnimationEvent } from '../animations/animations.interface';
export declare class AccordionHeaderComponent {
    templateRef: TemplateRef<any>;
}
export declare class AccordionContentComponent {
    templateRef: TemplateRef<any>;
}
export declare class AccordionComponent implements OnInit {
    contentTemplateRef: TemplateRef<AccordionContentComponent>;
    headerStyleColor: string;
    isCollapsing: boolean;
    isCollapsed: boolean;
    index: number;
    borderColor: string;
    contentColor: string;
    contentStyleClass: string;
    header: string;
    headerColor: string;
    headerColorHover: string;
    headerStyleClass: string;
    accordionHeaderComponent: AccordionHeaderComponent;
    accordionContentComponent: AccordionContentComponent;
    templateRef: TemplateRef<any>;
    /**
     * @method ngOnInit
     */
    ngOnInit(): void;
}
export declare class AccordionGroupComponent implements AfterContentInit, AfterViewInit, OnChanges, OnDestroy {
    private changeDetectorRef;
    private ngZone;
    private renderer2;
    private activeIndex;
    private accordionsListeners;
    _activeIndex: any;
    isMultiple: boolean;
    styleClass: string;
    onCollapseStart: EventEmitter<{}>;
    onCollapseDone: EventEmitter<{}>;
    accordionComponents: QueryList<AccordionComponent>;
    private accordionToggleDirectives;
    /**
     * @method constructor
     * @param  {ChangeDetectorRef} changeDetectorRef [description]
     * @param  {NgZone}            ngZone            [description]
     * @param  {Renderer2}         renderer2         [description]
     */
    constructor(changeDetectorRef: ChangeDetectorRef, ngZone: NgZone, renderer2: Renderer2);
    /**
     * @method ngAfterViewInit
     */
    ngAfterContentInit(): void;
    /**
     * @method ngAfterViewInit
     */
    ngAfterViewInit(): void;
    /**
     * [ngOnChanges description]
     * @method ngOnChanges
     * @param  {[type]}    changes [description]
     * @return {[type]}            [description]
     */
    ngOnChanges(changes: SimpleChanges): void;
    /**
     * @method ngOnDestroy
     */
    ngOnDestroy(): void;
    /**
     * [headerMouseEnter description]
     * @method headerMouseEnter
     * @param  {AccordionComponent} accordion [description]
     */
    headerMouseEnter(accordion: AccordionComponent): void;
    /**
     * [headerMouseLeave description]
     * @method headerMouseLeave
     * @param  {AccordionComponent} accordion [description]
     */
    headerMouseLeave(accordion: AccordionComponent): void;
    /**
     * [toggleAccordion description]
     * @method toggleAccordion
     * @param  {Event}         event       [description]
     * @param  {number}        toggleIndex [description]
     */
    toggleAccordion(event: Event, toggleIndex: number): void;
    /**
     * [collapseStart description]
     * @method collapseStart
     * @param  {AnimationEvent} event [description]
     * @param  {[type]}         index [description]
     */
    collapseStart(event: AnimationEvent, accordion: AccordionComponent): void;
    /**
     * [collapseDone description]
     * @method collapseDone
     * @param  {AnimationEvent} event [description]
     */
    collapseDone(event: AnimationEvent, accordion: AccordionComponent): void;
    /**
     * [setAccordionsIndex description]
     * @method setAccordionsIndex
     */
    private setAccordionsIndex();
    /**
     * [setAccordionsToggle description]
     * @method setAccordionsToggle
     */
    private setAccordionsToggle();
    /**
     * [updateAccordionIsCollapsed description]
     * @method updateAccordionIsCollapsed
     */
    private updateAccordionIsCollapsed();
    /**
     * [removeListeners description]
     * @method removeListeners
     */
    private removeListeners();
}
