import { NavigationItemDBSchema, NavigationItemType } from '../schemas'; import { NavigationDTO } from './navigation'; export type NavigationItemDTO = Omit & { related?: NavigationItemRelatedDTO | null; items?: NavigationItemDTO[]; master?: NavigationDTO; parent?: NavigationItemDTO | null; order?: number; }; export type NavigationItemRelatedDTO = { __type: string; documentId: string; }; export type CreateBranchNavigationItemDTO = Omit & { id?: number; documentId?: string; items?: CreateBranchNavigationItemDTO[]; removed?: boolean; updated?: boolean; }; export type RFRNavigationItemDTO = { label: string; type: NavigationItemType; audience?: string[]; } | { label: string; type: NavigationItemType; audience?: string[]; url: string; } | { label: string; type: NavigationItemType; audience?: string[]; page: string; }; export type RFRPageDTO = Pick & { id: NavigationItemDTO['uiRouterKey']; documentId: string; templateName?: string; related?: { contentType: string; documentId?: string; }; parent?: string; } & Record; export type RFRRenderDTO = { nav: { root: RFRNavigationItemDTO[]; } & Record; pages: Record; };