import { ElementRef, EventEmitter, NgZone, Renderer } from '@angular/core';
import { Backdrop } from '../backdrop/backdrop';
import { Config } from '../../config/config';
import { Keyboard } from '../../util/keyboard';
import { MenuController } from './menu-controller';
import { Platform } from '../../platform/platform';
import { GestureController } from '../../gestures/gesture-controller';
export declare class Menu {
    private _elementRef;
    private _config;
    private _platform;
    private _renderer;
    private _keyboard;
    private _zone;
    gestureCtrl: GestureController;
    private _preventTime;
    private _cntEle;
    private _cntGesture;
    private _type;
    private _resizeUnreg;
    private _isEnabled;
    private _isSwipeEnabled;
    private _isPers;
    private _init;
    isOpen: boolean;
    backdrop: Backdrop;
    onContentClick: EventListener;
    content: any;
    id: string;
    side: string;
    type: string;
    enabled: boolean;
    swipeEnabled: boolean;
    persistent: boolean;
    maxEdgeStart: number;
    ionDrag: EventEmitter<number>;
    ionOpen: EventEmitter<boolean>;
    ionClose: EventEmitter<boolean>;
    _menuCtrl: MenuController;
    constructor(_menuCtrl: MenuController, _elementRef: ElementRef, _config: Config, _platform: Platform, _renderer: Renderer, _keyboard: Keyboard, _zone: NgZone, gestureCtrl: GestureController);
    ngOnInit(): void;
    bdClick(ev: Event): void;
    private _setListeners();
    private _getType();
    setOpen(shouldOpen: boolean, animated?: boolean): Promise<boolean>;
    swipeStart(): void;
    swipeProgress(stepValue: number): void;
    swipeEnd(shouldCompleteLeft: boolean, shouldCompleteRight: boolean, stepValue: number): void;
    private _before();
    private _after(isOpen);
    private _prevent();
    private _isPrevented();
    open(): Promise<boolean>;
    close(): Promise<boolean>;
    toggle(): Promise<boolean>;
    enable(shouldEnable: boolean): Menu;
    swipeEnable(shouldEnable: boolean): Menu;
    getNativeElement(): HTMLElement;
    getMenuElement(): HTMLElement;
    getContentElement(): HTMLElement;
    getBackdropElement(): HTMLElement;
    width(): number;
    getMenuController(): MenuController;
    ngOnDestroy(): void;
}
