import { Component } from 'react';
import { IBaseTabsProps } from '../../types';
import { NonUndefined } from 'utility-types';
declare abstract class BaseTabs<Id, InnerTab, TabPanelProps, TabsProps extends IBaseTabsProps<Id, TabPanelProps>> extends Component<TabsProps> {
    abstract get tabsCls(): string;
    abstract getTabDataListFromTabs(tabs: NonUndefined<TabsProps['tabs']>): InnerTab[];
    abstract getTabDataListFromChildren(children: NonUndefined<TabsProps['children']>): InnerTab[];
    abstract renderNav(tabDataList: InnerTab[]): React.ReactNode;
    abstract renderTabPanel(tabDataList: InnerTab): React.ReactNode;
    renderWithPanel(): JSX.Element;
    renderWithoutPanel(): JSX.Element;
    render(): JSX.Element;
}
export default BaseTabs;
