import { ReactNode } from 'react'; import { NormalCssProperties } from '@mui/material/styles/createMixins'; export type SidebarOptions = { isExpanded?: boolean; notExpandedSize?: NormalCssProperties["width"]; expandedSize?: NormalCssProperties["width"]; }; export type User = { firstname: string; lastname: string; picture?: string; tooltipLabel?: string; }; export type CustomRenderCallback = { isExpanded: boolean; extendSidebar: () => void; onMobileDrawerClose?: () => void; }; export type NavbarDrawerItemType = ({ type: "custom"; isSelected: boolean; } & NavbarCustomType) | { type: "separator"; } | ({ type?: "link"; } & NavbarLinkType); export type NavbarLinkType = { icon: React.JSX.Element; isSelected: boolean; action: () => void; label: string; disabled?: boolean; }; export type NavbarDrawerType = { label: string; icon: React.JSX.Element; items: NavbarDrawerItemType[]; }; export type NavbarCustomType = { render: (options: CustomRenderCallback) => ReactNode; }; export type NavbarButtonType = { type: "separator"; } | ({ type: "custom"; } & NavbarCustomType) | ({ type: "drawer"; } & NavbarDrawerType) | ({ type: "link"; } & NavbarLinkType) | ({ type: "topLink"; } & NavbarLinkType); export type SidebarTexts = { shortenSidebar: string; logout: string; }; type OrganizationPopoverActions = { closePopover: () => void; }; export type OrganizationPopover = { element: React.JSX.Element; renderPopover?: (actions: OrganizationPopoverActions) => ReactNode; }; export type Organization = { name: string; picture?: string; tooltipLabel?: string; popover?: OrganizationPopover; }; export type NavigationMode = "mobile" | "tablet" | "desktop"; export type FoodsNavbarProps = { buttons: NavbarButtonType[]; footerButtons?: NavbarButtonType[]; connectedUser: User; organization: Organization; sidebarTexts: SidebarTexts; sidebarOptions?: SidebarOptions; logoutAction: () => void; sidebarStatusHandler: (isExpanded: boolean) => void; userActions: React.JSX.Element[]; navigationMode?: NavigationMode; onMobileDrawerClose?: () => void; }; export declare const FoodsNavbar: (props: FoodsNavbarProps) => import("react/jsx-runtime").JSX.Element; export {};