type SidebarItemType = 'branch' | 'item';

export interface LeftSidebarSection {
  heading: string;
  items: LeftSidebarSectionItem[];
}

export interface LeftSidebarSectionItem {
  label: string;
  path: string;
  href: string;
}

export interface LeftSidebarNode {
  id: number;
  label?: string;
  link?: string;
  selected?: boolean;
  expanded?: boolean;
  nodes: number[] | undefined;
  depth: number;
  type: SidebarItemType;
  href: string | null;
}

export interface TreeOnClickData<T> {
  node: T;
  select: boolean;
  treeIndex: string;
}
