import { FC, ReactNode } from 'react'; /** * NavLink Props Interface * * Generic navigation link component that accepts all data via props. * No dependencies on routing libraries - pure presentation component. */ export interface NavLinkProps { /** Link text/label */ label: string; /** Optional icon (left side) */ icon?: ReactNode; /** Optional badge content (right side) */ badge?: string | number; /** Whether this link is currently active */ isActive?: boolean; /** Whether this link is disabled */ disabled?: boolean; /** Click handler */ onClick?: () => void; /** Optional href for native links */ href?: string; /** Visual variant */ variant?: 'default' | 'compact' | 'sidebar'; /** Additional CSS classes */ className?: string; /** ARIA label for accessibility */ ariaLabel?: string; } /** * NavLink Component * * Generic navigation link for app shells. Pure presentation component * that accepts all data via props. * * Features: * - Active state indication * - Icon support * - Badge support (notifications, counts) * - Disabled state * - Multiple variants (default, compact, sidebar) * - Accessible navigation * * Uses semantic tokens for styling, which must be provided by the shell. * * @example * ```tsx * } * isActive={currentPath === '/dashboard'} * onClick={() => navigate('/dashboard')} * /> * * } * badge={5} * onClick={() => navigate('/notifications')} * /> * ``` */ export declare const NavLink: FC; //# sourceMappingURL=NavLink.d.ts.map