import { default as React } from 'react';
export interface TopbarNavItem {
/** Unique identifier for the item */
id: string;
/** Display label */
label: string;
/** Navigation path or URL */
href?: string;
/** Click handler (alternative to href) */
onClick?: () => void;
/** Icon component */
icon?: React.ComponentType<{
className?: string;
}>;
/** Whether this item is currently active */
active?: boolean;
/** Sub-navigation items for dropdown */
children?: TopbarNavItem[];
/** Whether this item is disabled */
disabled?: boolean;
/** Custom CSS classes for this item */
className?: string;
}
export interface TopbarNavProps {
/** Navigation items to display */
items: TopbarNavItem[];
/** Additional CSS classes */
className?: string;
/** Breakpoint at which to collapse navigation into dropdown */
collapseBelow?: 'sm' | 'md' | 'lg' | 'xl';
/** Custom link component for routing integration */
LinkComponent?: React.ComponentType<{
href: string;
className?: string;
children: React.ReactNode;
}>;
/** Alignment of nav items */
align?: 'left' | 'center' | 'right';
}
/**
* TopbarNav - Navigation component with responsive collapse
*
* @example
* ```tsx
* const navItems = [
* { id: 'home', label: 'Home', href: '/' },
* { id: 'about', label: 'About', href: '/about' },
* { id: 'contact', label: 'Contact', href: '/contact' },
* ];
*
*
* ```
*/
export declare const TopbarNav: React.FC;
/**
* TopbarMobileNav - Mobile navigation dropdown menu
* Renders navigation items in a full-width dropdown on mobile
*/
export interface TopbarMobileNavProps {
/** Navigation items to display */
items: TopbarNavItem[];
/** Whether the menu is open */
isOpen?: boolean;
/** Additional CSS classes */
className?: string;
/** Custom link component for routing integration */
LinkComponent?: TopbarNavProps['LinkComponent'];
}
export declare const TopbarMobileNav: React.FC;
//# sourceMappingURL=TopbarNav.d.ts.map