import React, { FC, ComponentType, HTMLAttributes, ReactElement, ReactNode, Ref } from 'react'; import { DropdownButtonProps } from './DropdownButton'; import { Bivariant } from './typeUtils'; /** * */ type TabKey = string | number; export type TabType = 'default' | 'scoped'; /** * */ export type TabContentProps = { active?: boolean; } & HTMLAttributes; /** * */ export type TabMenuProps = DropdownButtonProps; /** * */ export type TabItemRendererProps = { type?: TabType; title?: string; alt?: string; menu?: ReactElement; menuItems?: ReactElement[]; menuIcon?: string; eventKey?: TabKey; activeKey?: TabKey; activeTabRef?: Ref; children?: ReactNode; onTabClick?: Bivariant<(eventKey: TabKey) => void>; onTabKeyDown?: Bivariant<(eventKey: TabKey, e: React.KeyboardEvent) => void>; tooltip?: ReactNode; tooltipIcon?: string; }; /** * */ export type TabItemProps = { tabItemRenderer?: ComponentType; rendererProps?: Omit; } & Omit; /** * */ export type TabProps = { className?: string; eventKey?: TabKey; children?: ReactNode; } & TabItemProps; export declare const Tab: (props: TabProps) => React.JSX.Element; /** * */ export type TabsProps = { className?: string; type?: TabType; defaultActiveKey?: TabKey; activeKey?: TabKey; children?: ReactNode; onSelect?: Bivariant<(tabKey: TabKey) => void>; }; /** * */ export declare const Tabs: FC; export {};