import type { SidebarBadge } from '../theme'; export interface DocsNavItem { title: string; href: string; slug: string; section?: string; icon?: string; order: number; } export interface DocsSidebarItem { label: string; href?: string; collapsed?: boolean; external?: boolean; icon?: string; badge?: SidebarBadge; order?: number; slug?: string; items?: DocsSidebarItem[]; } export interface DocsSidebarGroupNav { title: string; items: DocsSidebarItem[]; } export interface DocsSidebarNav { links: DocsSidebarItem[]; groups: DocsSidebarGroupNav[]; } export interface DocsSectionNav { slug: string; label: string; icon?: string; href: string; active: boolean; items: DocsNavItem[]; } export interface DocsPaginationItem { label: string; href: string; slug: string; } export interface DocsPaginationNav { previous?: DocsPaginationItem; next?: DocsPaginationItem; } export interface SidebarContentEntry { slug: string; title: string; icon?: string; order: number; hidden: boolean; } export type SidebarIssue = | { type: 'duplicate-section'; sectionSlug: string; labels: string[]; } | { type: 'missing-entry'; sectionSlug: string; slug: string; } | { type: 'empty-autogenerate'; sectionSlug: string; directory: string; } | { type: 'duplicate-entry'; slug: string; firstSection: string; duplicateSection: string; }; export interface ResolvedSidebars { sidebars: Record; issues: SidebarIssue[]; }