import React, { MouseEvent, ReactElement, ReactNode, RefCallback, RefObject } from 'react'; import PropTypes from 'prop-types'; import TabsFoundation, { TabsAdapter } from '@douyinfe/semi-foundation/lib/cjs/tabs/foundation'; import BaseComponent from '../_base/baseComponent'; import '@douyinfe/semi-foundation/lib/cjs/tabs/tabs.css'; import TabPane from './TabPane'; import { PlainTab, TabsProps } from './interface'; export * from './interface'; export interface TabsState { activeKey: string; panes: Array; prevActiveKey: string | null; forceDisableMotion: boolean; } declare class Tabs extends BaseComponent { static TabPane: typeof TabPane; static TabItem: React.ForwardRefExoticComponent>; static propTypes: { activeKey: PropTypes.Requireable; className: PropTypes.Requireable; collapsible: PropTypes.Requireable>; contentStyle: PropTypes.Requireable; defaultActiveKey: PropTypes.Requireable; keepDOM: PropTypes.Requireable; lazyRender: PropTypes.Requireable; onChange: PropTypes.Requireable<(...args: any[]) => any>; onTabClick: PropTypes.Requireable<(...args: any[]) => any>; renderTabBar: PropTypes.Requireable<(...args: any[]) => any>; showRestInDropdown: PropTypes.Requireable; size: PropTypes.Requireable; style: PropTypes.Requireable; tabBarClassName: PropTypes.Requireable; tabBarExtraContent: PropTypes.Requireable; tabBarStyle: PropTypes.Requireable; tabList: PropTypes.Requireable; tabPaneMotion: PropTypes.Requireable; tabPosition: PropTypes.Requireable; type: PropTypes.Requireable; onTabClose: PropTypes.Requireable<(...args: any[]) => any>; preventScroll: PropTypes.Requireable; more: PropTypes.Requireable>; arrowPosition: PropTypes.Requireable; renderArrow: PropTypes.Requireable<(...args: any[]) => any>; dropdownProps: PropTypes.Requireable; }; static __SemiComponentName__: string; static defaultProps: TabsProps; contentRef: RefObject; contentHeight: string; foundation: TabsFoundation; constructor(props: TabsProps); get adapter(): TabsAdapter; static getDerivedStateFromProps(props: TabsProps, state: TabsState): Partial; componentDidUpdate(prevProps: TabsProps, prevState: TabsState): void; setContentRef: RefCallback; getPanes: () => PlainTab[]; onTabClick: (activeKey: string, event: MouseEvent) => void; rePosChildren: (children: ReactElement[], activeKey: string) => ReactElement[]; getActiveItem: () => ReactNode | ReactNode[]; deleteTabItem: (tabKey: string, event: MouseEvent) => void; render(): ReactNode; } export default Tabs;