import { type AvatarProps, type MenuProps } from '@mui/material'; import { type FunctionComponent, type PropsWithChildren, type ReactNode } from 'react'; import type { WithoutEmotionSpecific } from '../types'; export type ProfileMenuItemData = { icon: ReactNode; title: ReactNode; onClick?: () => void; /** * @example * const renderItem: ProfileMenuItemData['render'] = ({ title, icon }) => ( * * * {title} * * {icon} * * ); */ render?: FunctionComponent>; }; export type ProfileProps = { /** * Имя профиля */ displayName: string; /** * Дополнительная информация (например email или username) */ annotation?: string; /** * Аватарка профиля */ avatar?: AvatarProps; /** * Кастомный рендер menu. Перекрывает menuList и exitButton */ menu?: (props: PropsWithChildren>) => JSX.Element; /** * Рендер menu через массив данных. Перекрывает menu и может использоваться с exitButton */ menuList?: ProfileMenuItemData[]; /** * Отображение кнопки выхода и действие на нее */ exitButton?: { onClick: () => void; }; /** * Скрытие персональных данных от инструментов мониторинга */ isHidePersonalData?: boolean; }; export declare const Profile: import("react").ForwardRefExoticComponent>; export default Profile;