//#region src/components/Navbar/useNavigation.d.ts
/**
 * Navigation Actions Hook
 *
 * A comprehensive hook for managing navigation interactions and scroll-based section detection.
 * Provides automatic active section detection based on scroll position and handles smooth
 * scrolling navigation behaviors.
 *
 * Features:
 * - Automatic active section detection based on scroll position
 * - Smooth scrolling to sections within the same page
 * - Logo click handling with home navigation
 * - Section click handling with conditional scrolling vs navigation
 * - Passive scroll event listeners for optimal performance
 * - Viewport-aware active section calculation (using screen height / 4 offset)
 *
 * Active Section Detection:
 * - Monitors all `<section>` elements on the page
 * - Calculates which section is currently in the "active" zone
 * - Active zone is defined as the top 25% of the viewport
 * - Updates activeSection state as user scrolls
 *
 * Navigation Behaviors:
 * - Logo click: Scrolls to top if on home page, navigates to home if on other pages
 * - Section click: Smooth scrolls if on same page, executes callback if different page
 * - All scrolling uses smooth behavior for better UX
 *
 * @example
 * Basic usage in navigation component:
 * ```tsx
 * const { activeSection, onClickLogo, onClickSection } = useNavActions();
 *
 * // In navigation items
 * const navItems = sections.map(section => (
 *   <TabSelectorItem
 *     key={section.id}
 *     isActive={activeSection === section.id}
 *     onClick={() => onClickSection(section.id, section.url, section.onClick)}
 *   >
 *     {section.label}
 *   </TabSelectorItem>
 * ));
 *
 * // In logo
 * <Logo onClick={() => onClickLogo(navigate)} />
 * ```
 *
 * @example
 * Advanced usage with routing:
 * ```tsx
 * const { activeSection, onClickLogo, onClickSection } = useNavActions();
 * const navigate = useNavigate();
 *
 * const handleLogoClick = () => {
 *   onClickLogo((url) => {
 *     navigate(url);
 *     // Additional logic like analytics
 *     trackEvent('logo_click');
 *   });
 * };
 *
 * const handleSectionClick = (sectionId: string) => {
 *   onClickSection(
 *     sectionId,
 *     `/page#${sectionId}`,
 *     () => {
 *       navigate(`/page#${sectionId}`);
 *       trackEvent('section_navigation', { sectionId });
 *     }
 *   );
 * };
 * ```
 *
 * Performance Considerations:
 * - Uses passive scroll event listeners to prevent blocking
 * - Automatically cleans up event listeners on unmount
 * - Efficiently queries DOM elements using native selectors
 * - Calculates section positions dynamically for accuracy
 *
 * @returns Object containing navigation state and action handlers
 */
declare const useNavActions: () => {
  /** Currently active section ID, null if no section is active */activeSection: string; /** Handler for logo click interactions */
  onClickLogo: (onClick: (url: string) => void) => void; /** Handler for section navigation clicks */
  onClickSection: (sectionId: string, url?: string, onClick?: () => void) => void;
};
//#endregion
export { useNavActions };
//# sourceMappingURL=useNavigation.d.ts.map