import { ElementRef, QueryList, OnInit, OnChanges, SimpleChanges, AfterViewInit, ChangeDetectorRef, AfterViewChecked, OnDestroy } from "@angular/core"; export declare type AccordionIconRotation = "deg-180" | "deg-180-counter" | "deg-90" | "deg-90-counter"; export declare type AccordionContentType = AccordionContent | Array | string; export declare type AccordionContent = { title?: string; desc?: string; }; export interface AccrodionListItem { header: string; subHeaderText?: string; content?: AccordionContentType; } export interface AccordionProps { className?: string; customIcon?: string; customIconExpanded?: string; iconPosition?: "left" | "right"; iconRotation?: AccordionIconRotation; id?: string; list: Array; alternative?: boolean; activeIndex?: number; } /** Accordions show and hide information that is not necessary at all time with one click. */ export declare class AccordionComponent implements OnInit, OnChanges, AfterViewInit, AfterViewChecked, OnDestroy { private changeDetector; /** Element class name */ className?: string; /** Custom accordion toggle icon */ customIcon?: string; /** Custom accordion toggle icon when expanded */ customIconExpanded?: string; /** Accordion toggle icon position */ iconPosition?: "left" | "right"; /** Accordion toggle icon rotation angle */ iconRotation?: AccordionIconRotation; /** Element ID */ id?: string; /** List of accordion items to render */ list: Array; /** Alternative accordion design, rendered headers as links */ alternative?: boolean; /** The index of the default expanded accordion */ activeIndex?: number; accordionItemRefs: QueryList; idList: Array; accordionClassName: string; itemClassName: string; active: number; private aacordionRefSubscription; heightList: Array; constructor(changeDetector: ChangeDetectorRef); /** helper functions */ constructIds(): void; /** Constructs the `className` to be used in accordion wrapper */ constructClassName(): void; /** Constructs the `className` to be used in accordion items */ constructItemClassName(): void; expandOrCollapseSection(itemIndex: number): void; toggle(index: number): void; contentIsOfTypeArray(content: AccordionContentType): boolean; contentTypeElementRef(content: AccordionContentType): boolean; /** * Handles accordion item click event * @param e MouseEvent * @param index list index */ onToggle(e: KeyboardEvent | MouseEvent): void; ngOnInit(): void; ngAfterViewInit(): void; ngAfterViewChecked(): void; ngOnDestroy(): void; ngOnChanges(changes: SimpleChanges): void; }