import { ElementRef, OnDestroy, EventEmitter, Renderer2, ChangeDetectorRef } from "@angular/core";
import { AnimationEvent } from "@angular/animations";
import { MenuItem, OverlayService, PrimeNGConfig } from "primeng/api";
import { SmzMenuItem } from '../models/smz-menu-item';
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";
export declare class MenuItemContent {
    item: MenuItem;
    menu: Menu;
    constructor(menu: any);
    onItemKeyDown(event: any): void;
    findNextItem(item: any): any;
    findPrevItem(item: any): any;
    static ɵfac: i0.ɵɵFactoryDeclaration<MenuItemContent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<MenuItemContent, "[smzMenuItemContent]", never, { "item": { "alias": "smzMenuItemContent"; "required": false; }; }, {}, never, never, false, never>;
}
export declare class Menu implements OnDestroy {
    el: ElementRef;
    renderer: Renderer2;
    private cd;
    config: PrimeNGConfig;
    overlayService: OverlayService;
    model: MenuItem[];
    popup: boolean;
    style: any;
    styleClass: string;
    appendTo: any;
    autoZIndex: boolean;
    baseZIndex: number;
    showTransitionOptions: string;
    hideTransitionOptions: string;
    containerViewChild: ElementRef;
    onShow: EventEmitter<any>;
    onHide: EventEmitter<any>;
    container: HTMLDivElement;
    scrollHandler: any;
    documentClickListener: any;
    documentResizeListener: any;
    preventDocumentDefault: boolean;
    target: any;
    visible: boolean;
    relativeAlign: boolean;
    rowData: any;
    constructor(el: ElementRef, renderer: Renderer2, cd: ChangeDetectorRef, config: PrimeNGConfig, overlayService: OverlayService);
    toggle(event: any, rowData: any): void;
    show(event: any): void;
    onOverlayAnimationStart(event: AnimationEvent): void;
    onOverlayAnimationEnd(event: AnimationEvent): void;
    alignOverlay(): void;
    appendOverlay(): void;
    restoreOverlayAppend(): void;
    moveOnTop(): void;
    hide(): void;
    onWindowResize(): void;
    itemClick(event: MouseEvent, item: SmzMenuItem): void;
    resolveCommand(data: any, item: SmzMenuItem): void;
    onOverlayClick(event: any): void;
    bindDocumentClickListener(): void;
    unbindDocumentClickListener(): void;
    bindDocumentResizeListener(): void;
    unbindDocumentResizeListener(): void;
    bindScrollListener(): void;
    unbindScrollListener(): void;
    onOverlayHide(): void;
    ngOnDestroy(): void;
    hasSubMenu(): boolean;
    static ɵfac: i0.ɵɵFactoryDeclaration<Menu, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<Menu, "smz-menu-items", never, { "model": { "alias": "model"; "required": false; }; "popup": { "alias": "popup"; "required": false; }; "style": { "alias": "style"; "required": false; }; "styleClass": { "alias": "styleClass"; "required": false; }; "appendTo": { "alias": "appendTo"; "required": false; }; "autoZIndex": { "alias": "autoZIndex"; "required": false; }; "baseZIndex": { "alias": "baseZIndex"; "required": false; }; "showTransitionOptions": { "alias": "showTransitionOptions"; "required": false; }; "hideTransitionOptions": { "alias": "hideTransitionOptions"; "required": false; }; }, { "onShow": "onShow"; "onHide": "onHide"; }, never, never, false, never>;
}
export declare class SmzMenuModule {
    static ɵfac: i0.ɵɵFactoryDeclaration<SmzMenuModule, never>;
    static ɵmod: i0.ɵɵNgModuleDeclaration<SmzMenuModule, [typeof Menu, typeof MenuItemContent], [typeof i1.CommonModule, typeof i2.RouterModule, typeof i3.RippleModule, typeof i4.TooltipModule], [typeof Menu, typeof i2.RouterModule]>;
    static ɵinj: i0.ɵɵInjectorDeclaration<SmzMenuModule>;
}
