import type { AppAdminNavigationGroupContract, AppAdminPageContract, AppRouteManifestEntryV3 } from 'openxiangda-contracts/browser'; import { type ReactNode } from 'react'; import type { DeepReadonly } from './components/resource/generated-resource-definition'; export type AdminPagesInput = DeepReadonly; export type AdminNavigationInput = DeepReadonly; export interface AdminInformationArchitecture { pages: readonly Readonly[]; pagesByCode: ReadonlyMap>; navigation: readonly Readonly[]; centers?: readonly Readonly[]; } export declare function createAdminInformationArchitecture(pagesInput: AdminPagesInput, navigationInput: AdminNavigationInput): AdminInformationArchitecture; export declare function AdminInformationArchitectureProvider({ children, pages, navigation, standardRoutes, }: { standardRoutes?: readonly Readonly[]; children: ReactNode; pages: AdminPagesInput; navigation: AdminNavigationInput; }): import("react/jsx-runtime").JSX.Element; export declare function useAdminInformationArchitecture(): AdminInformationArchitecture; export declare function isAdminPageAllowed(page: Readonly, hasCapability: (capability: string) => boolean, hasReadCapability: (capability: string) => boolean, isOperationAllowed?: (routeCode: string) => boolean): boolean; export declare function firstAllowedAdminPath(architecture: AdminInformationArchitecture, hasCapability: (capability: string) => boolean, hasReadCapability: (capability: string) => boolean, isOperationAllowed?: (routeCode: string) => boolean): string | undefined; /** Entry availability follows explicit navigation, never the number of models. */ export declare function resolveAdminEntry(...args: Parameters): { kind: 'page'; path: string; } | { kind: 'not-configured' | 'forbidden'; }; //# sourceMappingURL=admin-information-architecture.d.ts.map