import type { TabPaneProps, TabsProps } from '@element-plus/components/tabs' import type { ComponentInternalInstance, ComputedRef, InjectionKey, Ref, ShallowReactive, UnwrapRef, } from 'vue' export type TabsPaneContext = UnwrapRef<{ uid: number instance: ShallowReactive props: TabPaneProps paneName: ComputedRef active: ComputedRef index: Ref isClosable: ComputedRef }> export interface TabsRootContext { props: TabsProps currentName: Ref updatePaneState: (pane: TabsPaneContext) => void } export const tabsRootContextKey: InjectionKey = Symbol('tabsRootContextKey')