import type { CapabilityManifest } from '../contracts/capability'; import type { PageRuntimeProjection } from '../contracts/page'; import type { PageDefinition } from '../contracts/page'; import type { ProductDeclaration } from '../contracts/semantic'; import type { ApplicationHandoff, ProductContext, ViewProviderDescriptor } from '../contracts/render'; import type { PageAccessContext, PageAccessDecision } from './page-compiler'; import { type CompiledProductDeclaration } from './declaration-compiler'; export declare const APPLICATION_HANDOFF_QUERY_PARAMETER = "monkeys-handoff"; export interface ProductRuntimeCatalogInput { product: ProductContext; declaration: ProductDeclaration; providers: readonly ViewProviderDescriptor[]; } export interface ProductRuntimeCatalog { product: ProductContext; declaration: CompiledProductDeclaration; pages: readonly PageDefinition[]; capabilities: readonly CapabilityManifest[]; providers: readonly ViewProviderDescriptor[]; pagesById: ReadonlyMap; pagesByRouteId: ReadonlyMap; capabilitiesById: ReadonlyMap; providersById: ReadonlyMap; projection: PageRuntimeProjection; document: PageRuntimeProjection; navigation: readonly PageDefinition[]; evaluateAccess(pageId: string, context: PageAccessContext): PageAccessDecision; matchPage(pathname: string): PageDefinition | undefined; matchRoute(pathname: string): PageDefinition | undefined; requireRenderer(pageId: string): PageRuntimeProjection['renderers'][number]; } export declare const compileProductRuntimeCatalog: (input: ProductRuntimeCatalogInput) => ProductRuntimeCatalog; export declare const serializeApplicationHandoff: (handoff: ApplicationHandoff) => string; export declare const parseApplicationHandoff: (value: string | null | undefined) => ApplicationHandoff | undefined; export declare const readApplicationHandoffFromUrl: (input: string | URL) => ApplicationHandoff | undefined; export declare const buildApplicationHandoffUrl: (targetPath: string, handoff: ApplicationHandoff) => string; //# sourceMappingURL=product-runtime.d.ts.map