import React, { MouseEvent, ReactNode } from 'react'; import PropTypes from 'prop-types'; import { DropdownProps } from '../dropdown'; import { TabBarProps, PlainTab } from './interface'; export interface TabBarState { endInd: number; rePosKey: number; startInd: number; uuid: string; currentVisibleItems: string[]; shouldCollapse: boolean; } export interface OverflowItem extends PlainTab { key: string; active: boolean; } declare class TabBar extends React.Component { static propTypes: { activeKey: PropTypes.Requireable; className: PropTypes.Requireable; collapsible: PropTypes.Requireable>; list: PropTypes.Requireable; onTabClick: PropTypes.Requireable<(...args: any[]) => any>; size: PropTypes.Requireable; style: PropTypes.Requireable; tabBarExtraContent: PropTypes.Requireable; tabPosition: PropTypes.Requireable; type: PropTypes.Requireable; closable: PropTypes.Requireable; deleteTabItem: PropTypes.Requireable<(...args: any[]) => any>; more: PropTypes.Requireable>; }; private isFirstShowInViewport; private tabBarRef; constructor(props: TabBarProps); componentDidMount(): void; componentDidUpdate(prevProps: any): void; getEffectiveCollapsible: () => boolean; checkOverflow: () => void; isTabsWrapped: (tabBarEl: HTMLDivElement) => boolean; handleResize: () => void; renderIcon(icon: ReactNode): ReactNode; renderExtra(): ReactNode; handleItemClick: (itemKey: string, e: MouseEvent) => void; handleKeyDown: (event: React.KeyboardEvent, itemKey: string, closable: boolean) => void; renderTabItem: (panel: PlainTab) => ReactNode; scrollTabItemIntoViewByKey: (key: string, logicalPosition?: ScrollLogicalPosition, behavior?: ScrollBehavior) => void; scrollActiveTabItemIntoView: (logicalPosition?: ScrollLogicalPosition, behavior?: ScrollBehavior) => void; renderTabComponents: (list: Array) => Array; handleArrowClick: (items: Array, pos: 'start' | 'end') => void; renderCollapse: (items: Array, icon: ReactNode, pos: 'start' | 'end') => ReactNode; renderOverflow: (items: any[]) => Array; renderCollapsedTab: () => ReactNode; renderWithMoreTrigger: () => ReactNode; renderMoreDropdown: (panels: PlainTab[], dropDownProps: DropdownProps, trigger: ReactNode) => ReactNode; render(): ReactNode; private _isActive; private _getBarItemKeyByItemKey; private _getItemKeyByBarItemKey; } export default TabBar;