import type { Ref, RenderFunction, SetupContext } from 'vue' import type { TabPaneName, TabPaneProps as ElTabPaneProps, TabsEmits as ElTabsEmits, TabsProps as ElTabsProps, } from 'element-plus' import type { TabContextMenuData, TabPaneProps, TabsProps } from '../base' import type { ComponentBaseOptions, ComponentSlotType, DefineComponentApp, DefineComponentInstance, Merge, } from '../common' // tabs export declare const KTabs: DefineComponentApp export type KTabsInstance = DefineComponentInstance export interface KTabsConstructor extends ComponentBaseOptions, KTabsMethods { props: KTabsProps context: SetupContext getRefMaps(): KTabsPrivateRef getComputeMaps(): KTabsPrivateComputed renderVN: RenderFunction } export interface KTabsPrivateRef { refElem: Ref } export interface KTabsPrivateComputed { } export type KTabsProps = Merge export type KTabsEmits = Merge< { 'tab-contextmenu': (contextData: TabContextMenuData) => void }, ElTabsEmits > export interface KTabsSlots { default: () => ComponentSlotType 'add-icon': () => ComponentSlotType extra: () => ComponentSlotType } export interface KTabsMethods { currentName: Ref scrollToActiveTab: () => void } // tab-pane export declare const KTabPane: DefineComponentApp export type KTabPaneInstance = DefineComponentInstance export interface KTabPaneConstructor extends ComponentBaseOptions, KTabPaneMethods { props: KTabPaneProps context: SetupContext getRefMaps(): KTabPanePrivateRef getComputeMaps(): KTabPanePrivateComputed renderVN: RenderFunction } export interface KTabPanePrivateRef { refElem: Ref } export interface KTabPanePrivateComputed { } export type KTabPaneProps = Merge export interface KTabPaneEmits { } export interface KTabPaneSlots { default: () => ComponentSlotType label: () => ComponentSlotType } export interface KTabPaneMethods { }