import './Tabs.css'; import React from 'react'; import { IconProps, IconPropSize } from '../../icons/Icon/Icon'; import { PropsWithHTMLAttributesAndRef } from '../../utils/types/PropsWithHTMLAttributes'; import { cnTabsTab, TabsTab } from './Tab/TabsTab'; export declare const tabsSizes: readonly ["m", "s"]; export declare type TabsPropSize = typeof tabsSizes[number]; export declare const tabsDefaultSize: TabsPropSize; export declare const tabsViews: readonly ["bordered", "clear"]; export declare type TabsPropView = typeof tabsViews[number]; export declare const tabsDefaultView: TabsPropView; export declare type TabsPropGetLabel = (item: ITEM) => string | number; export declare type TabsPropGetIcon = (item: ITEM) => React.FC | undefined; export declare type TabsPropOnChange = (props: { e: React.MouseEvent; value: ITEM; }) => void; declare type RenderItemProps = { item: ITEM; ref: React.RefObject; key: string | number; onChange: React.MouseEventHandler; checked: boolean; label: string; icon?: React.FC; iconSize: IconPropSize; onlyIcon?: boolean; className: string; }; declare type RenderItem = (props: RenderItemProps) => React.ReactElement | null; export declare type TabsProps = PropsWithHTMLAttributesAndRef<{ size?: TabsPropSize; onlyIcon?: boolean; view?: TabsPropView; iconSize?: IconPropSize; items: ITEM[]; value?: ITEM | null; getIcon?: TabsPropGetIcon; getLabel: TabsPropGetLabel; children?: never; onChange: TabsPropOnChange; renderItem?: RenderItem; }, HTMLDivElement>; declare type Tabs = (props: TabsProps, ref: React.Ref) => React.ReactElement | null; export declare const cnTabs: import("@bem-react/classname").ClassNameFormatter; export declare const Tabs: Tabs; export { TabsTab, cnTabsTab };