// Define TypeScript interfaces for menu structure interface LanguageTranslation { tr: string; en: string; } interface MenuThirdLevel { name: string; lg: LanguageTranslation; siteUrl: string; } interface MenuSecondLevel { name: string; lg: LanguageTranslation; subList: MenuThirdLevel[]; } interface MenuFirstLevel { name: string; lg: LanguageTranslation; subList: MenuSecondLevel[]; } // Define interfaces for the filtered menu structure interface FilteredMenuThirdLevel { name: string; lg: LanguageTranslation; siteUrl: string; } interface FilteredMenuSecondLevel { name: string; lg: LanguageTranslation; subList: FilteredMenuThirdLevel[]; } interface FilteredMenuFirstLevel { name: string; lg: LanguageTranslation; subList: FilteredMenuSecondLevel[]; } interface PageProps { lang: keyof LanguageTranslation; queryParams?: { [key: string]: string | undefined }; } type PageComponent = React.ComponentType; export type LanguageKey = "en" | "tr"; export interface TranslationSet { showing: string; of: string; items: string; total: string; filtered: string; page: string; previous: string; next: string; itemsPerPage: string; } export type { PageComponent, PageProps, MenuFirstLevel, MenuSecondLevel, MenuThirdLevel, FilteredMenuFirstLevel, FilteredMenuSecondLevel, FilteredMenuThirdLevel, LanguageTranslation, };