export interface NavLeftHandSideItem { id: ModuleId; title: string; action?: string; } export interface NavLeftHandSideItemLookup extends NavLeftHandSideItem { subItems?: ModuleId[]; } export interface NavLeftHandSideItemParent extends NavLeftHandSideItem { subItems?: NavLeftHandSideItem[]; } export type ModuleLookup = { [key in ModuleId]?: NavLeftHandSideItemLookup; }; export type ModuleId = | "account_material" | "account_purchase" | "account_receipt" | "activity" | "asset" | "client_portal_signoff" | "company" | "contact" | "contract_period" | "contract" | "expense" | "invoice" | "issue" | "job" | "milestone" | "prospect" | "quote" | "request" | "staff" | "task"; export enum Dropzones { MODULES_DROP_ZONE = "modulesDropZone", UNPINNED_DROP_ZONE = "unpinnedDropZone" }