/** * Component Registry — Svelte Context-based DI for component injection. * * Allows users to override any registered component via the `components` * prop on `AdminApp`, while providing sensible defaults. */ import { type Component } from 'svelte'; export interface ComponentRegistry { Layout: Component; Sidebar: Component; Header: Component; LoginPage: Component; AutoTable: Component; AutoForm: Component; ShowPage: Component; ErrorPage?: Component; Button: Component; Input: Component; Badge: Component; Skeleton: Component; /** Custom dashboard page component (replaces default welcome message) */ DashboardPage?: Component; /** Custom breadcrumbs component (replaces built-in Breadcrumbs) */ Breadcrumbs?: Component; /** Custom theme toggle button (replaces built-in Sun/Moon toggle) */ ThemeToggle?: Component; /** Custom user menu / avatar dropdown in the header */ UserMenu?: Component; /** Custom notification panel / bell icon in the header */ NotificationPanel?: Component; /** Custom task queue drawer / task center trigger in the header */ TaskQueueDrawer?: Component; } /** Set the component registry in context (called by AdminApp). */ export declare function setComponentRegistry(registry: ComponentRegistry): void; /** Retrieve the full component registry from context. */ export declare function getComponentRegistry(): ComponentRegistry; /** Retrieve a single component by name from the registry. */ export declare function useComponent(name: K): ComponentRegistry[K];