import { AfterContentInit, ChangeDetectorRef, ElementRef, QueryList, Renderer2, TemplateRef } from '@angular/core';
import { MegaMenuItem, MenuItem, PrimeTemplate } from 'primeng/api';
import { VoidListener } from 'primeng/ts-helpers';
import * as i0 from "@angular/core";
import * as i1 from "@angular/common";
import * as i2 from "@angular/router";
import * as i3 from "primeng/ripple";
import * as i4 from "primeng/tooltip";
import * as i5 from "primeng/api";
import * as i6 from "primeng/icons/angledown";
import * as i7 from "primeng/icons/angleright";
/**
 * MegaMenu is navigation component that displays submenus together.
 * @group Components
 */
export declare class MegaMenu implements AfterContentInit {
    private document;
    private platformId;
    el: ElementRef;
    renderer: Renderer2;
    cd: ChangeDetectorRef;
    /**
     * An array of menuitems.
     * @group Props
     */
    model: MegaMenuItem[] | undefined;
    /**
     * Inline style of the element.
     * @group Props
     */
    style: {
        [klass: string]: any;
    } | null | undefined;
    /**
     * Class of the element.
     * @group Props
     */
    styleClass: string | undefined;
    /**
     * Defines the orientation.
     * @group Props
     */
    orientation: 'horizontal' | 'vertical';
    templates: QueryList<PrimeTemplate> | undefined;
    activeItem: any;
    documentClickListener: VoidListener;
    startTemplate: TemplateRef<any> | undefined;
    endTemplate: TemplateRef<any> | undefined;
    submenuIconTemplate: TemplateRef<any> | undefined;
    constructor(document: Document, platformId: any, el: ElementRef, renderer: Renderer2, cd: ChangeDetectorRef);
    ngAfterContentInit(): void;
    onCategoryMouseEnter(event: MouseEvent, menuitem: MegaMenuItem): void;
    onCategoryClick(event: MouseEvent, item: MenuItem | MegaMenuItem): void;
    itemClick(event: MouseEvent, item: MenuItem | MegaMenuItem): void;
    getColumnClass(menuitem: MegaMenuItem): any;
    bindDocumentClickListener(): void;
    unbindDocumentClickListener(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<MegaMenu, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<MegaMenu, "p-megaMenu", never, { "model": { "alias": "model"; "required": false; }; "style": { "alias": "style"; "required": false; }; "styleClass": { "alias": "styleClass"; "required": false; }; "orientation": { "alias": "orientation"; "required": false; }; }, {}, ["templates"], ["*"], false, never>;
}
export declare class MegaMenuModule {
    static ɵfac: i0.ɵɵFactoryDeclaration<MegaMenuModule, never>;
    static ɵmod: i0.ɵɵNgModuleDeclaration<MegaMenuModule, [typeof MegaMenu], [typeof i1.CommonModule, typeof i2.RouterModule, typeof i3.RippleModule, typeof i4.TooltipModule, typeof i5.SharedModule, typeof i6.AngleDownIcon, typeof i7.AngleRightIcon], [typeof MegaMenu, typeof i2.RouterModule, typeof i4.TooltipModule, typeof i5.SharedModule]>;
    static ɵinj: i0.ɵɵInjectorDeclaration<MegaMenuModule>;
}
