import { ComponentPropsWithoutRef } from 'react'; import { LayoutUtilProps } from '../../types'; /** * Props for the SideNav component * @extends ComponentPropsWithoutRef<"nav"> * @extends LayoutUtilProps */ export type SideNavProps = ComponentPropsWithoutRef<"nav"> & LayoutUtilProps; /** * Context props for the SideNav component */ export type SideNavContextProps = { /** * List of navigable elements in the side navigation */ links: NodeListOf | undefined; /** * Function to recalculate the list of navigable links */ reCalculateLinks: () => void; /** * Set of currently active link IDs */ activeIds: Set; /** * Function to add an ID to the active set */ addActiveId: (id: string) => void; /** * Function to remove an ID from the active set */ removeActiveId: (id: string) => void; }; export declare const SideNavContext: import('react').Context; /** * Custom hook for accessing the SideNav context. * @returns The SideNav context with links, activeIds, and utility functions * @throws Error if used outside of a SideNav component */ export declare const useSideNav: () => SideNavContextProps; /** * SideNav component for creating hierarchical navigation menus. * * Features: * - Hierarchical navigation structure with links, groups, and collapsible sections * - Keyboard navigation support with arrow keys and focus management * - Active state tracking for current page/section * - Accessible with proper ARIA roles and labels * - Automatic link recalculation for dynamic content * - Context provider for child components * - Layout utility props for positioning and spacing * * @example * * * * Introduction * * * Installation * * * * * Button * * * Input * * * */ export declare const SideNav: import('react').ForwardRefExoticComponent, HTMLElement>, "ref"> & LayoutUtilProps & import('react').RefAttributes> & { /** * SideNavLink component for individual navigation links. * * Features: * - Individual navigation links with active state support * - Keyboard navigation integration with arrow keys * - Focus management and tabindex handling * - Accessible with proper ARIA attributes * - Click and keyboard event handling * - Disabled state support * * @example * * Introduction * */ Link: import('react').ForwardRefExoticComponent, HTMLAnchorElement>, "ref">, "id" | "onKeyDown" | "onKeyUp" | "onClick"> & { id: string; active?: boolean; disabled?: boolean; onClick?: (e: import('react').MouseEvent, id: import('./SideNavLink').SideNavLinkProps["id"]) => void; onKeyDown?: (e: import('react').KeyboardEvent, id: import('./SideNavLink').SideNavLinkProps["id"]) => void; onKeyUp?: (e: import('react').KeyboardEvent, id: import('./SideNavLink').SideNavLinkProps["id"]) => void; } & import('react').RefAttributes>; /** * SideNavCollapsible component for expandable navigation sections. * * Features: * - Expandable/collapsible navigation sections * - Controlled and uncontrolled expansion states * - Keyboard navigation with arrow keys for expansion * - Automatic expansion when child links are active * - Accessible with proper ARIA expanded states * - Visual indicators for active children * * @example * * * Button * * * Input * * */ Collapsible: import('react').ForwardRefExoticComponent, HTMLLIElement>, "ref">, "onClick"> & { label: string; onClick?: ComponentPropsWithoutRef<"button">["onClick"]; onKeyDown?: ComponentPropsWithoutRef<"button">["onKeyDown"]; defaultExpanded?: boolean; expanded?: boolean; } & import('react').RefAttributes>; /** * SideNavGroup component for grouping related navigation links. * * Features: * - Groups related navigation links with labels * - Accessible with proper ARIA labeling * - Semantic grouping for screen readers * - Consistent styling and spacing * * @example * * * Introduction * * * Installation * * */ Group: import('react').ForwardRefExoticComponent, HTMLLIElement>, "ref"> & { label: string; } & import('react').RefAttributes>; };