import { CSSObject } from 'styled-components'; import { ComponentProps, PropsWithChildren, ReactNode } from 'react'; import { TabItem, Tabs } from '../Tabs'; import { TableCollapseConfig } from '../TableCanvas/types'; import { BoxProps } from '../Box'; export type TabId = string | number; export type TTabItem = { tabId: T; label: ReactNode; } & ComponentProps; export type TCustomTabItem = { tabId: T; custom: ReactNode; }; export type TCustomOrNotTab = TTabItem | TCustomTabItem; export type TTabsProps = ComponentProps; export type TTabsContainerOptions = { maxWidth?: number | string; }; export type TableTabsSize = 'm' | 's' | 'xs'; export type TableTabsCollapseConfig = Pick & { enabled?: boolean; rightSlot?: ReactNode; }; export type TableTabsProps = PropsWithChildren & { tabs: TCustomOrNotTab[]; activeTabIdState?: [T, ((newV: T) => void) | ((oldV: T) => T)]; tabsProps?: TTabsProps; tabsAndPanelsContainerCss?: string | CSSObject; tabsContainerOptions?: TTabsContainerOptions; rightSlot?: ReactNode; size?: TableTabsSize; collapsing?: TableTabsCollapseConfig; }; export type TabPanelProps = { tabId: T; unmountOnClose?: boolean; } & BoxProps; export declare function isCustomTab(tab: TCustomOrNotTab): tab is TCustomTabItem;