import React from 'react'; import { Props } from '../../../common'; export interface IScrollingTab { /** String title to use for this tab */ title?: string; /** Component positioned to the left of the title */ leftComponent?: JSX.Element; /** Component positioned to the right of the title */ rightComponent?: JSX.Element; /** Anchor href used when clicking between tabs; will use # if not provided */ anchorId?: string; /** The data-cy for the tab */ componentContext?: string; } export interface IScrollingTabGroupProps { /** The current tab selected (by anchor or index). This must be provided for the component to work. */ currentTab: string | number; /** A list of tabs and their content to render */ tabs: IScrollingTab[]; /** Whether to update the url of the page with anchors when changing tabs */ anchorsUpdateUrl?: boolean; /** Callback to run when clicking between tabs */ onTabChange?: (tab: IScrollingTab, index: number) => void; /** Callback when the scroll position changes */ onScrollUpdate?: (newScrollValue: number) => void; /** The data-cy */ componentContext?: string; /** The margins around the component */ margins?: Props.IMargins; } export declare class ScrollingTabGroup extends React.Component, never> { static defaultProps: { anchorsUpdateUrl: boolean; }; private tabListRef; private currentlyMounted; private forceUpdateTimeout; private handleScrollUpdate; componentDidMount(): void; componentWillUnmount(): void; componentDidUpdate(prevProps: Readonly): Promise | undefined; render(): JSX.Element | null; scrollLeft: () => Promise; scrollRight: () => Promise; private get leftChevron(); private get rightChevron(); private get tabList(); private sideComponent; private listItemForTab; private indexForTab; private get currentTabIndex(); private handleScrollValueChange; private handleScrollButton; private handleScrollToTab; private handleClickTab; }