import { PropType } from 'vue';
import { EleDropdownProps } from '../../ele-app/plus';
import { TabPaneItem, TabEventOption, ContextMenus } from '../../ele-tabs/types';
import { TabStyle } from '../types';

declare const _default: import('vue').DefineComponent<{
    /** 页签数据 */
    tabs: PropType<TabPaneItem[]>;
    /** 页签选中 */
    active: StringConstructor;
    /** 是否需要固定的主页页签 */
    fixedHome: BooleanConstructor;
    /** 主页路由地址 */
    homePath: StringConstructor;
    /** 当前路由是否是主页 */
    isHome: BooleanConstructor;
    /** 页签风格 */
    tabStyle: PropType<TabStyle>;
    /** 是否支持右键菜单 */
    tabContextMenu: PropType<boolean | EleDropdownProps>;
    /** 右键菜单 */
    tabContextMenus: PropType<ContextMenus>;
    /** 是否支持拖动排序 */
    tabSortable: BooleanConstructor;
}, {
    handleTabRemove: (name: string) => void;
    handleTabItemClick: (option: TabEventOption) => void;
    handleTabContextMenu: (option: TabEventOption) => void;
    handleTabSortChange: (data: TabPaneItem[]) => void;
}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
    tabClick: (_option: TabEventOption) => true;
    tabRemove: (_name: string) => true;
    tabContextMenu: (_option: TabEventOption) => true;
    tabSortChange: (_data: TabPaneItem[]) => true;
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
    /** 页签数据 */
    tabs: PropType<TabPaneItem[]>;
    /** 页签选中 */
    active: StringConstructor;
    /** 是否需要固定的主页页签 */
    fixedHome: BooleanConstructor;
    /** 主页路由地址 */
    homePath: StringConstructor;
    /** 当前路由是否是主页 */
    isHome: BooleanConstructor;
    /** 页签风格 */
    tabStyle: PropType<TabStyle>;
    /** 是否支持右键菜单 */
    tabContextMenu: PropType<boolean | EleDropdownProps>;
    /** 右键菜单 */
    tabContextMenus: PropType<ContextMenus>;
    /** 是否支持拖动排序 */
    tabSortable: BooleanConstructor;
}>> & {
    onTabClick?: ((_option: TabEventOption) => any) | undefined;
    onTabRemove?: ((_name: string) => any) | undefined;
    onTabContextMenu?: ((_option: TabEventOption) => any) | undefined;
    onTabSortChange?: ((_data: TabPaneItem[]) => any) | undefined;
}, {
    fixedHome: boolean;
    isHome: boolean;
    tabSortable: boolean;
}, {}>;
export default _default;
