import Vue, { PluginObject } from 'vue';
import { ModulVue } from '../../utils/vue/vue';
import { MPlusSkin } from '../plus/plus';
export declare enum MAccordionSkin {
    Default = "default",
    Dark = "dark",
    DarkB = "dark-b",
    Light = "light",
    Plain = "plain"
}
export declare enum MAccordionIconPosition {
    Left = "left",
    Right = "right"
}
export declare enum MAccordionIconSize {
    Small = "small",
    Large = "large"
}
export interface AccordionGateway extends Vue {
    propId: string;
    propOpen: boolean;
    propDisabled: boolean;
}
export interface AccordionGroupGateway {
    skin: MAccordionSkin;
    disabled: boolean;
    concurrent: boolean;
    addAccordion(accordion: AccordionGateway): void;
    removeAccordion(id: string): void;
    closeAllAccordions(): any;
}
export declare const ACCORDION_CLOSEST_ELEMENTS: string;
export declare class MAccordion extends ModulVue implements AccordionGateway {
    id?: string;
    open: boolean;
    disabled: boolean;
    skin: MAccordionSkin;
    iconPosition?: MAccordionIconPosition;
    iconBorder?: boolean;
    iconSize?: MAccordionIconSize;
    padding: boolean;
    paddingHeader: boolean;
    paddingBody: boolean;
    keepContentAlive: boolean;
    titleMenuOpen: string;
    titleMenuClose: string;
    $refs: {
        accordionHeader: HTMLElement;
    };
    private uuid;
    private internalPropOpen;
    private clickEvent;
    readonly propDisabled: boolean;
    protected created(): void;
    protected beforeDestroy(): void;
    readonly propId: string;
    readonly idBodyWrap: string;
    readonly classBody: Object;
    propOpen: boolean;
    readonly headerTabindex: number | undefined;
    hasContent(): boolean;
    readonly propSkin: MAccordionSkin;
    readonly plusSkin: MPlusSkin;
    readonly hasIconBorder: boolean;
    toggleAccordion(event: Event): void;
    private syncOpenProp;
}
declare const AccordionPlugin: PluginObject<any>;
export default AccordionPlugin;
//# sourceMappingURL=accordion.d.ts.map