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;
}