import type { LayoutTabItem } from '../types'; import type { ComputedRef } from 'vue'; import type { TabsPaneContext, TabPaneName } from 'element-plus'; export interface UseTabsParams { activeTab: ComputedRef; defaultTabs?: LayoutTabItem[]; beforeTabsRemove?: (removeTabsConfig: LayoutTabItem[], next: () => void, safeClose?: boolean) => void; onActiveTabChange?: (activeTab: LayoutTabItem) => void; } export declare function useTabs({ activeTab, defaultTabs, beforeTabsRemove, onActiveTabChange, }: UseTabsParams): { currentTabName: import("vue").Ref; tabs: import("vue").Ref<{ [x: string]: any; label: string; disabled?: boolean | undefined; name: string; closable?: boolean | undefined; }[], LayoutTabItem[] | { [x: string]: any; label: string; disabled?: boolean | undefined; name: string; closable?: boolean | undefined; }[]>; isTabClosable: (tab: LayoutTabItem) => boolean; selectTab: (tab: TabsPaneContext) => void; closeActiveTab: () => void; closeTab: (removeTabName: TabPaneName, safeClose?: boolean) => void; closeAllTabs: (safeClose?: boolean) => void; closeOthersTabs: (ignoreTabName: LayoutTabItem["name"], safeClose?: boolean) => void; }; export type UseTabsReturnType = ReturnType;