import type { NavigationRoute } from '@donotdev/core';
/**
 * Enhanced navigation item interface for UI components
 */
export interface NavigationItem extends NavigationRoute {
    /** Whether this item is currently active based on current route */
    isActive: boolean;
    /** Whether this item has child routes */
    hasChildren: boolean;
    /** Nested child navigation items */
    children?: NavigationItem[];
}
/**
 * Smart navigation hook with auth filtering
 *
 * Use this for UI menus, sidebars, and navigation components that should
 * only show routes the user can access.
 *
 * @version 0.0.1
 * @since 0.0.1
 * @author AMBROISE PARK Consulting
 * @returns Array of navigation items filtered by auth state
 *
 * @example
 * ```tsx
 * function SidebarMenu() {
 *   const menuItems = useNavigationItems();
 *   return <nav>{menuItems.map(item => <MenuItem key={item.path} item={item} />)}</nav>;
 * }
 * ```
 */
export declare function useNavigationItems(): NavigationItem[];
/**
 * Resolves a single navigation item from the store by path.
 *
 * Returns `undefined` if the path is not registered or the user lacks access.
 * Use this to compose a standalone Button-style nav link without reaching for
 * a full NavigationMenu.
 *
 * @version 0.0.1
 * @since 0.0.1
 * @author AMBROISE PARK Consulting
 *
 * @example
 * ```tsx
 * const route = useNavigationRoute('/pricing');
 * if (!route) return null;
 * return (
 *   <Button
 *     variant="ghost"
 *     display={DISPLAY.AUTO}
 *     icon={<Icon icon={route.icon} fallback={LinkIcon} />}
 *     render={({ children, ...props }) => (
 *       <Link path={route.path} {...props}>{children}</Link>
 *     )}
 *   >
 *     {route.label}
 *   </Button>
 * );
 * ```
 */
export declare function useNavigationRoute(path: string): NavigationItem | undefined;
//# sourceMappingURL=useNavigation.d.ts.map