import * as React from 'react'; import './navigation-tabs.styles.scss'; import { PopoverProps, TooltipProps } from '../ant-design'; /** * NavigationTabs Optional Props * * @memberof NavigationTabs */ interface NavigationTabsOptionalProps { /** * Overrides the active tab */ activeTabKey: string; } /** * NavigationTabs Props: * Has optional activeTabKey: string, * * @memberof NavigationTabs */ export interface NavigationTabsProps extends Required { /** * Takes an array of Tabs. For typescript you can export Tab interface. * Tab: * { * className: string, * iconClassName?: string, * icon?: Element | JSX.Element | HTMLElement, * additionalTabStyle?: React.CSSProperties, * additionalTabText?: string, * additionalTabElements?: Element | JSX.Element | HTMLElement, * displayName: string, * key: string, * } */ tabs: Tab[]; /** * Passes clicked Tab via callback */ onTabClick: (clickedTab: Tab) => void; } /** * NavigationTabs State * @memberof NavigationTabs */ interface NavigationTabsState { /** * A State prop. ~~ Replace this with your state props */ activeTabKey: string; } /** * The NavigationTabs component. */ declare class NavigationTabs extends React.Component { /** * Default properties */ static defaultProps: Required; constructor(props: NavigationTabsProps); componentDidUpdate(prevProps: NavigationTabsProps): void; changeTabs: (newTab: Tab) => void; renderInnerNavigationTab: (tab: Tab, activeTabKey: string) => JSX.Element; renderNavigationTab: (tab: Tab) => JSX.Element; render(): JSX.Element; } export interface Tab { className: string; iconClassName?: string; icon?: Element | JSX.Element | HTMLElement; additionalTabStyle?: React.CSSProperties; additionalTabText?: string; additionalTabElements?: Element | JSX.Element | HTMLElement; displayName: string; key: string; popover?: PopoverProps; tooltip?: TooltipProps; } export { NavigationTabs };