import type { LucideIcon } from 'lucide-react' import type { FileItemDTO as FileItem } from './file.js' export type { HttpMethod, EndpointConfig, EndpointDefinition, ModuleEndpoints, ModuleApiConfig, ModuleDefinition, ApiModuleConfig, } from '../modules/types.js' export type Brand = T & { __brand: TBrand } export type ModuleId = Brand import type { ModuleDefinition, ModuleEndpoints } from '../modules/types.js' export interface FrontendModuleConfig< TEndpoints extends ModuleEndpoints = ModuleEndpoints > extends Omit, 'icon' | 'basePath'> { basePath?: string icon: LucideIcon component: React.ComponentType } export interface InternalModuleConfig extends FrontendModuleConfig { tabId: string fileItem: FileItem } export const createModuleId = (id: string): ModuleId => { return id as ModuleId }