import { Location } from 'vue-router';
import { ModulVue } from '../../../utils/vue/vue';
import { MAccordionTransition } from '../../transitions/accordion-transition/accordion-transition';
import { Menu } from '../menu';
import './menu-item.scss';
export declare abstract class BaseMenuItem extends ModulVue {
}
export interface MenuItem {
    group: boolean;
    propOpen: boolean;
    selected: boolean;
    insideGroup: boolean;
}
export declare class MMenuItem extends BaseMenuItem implements MenuItem {
    open: boolean;
    value: string;
    label: string;
    url: string | Location;
    iconName: string;
    disabled: boolean;
    $refs: {
        transition: MAccordionTransition;
        group: HTMLElement;
    };
    group: boolean;
    selected: boolean;
    insideGroup: boolean;
    animReady: boolean;
    ariaControls: string;
    menuRoot: Menu | null;
    groupItemRoot: MenuItem | null;
    private internalOpen;
    private groupObserver;
    protected mounted(): void;
    protected beforeDestroy(): void;
    emitClick(event: MouseEvent): void;
    private openChanged;
    set propOpen(open: boolean);
    get propOpen(): boolean;
    getGroupItem(): MMenuItem[];
    get isAnimReady(): boolean;
    get isUrl(): boolean;
    get isDisabled(): boolean;
    onClick(event: MouseEvent): void;
    private onGroupObserverChange;
    private toggleOpen;
}
//# sourceMappingURL=menu-item.d.ts.map