import * as React from 'react'; import PropTypes from 'prop-types'; import { TabsProps as BaseTabsProps } from '@restart/ui/Tabs'; import { NavProps } from './Nav'; import { TransitionType } from './helpers'; export interface TabsProps extends Omit, Omit, 'onSelect'>, NavProps { transition?: TransitionType; } declare const Tabs: { (props: TabsProps): JSX.Element; propTypes: { /** * Mark the Tab with a matching `eventKey` as active. * * @controllable onSelect */ activeKey: PropTypes.Requireable>; /** The default active key that is selected on start */ defaultActiveKey: PropTypes.Requireable>; /** * Navigation style * * @type {('tabs'| 'pills' | 'underline')} */ variant: PropTypes.Requireable; /** * Sets a default animation strategy for all children ``s.` animation, else use `false` to disable or a * react-transition-group `` component. * * @type {Transition | false} * @default {Fade} */ transition: PropTypes.Requireable>; /** * HTML id attribute, required if no `generateChildId` prop * is specified. * * @type {string} */ id: PropTypes.Requireable; /** * Callback fired when a Tab is selected. * * ```js * function ( * Any eventKey, * SyntheticEvent event? * ) * ``` * * @controllable activeKey */ onSelect: PropTypes.Requireable<(...args: any[]) => any>; /** * Wait until the first "enter" transition to mount tabs (add them to the DOM) */ mountOnEnter: PropTypes.Requireable; /** * Unmount tabs (remove it from the DOM) when it is no longer visible */ unmountOnExit: PropTypes.Requireable; /** * Have all `Tabs`s proportionately fill all available width. */ fill: PropTypes.Requireable; /** * Have all `Tab`s evenly fill all available width. */ justify: PropTypes.Requireable; }; displayName: string; }; export default Tabs;