import { ReactElement, ReactNode } from 'react'; import PropTypes from 'prop-types'; import { TabProps as MuiTabProps } from '@mui/material'; import { Record } from '../../features/core'; /** * Tab element for the SimpleShowLayout. * * The `` component accepts the following props: * * - label: The string displayed for each tab * - icon: The icon to show before the label (optional). Must be a component. * - path: The string used for custom urls * * @example * // in src/posts.js * import * as React from "react"; * import FavoriteIcon from '@mui/icons-material/Favorite'; * import PersonPinIcon from '@mui/icons-material/PersonPin'; * import { Show, TabbedShowLayout, Tab, TextField } from '../../app'; * * export const PostShow = (props) => ( * * * }> * * * * } path="metadata"> * * * * * ); * * // in src/App.js * import * as React from "react"; * import { Admin, Resource } from '../../app'; * * import { PostShow } from './posts'; * * const App = () => ( * * * * ); * export default App; */ export declare const Tab: { ({ basePath, children, contentClassName, context, className, icon, label, record, resource, syncWithLocation, value, ...rest }: TabProps): JSX.Element; propTypes: { className: PropTypes.Requireable; contentClassName: PropTypes.Requireable; children: PropTypes.Requireable; context: PropTypes.Requireable; icon: PropTypes.Requireable; label: PropTypes.Validator; path: PropTypes.Requireable; value: PropTypes.Requireable; }; }; export interface TabProps extends Omit { basePath?: string; children: ReactNode; contentClassName?: string; context?: 'header' | 'content'; className?: string; icon?: ReactElement; label: string; path?: string; record?: Record; resource?: string; syncWithLocation?: boolean; value?: string | number; }