import type { LucideIcon } from 'lucide-react'; import type { ComponentProps, FC, PropsWithChildren, ReactNode } from 'react'; import type { NavLinkProps, useLocation } from 'react-router'; import type { NavbarProps } from '../Navbar'; import { Sidebar } from '../Sidebar'; export type LayoutSidebarItem = { pathname: string; title: string; Icon?: LucideIcon; hidden?: boolean; items?: LayoutSidebarItem[]; }; export type LayoutSidebarProps = ComponentProps & { basePath?: string; header?: ReactNode; items: (({ type: 'item'; } & LayoutSidebarItem) | { type: 'group'; title?: string; hidden?: boolean; items: LayoutSidebarItem[]; })[]; extraContent?: ReactNode; footer?: ReactNode; }; export type LayoutProps = { className?: string; sidebarProps: LayoutSidebarProps; navbarProps?: NavbarProps; NavLink: FC; useLocation: typeof useLocation; }; export declare const Layout: FC>;