import Component, { IComponent, IComponentOn, IComponentOptions, IComponentSelector } from "../core/Component";
import { JDom } from "../core/JDom";
interface IAccordionSelector extends IComponentSelector {
    panel?: string;
    tab?: string;
    content?: string;
}
interface IAccordionOptions extends IComponentOptions {
    active?: boolean;
    multiple?: boolean;
    duration?: number;
}
interface IAccordionOn extends IComponentOn {
    toggle?: (ctx?: Component) => void;
}
interface IAccordion extends IComponent {
    selectors?: IAccordionSelector;
    options?: IAccordionOptions;
    on?: IAccordionOn;
}
interface Accordion {
    options: IAccordionOptions;
    $tabs: JDom;
    selectors: IAccordionSelector;
    on: IAccordionOn;
    id: number;
    isShow: boolean;
    isShowTabs: Array<{
        tab: any;
        id: number;
        isShow: boolean;
    }>;
    $tab: JDom;
}
declare class Accordion extends Component {
    constructor(props?: IAccordion);
    mount(): void;
    addEvents(): void;
    unmount(): void;
    toggle(e: Event | JDom, cont?: JDom): void;
    setId(tab: JDom): number;
    show(tab: JDom, content: JDom): void;
    showEnd(content: JDom): void;
    hide(tab: JDom, content: JDom): void;
    hideEnd(content: JDom): void;
    hideAll(currentTab: JDom): void;
    setHeight(height: string | number | HTMLElement, content: JDom): void;
    setShowTab(tab: JDom, state: boolean): void;
    resize(): void;
}
export default Accordion;
//# sourceMappingURL=Accordion.d.ts.map