import * as React from 'react';
import { CSSTransitionProps } from '../csstransition/CSSTransition';
import { MenuItem } from '../menuitem/MenuItem';
type SlideMenuAppendToType = 'self' | HTMLElement | undefined | null;
import './SlideMenu.scss';
export interface SlideMenuProps {
    id?: string;
    model?: MenuItem[];
    popup?: boolean;
    style?: object;
    className?: string;
    easing?: string;
    effectDuration?: number;
    backLabel?: string;
    menuWidth?: number;
    viewportHeight?: number;
    autoZIndex?: boolean;
    baseZIndex?: number;
    /**
     * DOM element instance where the overlay panel should be mounted.
     * Valid values are any DOM Element and 'self'.
     * The self value is used to render a component where it is located.
     */
    appendTo?: SlideMenuAppendToType;
    transitionOptions?: CSSTransitionProps;
    onShow?(e: React.SyntheticEvent): void;
    onHide?(e: React.SyntheticEvent): void;
    show?(event: React.SyntheticEvent): void;
    hide?(event: React.SyntheticEvent): void;
    toggle?(event: React.SyntheticEvent): void;
    children?: React.ReactNode;
}
export declare const SlideMenu: React.MemoExoticComponent<React.ForwardRefExoticComponent<Omit<any, "ref"> & React.RefAttributes<unknown>>>;
export {};
