import { ReactNode } from '../../../../node_modules/.pnpm/react@19.1.1/node_modules/react'; export type NavigationMatchMode = "exact" | "prefix"; export type NavigationVisibilityContext = unknown; export type NavigationMatchInput = { pathname: string; item: NavigationItem; context?: TContext; }; export type NavigationMatch = NavigationMatchMode | ((input: NavigationMatchInput) => boolean); export type NavigationItemBadgeTone = "neutral" | "attention" | "danger" | "warning" | "success"; export type NavigationItemBadgeConfig = { value: ReactNode; tone?: NavigationItemBadgeTone; label?: string; ariaLabel?: string; hideWhenZero?: boolean; }; export type NavigationItem = { id: string; label: ReactNode; href?: string; icon?: ReactNode; children?: NavigationItem[]; disabled?: boolean; badge?: ReactNode | NavigationItemBadgeConfig; tooltip?: ReactNode; meta?: TMeta; match?: NavigationMatch; }; export type NavigationGuardInput = { item: NavigationItem; context?: TContext; depth: number; parentId: string | null; parentIds: string[]; }; export type NavigationGuard = (input: NavigationGuardInput) => boolean; export type FilterNavigationItemsOptions = { context?: TContext; guard?: NavigationGuard; }; export type FlatNavigationItem = { item: NavigationItem; depth: number; parentId: string | null; parentIds: string[]; }; export type NavigationItemActiveState = FlatNavigationItem & { id: string; isActive: boolean; isAncestorActive: boolean; matchedBy: NavigationMatchMode | "custom" | null; }; export type ActiveNavigationState = { activeItemId: string | null; activeItemIds: string[]; ancestorItemIds: string[]; expandedItemIds: string[]; itemsById: Record>; }; export type NavigationValidationIssueCode = "duplicate-id" | "missing-id"; export type NavigationValidationIssue = { code: NavigationValidationIssueCode; itemId: string; message: string; parentIds: string[]; }; export type ValidateNavigationItemsOptions = { throwOnError?: boolean; }; export type NavigationValidationResult = { valid: boolean; issues: NavigationValidationIssue[]; }; //# sourceMappingURL=navigation.types.d.ts.map