export interface NavigationLocalizedText { [locale: string]: string; } export interface NavigationItemConfig { id: string; labelKey?: string; label?: string | NavigationLocalizedText; route?: string; type?: string; key?: string; icon?: string; order?: number; visible?: boolean; visibleWhenFlags?: string[]; children?: NavigationItemConfig[]; } export interface FooterNavigationItemConfig { type: string; key?: string; label?: string | NavigationLocalizedText; labelKey?: string; route?: string; visible?: boolean; } export interface FooterNavigationGroupConfig { groupTitle?: string | NavigationLocalizedText; items: FooterNavigationItemConfig[]; } export interface NavigationConfig { header: NavigationItemConfig[]; footer: NavigationItemConfig[] | FooterNavigationGroupConfig[]; sidebar?: NavigationItemConfig[]; }