import { ReactNode } from 'react'; import { ConfiguredComponent } from '@befe/brick-core'; import { MenuItemId, MenuProps, MenuItemObject, NavProps, MenuPopperProps } from '@befe/brick-comp-menu'; /** * @public */ export interface HeadNavMenuItemObject extends Omit { } type PropsFromMenu = Pick; type PropsFromNavProps = Omit, 'menuExpandedIds' | 'menuDefaultExpandedIds'>; export interface HeadNavProps extends PropsFromMenu, PropsFromNavProps { /** * 自定义 class */ className?: string; /** * logo */ logo?: ReactNode; /** * 头像 url */ avatar?: string; /** * 用户概要,一般为 姓名(工号) */ userInfo?: ReactNode; /** * 用户菜单 */ userMenu?: HeadNavMenuItemObject[]; /** * @todo * 用户旁附加内容,(预留)尚无设计细则 */ userExtra?: ReactNode; } interface HeadNavState { menuSelectedIds: MenuItemId[]; isUserMenuVisible: boolean; } export declare class HeadNav extends ConfiguredComponent { static displayName: string; static defaultProps: { className: string; reverseColor: boolean; }; static getDerivedStateFromProps(nextProps: HeadNavProps): Partial | null; state: HeadNavState; constructor(props: HeadNavProps); get className(): string; get themeBaseSize(): "sm" | "md"; get hasUserMenu(): boolean; handleChangeSelectedIds: MenuProps['onChangeSelectedIds']; handleChangeUserMenuPopper: MenuPopperProps['onChange']; renderMenuItem: (item: HeadNavMenuItemObject, index: number, level?: number) => import("react/jsx-runtime").JSX.Element; renderLogo(): import("react/jsx-runtime").JSX.Element; renderMenu(): import("react/jsx-runtime").JSX.Element | null; renderUserExtra(): import("react/jsx-runtime").JSX.Element | null; renderUserMenuItem(item: HeadNavMenuItemObject): import("react/jsx-runtime").JSX.Element; getUserMenuSelectedIds(menuItems: HeadNavMenuItemObject[]): MenuItemId[]; renderUserMenu(): import("react/jsx-runtime").JSX.Element; renderUserInfo(): import("react/jsx-runtime").JSX.Element; renderUser(): import("react/jsx-runtime").JSX.Element; renderShadowMenu(): import("react/jsx-runtime").JSX.Element | null; render(): import("react/jsx-runtime").JSX.Element; } export {};