import { EventEmitter, OnChanges, OnDestroy, OnInit, SimpleChanges, TemplateRef } from '@angular/core';
import { I18nInterface, I18nService } from 'ng-devui/i18n';
import { DevConfigService } from 'ng-devui/utils';
import { Subscription } from 'rxjs';
import { AccordionItemClickEvent, AccordionMenuToggleEvent, AccordionMenuType, AccordionOptions } from './accordion.type';
import * as i0 from "@angular/core";
export declare class AccordionComponent implements AccordionOptions, OnChanges, OnInit, OnDestroy {
    private i18n;
    private devConfigService;
    data: Array<any> | AccordionMenuType;
    titleKey: string;
    loadingKey: string;
    childrenKey: string;
    disabledKey: string;
    activeKey: string;
    openKey: string;
    menuItemTemplate: TemplateRef<any>;
    itemTemplate: TemplateRef<any>;
    menuToggle: EventEmitter<AccordionMenuToggleEvent>;
    itemClick: EventEmitter<AccordionItemClickEvent>;
    activeItemChange: EventEmitter<any>;
    /** 高级选项和模板 */
    restrictOneOpen: boolean;
    autoOpenActiveMenu: boolean;
    showNoContent: boolean;
    noContentTemplate: TemplateRef<any>;
    loadingTemplate: TemplateRef<any>;
    innerListTemplate: TemplateRef<any>;
    linkType: 'routerLink' | 'hrefLink' | 'dependOnLinkTypeKey' | '' | string;
    linkTypeKey: string;
    linkKey: string;
    linkTargetKey: string;
    linkDefaultTarget: string;
    accordionType: 'normal' | 'embed';
    showAnimation: boolean;
    activeItem: any;
    i18nCommonText: I18nInterface['common'];
    i18nSubscription: Subscription;
    constructor(i18n: I18nService, devConfigService: DevConfigService);
    ngOnChanges(changes: SimpleChanges): void;
    ngOnInit(): void;
    ngOnDestroy(): void;
    private flatten;
    private cleanOpenData;
    initActiveItem(): void;
    itemClickFn: (itemEvent: AccordionItemClickEvent) => void;
    linkItemClickFn: (itemEvent: AccordionItemClickEvent) => void;
    menuToggleFn: (menuEvent: AccordionMenuToggleEvent) => void;
    activeItemFn(item: any): void;
    openMenuFn(item: any, open: any): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<AccordionComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AccordionComponent, "d-accordion", never, { "data": { "alias": "data"; "required": false; }; "titleKey": { "alias": "titleKey"; "required": false; }; "loadingKey": { "alias": "loadingKey"; "required": false; }; "childrenKey": { "alias": "childrenKey"; "required": false; }; "disabledKey": { "alias": "disabledKey"; "required": false; }; "activeKey": { "alias": "activeKey"; "required": false; }; "openKey": { "alias": "openKey"; "required": false; }; "menuItemTemplate": { "alias": "menuItemTemplate"; "required": false; }; "itemTemplate": { "alias": "itemTemplate"; "required": false; }; "restrictOneOpen": { "alias": "restrictOneOpen"; "required": false; }; "autoOpenActiveMenu": { "alias": "autoOpenActiveMenu"; "required": false; }; "showNoContent": { "alias": "showNoContent"; "required": false; }; "noContentTemplate": { "alias": "noContentTemplate"; "required": false; }; "loadingTemplate": { "alias": "loadingTemplate"; "required": false; }; "innerListTemplate": { "alias": "innerListTemplate"; "required": false; }; "linkType": { "alias": "linkType"; "required": false; }; "linkTypeKey": { "alias": "linkTypeKey"; "required": false; }; "linkKey": { "alias": "linkKey"; "required": false; }; "linkTargetKey": { "alias": "linkTargetKey"; "required": false; }; "linkDefaultTarget": { "alias": "linkDefaultTarget"; "required": false; }; "accordionType": { "alias": "accordionType"; "required": false; }; "showAnimation": { "alias": "showAnimation"; "required": false; }; }, { "menuToggle": "menuToggle"; "itemClick": "itemClick"; "activeItemChange": "activeItemChange"; }, never, never, false, never>;
}
