import * as react_jsx_runtime from 'react/jsx-runtime'; import { ReactNode } from 'react'; import { DavepiUiConfig, ResourceConfig } from '@davepi/ui-core'; /** * App-wide configuration context for davepi-ui. * * Two layers compose: * 1. App-wide config from `davepi-ui.config.ts` — branding, base URL, * sidebar categories, widget overrides, default per-resource shape. * 2. Per-resource override files (the consumer's `src/resources/*.ts(x)` * auto-discovered via Vite glob in the app shell) — passed in via * `resourceOverrides` keyed by short path. * * `useResourceConfig(path)` returns the deep-merged effective config for * one resource — caller consumes it directly. Override merge order * follows the plan: built-in default ← describe hint ← app-wide config * ← per-resource override file ← inline JSX prop. * * @example * * * */ interface DavepiConfigContextValue { config: DavepiUiConfig; /** Per-resource overrides keyed by short path (consumer-supplied files). */ resourceOverrides: Record; /** Merged effective config for a single resource. */ resolveResource(path: string): ResourceConfig; } interface ConfigProviderProps { config: DavepiUiConfig; resourceOverrides?: Record; children: ReactNode; } declare function ConfigProvider({ config, resourceOverrides, children, }: ConfigProviderProps): react_jsx_runtime.JSX.Element; /** Access the raw app-wide config + override map. */ declare function useDavepiConfig(): DavepiConfigContextValue; /** Effective merged config for one resource. */ declare function useResourceConfig(path: string): ResourceConfig; export { ConfigProvider, type ConfigProviderProps, type DavepiConfigContextValue, useDavepiConfig, useResourceConfig };