import React from 'react'; import type { EntityDict } from 'oak-domain/es/types'; import type { EntityDict as BaseEntityDict } from 'oak-domain/es/base-app-domain'; import type { RouteAccess } from '../../features/routeAccess'; import type { OakIconLibraryConfig } from '../../types/Icon'; import type { UnconfiguredRouteAccessPolicy } from './RouteAccessBoundary'; export type NamespaceMenuGroup = { name: string; icon?: string; order?: number; }; export type NamespaceMenuItem = { name: string; icon?: string; group?: string; order?: number; url: string; fullPath: string; access?: RouteAccess; }; export type NamespaceRouteConfig = { path?: string; first?: string; notFound?: string; params?: Record; }; export type NamespaceAccessConfig = { unconfiguredAccess?: UnconfiguredRouteAccessPolicy; }; export type NamespaceConfig = { route?: NamespaceRouteConfig; menu?: { groups?: ReadonlyArray; items?: ReadonlyArray>; }; access?: NamespaceAccessConfig; features?: Record; iconLibraries?: ReadonlyArray; }; export type NamespaceConfigs = Readonly>>; export declare function NamespaceConfigProvider(props: { configs?: NamespaceConfigs; children: React.ReactNode; }): React.JSX.Element; export declare function useNamespaceConfigs(): NamespaceConfigs; export declare function useNamespaceConfig(namespace: string): NamespaceConfig | undefined;