// Типы для Navigation Demo модульной архитектуры

export interface NavigationState {
  activeTab: string
  currentStep: number
  sidebarCollapsed: boolean
  expandedMenus: string[]
  darkMode: boolean
  notifications: boolean
}

export interface MenuExpansionProps {
  expandedMenus: string[]
  onToggleMenu: (menuId: string) => void
}

export interface SidebarsBlockProps {
  sidebarCollapsed: boolean
  expandedMenus: string[]
  onToggleSidebar: (collapsed: boolean) => void
  onToggleMenu: (menuId: string) => void
}

export interface NavigationMenuBlockProps {
  activeTab: string
  onTabChange: (tab: string) => void
}

export interface TabsBlockProps {
  activeTab: string
  onTabChange: (tab: string) => void
}

export interface BreadcrumbsBlockProps {
  currentPath: number
  onPathChange: (pathIndex: number) => void
}

export interface PaginationBlockProps {
  currentPage: number
  totalPages: number
  pageSize: number
  onPageChange: (page: number) => void
  onPageSizeChange: (size: number) => void
}

export interface UseNavigationStateReturn {
  activeTab: string
  onTabChange: (tab: string) => void
}

export interface UseMenuExpansionReturn {
  expandedMenus: string[]
  toggleMenu: (menuId: string) => void
  expandMenu: (menuId: string) => void
  collapseMenu: (menuId: string) => void
}