import type { AvatarImageProps, AvatarProps, DropdownItemProps, DropdownProps, ListBoxProps } from '@heroui/react'; import type { SidebarNavigationItem, SidebarChildNavigationItem } from './SidebarNavigation'; /** * Primary UI component for Dashboard Sidebars */ interface SidebarItem { key: string; align?: 'top' | 'center' | 'bottom'; } interface SidebarItemNavigation extends SidebarItem { type: 'navigation'; label?: string; navigation: SidebarNavigationItem[]; listboxProps?: Omit, 'children'>; } interface SidebarItemUser extends SidebarItem { type: 'user'; avatar?: AvatarProps & AvatarImageProps; name: string; description?: string; dropdown?: Omit; dropdownItems?: (Omit & { label: string; })[]; } interface SidebarItemCustom extends SidebarItem { type: 'custom'; render: React.ReactNode; showCollapsedOnly?: boolean; showExpandedOnly?: boolean; } type SidebarItemVariants = SidebarItemNavigation | SidebarItemUser | SidebarItemCustom; export interface SidebarProps { items: SidebarItemVariants[]; layout?: 'auto' | 'collapsed' | 'expanded'; currentPath?: string; } export type { SidebarNavigationItem, SidebarChildNavigationItem }; export declare const Sidebar: React.FC;