UNPKG

@rsc-labs/nocto-plugin-system

Version:

Pluggable registry system for Nocto plugins

34 lines (33 loc) 851 B
import { NoctoPluginDefinition } from "../types/nocto-plugin"; export type SidebarItem = { path: string; label: string; icon?: React.ComponentType<{ className?: string; }>; permissions?: string[]; items?: SidebarItem[]; }; type FinalSidebarItem = { id: string; path: string; label: string; icon?: React.ComponentType<{ className?: string; }>; order: number; permissions?: string[]; items?: SidebarItem[]; }; type SidebarConfigMap = Record<string, { order?: number; }>; declare class SidebarRegistryClass { private sidebarConfig; setConfig(config: SidebarConfigMap): void; register(plugin: NoctoPluginDefinition): void; getAll(): FinalSidebarItem[]; getSorted(): FinalSidebarItem[]; } export declare const SidebarRegistry: SidebarRegistryClass; export {};