import { EleAdminLayoutInstance, EleBreadcrumbProps, EleBacktopProps, EleMenusProps } from '../ele-app/plus';
import { MenuItem, TabItem, LevelItem, TabItemEventOption } from './types';
import { MenuItem as MenuItemProps } from '../ele-menus/types';
import { BreadcrumbItem } from '../ele-breadcrumb/types';
import { TabPaneItem, TabEventOption } from '../ele-tabs/types';
import { Layout, SidebarLayout, TabBar, Maximized } from '../ele-admin-layout/types';

declare const _default: import('vue').DefineComponent<{
    height: {
        type: (StringConstructor | NumberConstructor)[];
        default: null;
    };
    menus: import('vue').PropType<MenuItem[] | null>;
    tabs: import('vue').PropType<TabItem[] | null>;
    collapse: BooleanConstructor;
    compact: BooleanConstructor;
    maximized: import('vue').PropType<Maximized>;
    tabBar: {
        type: import('vue').PropType<TabBar>;
        default: boolean;
    };
    breadcrumb: {
        type: import('vue').PropType<boolean | EleBreadcrumbProps>;
        default: boolean;
    };
    backTop: {
        type: import('vue').PropType<boolean | EleBacktopProps>;
        default: boolean;
    };
    layout: import('vue').PropType<Layout>;
    sidebarLayout: import('vue').PropType<SidebarLayout>;
    headerStyle: import('vue').PropType<import('./types').HeaderStyle>;
    sidebarStyle: {
        type: import('vue').PropType<import('./types').SidebarStyle>;
        default: string;
    };
    tabStyle: {
        type: import('vue').PropType<import('./types').TabStyle>;
        default: string;
    };
    fixedHeader: {
        type: BooleanConstructor;
        default: boolean;
    };
    fixedSidebar: {
        type: BooleanConstructor;
        default: boolean;
    };
    fixedBody: {
        type: BooleanConstructor;
        default: boolean;
    };
    logoInHeader: BooleanConstructor;
    fixedHome: {
        type: BooleanConstructor;
        default: boolean;
    };
    homePath: StringConstructor;
    redirectPath: {
        type: StringConstructor;
        default: string;
    };
    fluid: {
        type: BooleanConstructor;
        default: boolean;
    };
    compressOnEsc: BooleanConstructor;
    autoScrollTop: {
        type: BooleanConstructor;
        default: boolean;
    };
    navTrigger: import('vue').PropType<import('./types').MenuItemTrigger>;
    boxTrigger: import('vue').PropType<import('./types').MenuItemTrigger>;
    itemTrigger: import('vue').PropType<import('./types').MenuItemTrigger>;
    menuHoverTimeout: {
        type: NumberConstructor;
        default: number;
    };
    beforeClick: import('vue').PropType<import('./types').BeforeClick>;
    keepAlive: BooleanConstructor;
    transitionName: StringConstructor;
    transitionDelay: {
        type: NumberConstructor;
        default: number;
    };
    responsive: {
        type: BooleanConstructor;
        default: boolean;
    };
    locale: StringConstructor;
    i18n: import('vue').PropType<import('./types').MenuI18n>;
    tabContextMenu: import('vue').PropType<boolean | import('../ele-app/plus').EleDropdownProps>;
    tabContextMenus: import('vue').PropType<import('../ele-tabs/types').ContextMenus>;
    tabSortable: BooleanConstructor;
    headerTitleSlot: {
        type: StringConstructor;
        default: string;
    };
    headerIconSlot: {
        type: StringConstructor;
        default: string;
    };
    sidebarTitleSlot: {
        type: StringConstructor;
        default: string;
    };
    sidebarIconSlot: {
        type: StringConstructor;
        default: string;
    };
    sideboxTitleSlot: {
        type: StringConstructor;
        default: string;
    };
    sideboxIconSlot: {
        type: StringConstructor;
        default: string;
    };
    headerCustomStyle: import('vue').PropType<import('../ele-app/types').StyleValue>;
    sidebarCustomStyle: import('vue').PropType<import('../ele-app/types').StyleValue>;
    sideboxCustomStyle: import('vue').PropType<import('../ele-app/types').StyleValue>;
    tabsCustomStyle: import('vue').PropType<import('../ele-app/types').StyleValue>;
    contentCustomStyle: import('vue').PropType<import('../ele-app/types').StyleValue>;
    logoStyle: import('vue').PropType<import('../ele-app/types').StyleValue>;
    logoTitleStyle: import('vue').PropType<import('../ele-app/types').StyleValue>;
    headerMenusStyle: import('vue').PropType<import('../ele-app/types').StyleValue>;
    sidebarMenusStyle: import('vue').PropType<import('../ele-app/types').StyleValue>;
    sideboxMenusStyle: import('vue').PropType<import('../ele-app/types').StyleValue>;
    headerMenuProps: import('vue').PropType<EleMenusProps>;
    sidebarMenuProps: import('vue').PropType<EleMenusProps>;
    sideboxMenuProps: import('vue').PropType<EleMenusProps>;
    ellipsis: {
        type: BooleanConstructor;
        default: boolean;
    };
    ellipsisProps: import('vue').PropType<EleMenusProps["ellipsisProps"]>;
    menuTrigger: import('vue').PropType<EleMenusProps["menuTrigger"]>;
    sidebarOpeneds: import('vue').PropType<string[]>;
    uniqueOpened: {
        type: BooleanConstructor;
        default: boolean;
    };
    colorfulIcon: BooleanConstructor;
    tooltipEffect: import('vue').PropType<EleMenusProps["popperEffect"]>;
    menuTextEllipsisTooltip: import('vue').PropType<import('../ele-menus/types').TextEllipsisTooltip | undefined>;
    expanded: BooleanConstructor;
    breadcrumbSeparator: import('vue').PropType<import('../ele-breadcrumb/types').BreadcrumbSeparator>;
    backTopVisibilityHeight: NumberConstructor;
    backTopRight: NumberConstructor;
    backTopBottom: NumberConstructor;
    backTopTarget: StringConstructor;
}, {
    layoutRef: import('vue').Ref<EleAdminLayoutInstance>;
    navActive: import('vue').Ref<string | undefined>;
    sideActive: import('vue').Ref<string | undefined>;
    boxActive: import('vue').Ref<string | undefined>;
    tabData: import('vue').ShallowRef<TabItem[]>;
    tabActive: import('vue').Ref<string | undefined>;
    levelData: import('vue').ShallowRef<LevelItem[]>;
    mobile: import('vue').Ref<boolean>;
    homeMenuPath: import('vue').Ref<string | undefined>;
    isHome: import('vue').Ref<boolean>;
    hideFooter: import('vue').Ref<boolean>;
    layoutHeaders: import('vue').ComputedRef<MenuItemProps[]>;
    layoutSidebars: import('vue').ComputedRef<MenuItemProps[]>;
    layoutSideboxs: import('vue').ComputedRef<MenuItemProps[]>;
    layoutTabs: import('vue').ComputedRef<TabPaneItem[]>;
    layoutLevels: import('vue').ComputedRef<BreadcrumbItem[]>;
    routeLayout: import('vue').ComputedRef<Layout>;
    routeSideType: import('vue').ComputedRef<SidebarLayout>;
    isBoxSide: import('vue').ComputedRef<boolean>;
    routeTabBar: import('vue').ComputedRef<TabBar>;
    routeMaximized: import('vue').ComputedRef<Maximized | undefined>;
    sidebar: import('vue').ComputedRef<boolean>;
    breadcrumbProps: import('vue').ComputedRef<boolean | EleBreadcrumbProps>;
    backTopProps: import('vue').ComputedRef<boolean | EleBacktopProps>;
    navMenuProps: import('vue').ComputedRef<EleMenusProps | undefined>;
    sideMenuProps: import('vue').ComputedRef<EleMenusProps | undefined>;
    boxMenuProps: import('vue').ComputedRef<EleMenusProps | undefined>;
    updateCollapse: (collapse: boolean) => void;
    handleLogoClick: (e: MouseEvent) => void;
    handleHeadMenuOpen: (index: string, indexPath: string[]) => void;
    handleHeadMenuClose: (index: string, indexPath: string[]) => void;
    handleHeadMenuItemClick: (item: MenuItemProps, e: MouseEvent) => void;
    handleHeadMenuItemMouseenter: (item: MenuItemProps, e: MouseEvent) => void;
    handleHeadMouseenter: () => void;
    handleHeadMouseleave: () => void;
    handleBoxMenuItemClick: (item: MenuItemProps, e: MouseEvent) => void;
    handleBoxMenuItemMouseenter: (item: MenuItemProps, e: MouseEvent) => void;
    handleBoxMouseEnter: () => void;
    handleBoxMouseLeave: () => void;
    handleSideMenuOpen: (index: string, indexPath: string[]) => void;
    handleSideMenuClose: (index: string, indexPath: string[]) => void;
    handleSideMenuItemClick: (item: MenuItemProps, e: MouseEvent) => void;
    handleSideMouseEnter: () => void;
    handleSideMouseLeave: () => void;
    handleTabClick: (option: TabEventOption) => void;
    handleTabRemove: (key: string) => void;
    handleTabContextMenu: (option: TabEventOption) => void;
    handleTabSortChange: (data: TabPaneItem[]) => void;
}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
    'update:collapse': (_collapse: boolean) => boolean;
    'update:maximized': (_maximized: boolean) => boolean;
    tabAdd: (_data: TabItem) => boolean;
    tabClick: (_option: TabItemEventOption) => boolean;
    tabRemove: (_option: TabItemEventOption) => boolean;
    tabContextMenu: (_option: TabItemEventOption) => boolean;
    tabSortChange: (_data: TabItem[]) => boolean;
    logoClick: (_isHome: boolean, _e: MouseEvent) => boolean;
    headMenuOpen: (_index: string, _indexPath: string[]) => boolean;
    headMenuClose: (_index: string, _indexPath: string[]) => boolean;
    sideMenuOpen: (_index: string, _indexPath: string[]) => boolean;
    sideMenuClose: (_index: string, _indexPath: string[]) => boolean;
    bodySizeChange: (_option: import('./types').BodySizeChangeOption) => boolean;
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
    height: {
        type: (StringConstructor | NumberConstructor)[];
        default: null;
    };
    menus: import('vue').PropType<MenuItem[] | null>;
    tabs: import('vue').PropType<TabItem[] | null>;
    collapse: BooleanConstructor;
    compact: BooleanConstructor;
    maximized: import('vue').PropType<Maximized>;
    tabBar: {
        type: import('vue').PropType<TabBar>;
        default: boolean;
    };
    breadcrumb: {
        type: import('vue').PropType<boolean | EleBreadcrumbProps>;
        default: boolean;
    };
    backTop: {
        type: import('vue').PropType<boolean | EleBacktopProps>;
        default: boolean;
    };
    layout: import('vue').PropType<Layout>;
    sidebarLayout: import('vue').PropType<SidebarLayout>;
    headerStyle: import('vue').PropType<import('./types').HeaderStyle>;
    sidebarStyle: {
        type: import('vue').PropType<import('./types').SidebarStyle>;
        default: string;
    };
    tabStyle: {
        type: import('vue').PropType<import('./types').TabStyle>;
        default: string;
    };
    fixedHeader: {
        type: BooleanConstructor;
        default: boolean;
    };
    fixedSidebar: {
        type: BooleanConstructor;
        default: boolean;
    };
    fixedBody: {
        type: BooleanConstructor;
        default: boolean;
    };
    logoInHeader: BooleanConstructor;
    fixedHome: {
        type: BooleanConstructor;
        default: boolean;
    };
    homePath: StringConstructor;
    redirectPath: {
        type: StringConstructor;
        default: string;
    };
    fluid: {
        type: BooleanConstructor;
        default: boolean;
    };
    compressOnEsc: BooleanConstructor;
    autoScrollTop: {
        type: BooleanConstructor;
        default: boolean;
    };
    navTrigger: import('vue').PropType<import('./types').MenuItemTrigger>;
    boxTrigger: import('vue').PropType<import('./types').MenuItemTrigger>;
    itemTrigger: import('vue').PropType<import('./types').MenuItemTrigger>;
    menuHoverTimeout: {
        type: NumberConstructor;
        default: number;
    };
    beforeClick: import('vue').PropType<import('./types').BeforeClick>;
    keepAlive: BooleanConstructor;
    transitionName: StringConstructor;
    transitionDelay: {
        type: NumberConstructor;
        default: number;
    };
    responsive: {
        type: BooleanConstructor;
        default: boolean;
    };
    locale: StringConstructor;
    i18n: import('vue').PropType<import('./types').MenuI18n>;
    tabContextMenu: import('vue').PropType<boolean | import('../ele-app/plus').EleDropdownProps>;
    tabContextMenus: import('vue').PropType<import('../ele-tabs/types').ContextMenus>;
    tabSortable: BooleanConstructor;
    headerTitleSlot: {
        type: StringConstructor;
        default: string;
    };
    headerIconSlot: {
        type: StringConstructor;
        default: string;
    };
    sidebarTitleSlot: {
        type: StringConstructor;
        default: string;
    };
    sidebarIconSlot: {
        type: StringConstructor;
        default: string;
    };
    sideboxTitleSlot: {
        type: StringConstructor;
        default: string;
    };
    sideboxIconSlot: {
        type: StringConstructor;
        default: string;
    };
    headerCustomStyle: import('vue').PropType<import('../ele-app/types').StyleValue>;
    sidebarCustomStyle: import('vue').PropType<import('../ele-app/types').StyleValue>;
    sideboxCustomStyle: import('vue').PropType<import('../ele-app/types').StyleValue>;
    tabsCustomStyle: import('vue').PropType<import('../ele-app/types').StyleValue>;
    contentCustomStyle: import('vue').PropType<import('../ele-app/types').StyleValue>;
    logoStyle: import('vue').PropType<import('../ele-app/types').StyleValue>;
    logoTitleStyle: import('vue').PropType<import('../ele-app/types').StyleValue>;
    headerMenusStyle: import('vue').PropType<import('../ele-app/types').StyleValue>;
    sidebarMenusStyle: import('vue').PropType<import('../ele-app/types').StyleValue>;
    sideboxMenusStyle: import('vue').PropType<import('../ele-app/types').StyleValue>;
    headerMenuProps: import('vue').PropType<EleMenusProps>;
    sidebarMenuProps: import('vue').PropType<EleMenusProps>;
    sideboxMenuProps: import('vue').PropType<EleMenusProps>;
    ellipsis: {
        type: BooleanConstructor;
        default: boolean;
    };
    ellipsisProps: import('vue').PropType<EleMenusProps["ellipsisProps"]>;
    menuTrigger: import('vue').PropType<EleMenusProps["menuTrigger"]>;
    sidebarOpeneds: import('vue').PropType<string[]>;
    uniqueOpened: {
        type: BooleanConstructor;
        default: boolean;
    };
    colorfulIcon: BooleanConstructor;
    tooltipEffect: import('vue').PropType<EleMenusProps["popperEffect"]>;
    menuTextEllipsisTooltip: import('vue').PropType<import('../ele-menus/types').TextEllipsisTooltip | undefined>;
    expanded: BooleanConstructor;
    breadcrumbSeparator: import('vue').PropType<import('../ele-breadcrumb/types').BreadcrumbSeparator>;
    backTopVisibilityHeight: NumberConstructor;
    backTopRight: NumberConstructor;
    backTopBottom: NumberConstructor;
    backTopTarget: StringConstructor;
}>> & {
    onTabClick?: ((_option: TabItemEventOption) => any) | undefined;
    onTabRemove?: ((_option: TabItemEventOption) => any) | undefined;
    onTabAdd?: ((_data: TabItem) => any) | undefined;
    onTabContextMenu?: ((_option: TabItemEventOption) => any) | undefined;
    onTabSortChange?: ((_data: TabItem[]) => any) | undefined;
    "onUpdate:collapse"?: ((_collapse: boolean) => any) | undefined;
    onLogoClick?: ((_isHome: boolean, _e: MouseEvent) => any) | undefined;
    onHeadMenuOpen?: ((_index: string, _indexPath: string[]) => any) | undefined;
    onHeadMenuClose?: ((_index: string, _indexPath: string[]) => any) | undefined;
    onSideMenuOpen?: ((_index: string, _indexPath: string[]) => any) | undefined;
    onSideMenuClose?: ((_index: string, _indexPath: string[]) => any) | undefined;
    "onUpdate:maximized"?: ((_maximized: boolean) => any) | undefined;
    onBodySizeChange?: ((_option: import('./types').BodySizeChangeOption) => any) | undefined;
}, {
    uniqueOpened: boolean;
    collapse: boolean;
    ellipsis: boolean;
    height: string | number;
    compact: boolean;
    transitionDelay: number;
    expanded: boolean;
    fixedHome: boolean;
    tabSortable: boolean;
    tabStyle: import('./types').TabStyle;
    tabBar: TabBar;
    breadcrumb: boolean | EleBreadcrumbProps;
    backTop: boolean | EleBacktopProps;
    sidebarStyle: import('./types').SidebarStyle;
    fixedHeader: boolean;
    fixedSidebar: boolean;
    fixedBody: boolean;
    logoInHeader: boolean;
    headerTitleSlot: string;
    headerIconSlot: string;
    sidebarTitleSlot: string;
    sidebarIconSlot: string;
    sideboxTitleSlot: string;
    sideboxIconSlot: string;
    responsive: boolean;
    keepAlive: boolean;
    redirectPath: string;
    fluid: boolean;
    compressOnEsc: boolean;
    autoScrollTop: boolean;
    menuHoverTimeout: number;
    colorfulIcon: boolean;
}, {}>;
export default _default;
