import { PropsWithChildren } from 'react'; type MenuItem = { id: string; title: string; icon?: React.ReactNode; type: 'item' | 'group' | 'collapse'; url: string; resource?: boolean; roles?: string[]; children?: MenuItem[]; breadcrumbs?: boolean; }; type MenuGroup = MenuItem & { parent?: MenuGroup; children?: MenuGroup[]; }; type MenuBreadcrumb = MenuItem & { parent?: MenuBreadcrumb; last?: boolean; }; type MenuPermissions = string[] | undefined; type MenuProviderContextProps = { openItem: string[]; openComponent: string; selectedID: string | null; drawerOpen: boolean; error: any; menu: MenuItem[]; activeItem: (openItem: string[]) => void; openDrawer: (drawerOpen: boolean) => void; activeID: (selectedID: string | null) => void; hasError: (error: any) => void; setMenu: (menu: MenuItem[]) => void; }; type MenuProviderProps = PropsWithChildren<{ menu: MenuItem[]; }>; declare function MenuConfigProvider({ menu, children }: MenuProviderProps): import("react/jsx-runtime").JSX.Element; declare function useMenuContext(): MenuProviderContextProps; type UseMenuProps = { menu: MenuGroup[] | null; isLoading: boolean; getItem: (id: string) => MenuItem | undefined; findInMenu: (menu: MenuGroup[], id: string) => MenuItem | undefined; }; declare function useMenu(): UseMenuProps; declare function useBreadcrumbs(): { isLoading: boolean; navigation: { items: MenuGroup[] | null; }; breadcrumbs: MenuBreadcrumb[]; }; declare function useMenuConfig(): MenuProviderContextProps; export type { MenuBreadcrumb, MenuGroup, MenuItem, MenuPermissions, MenuProviderContextProps, MenuProviderProps, UseMenuProps }; export { MenuConfigProvider, useBreadcrumbs, useMenu, useMenuConfig, useMenuContext }; //# sourceMappingURL=MenuProvider.d.ts.map