import { BetterPortalApp, BetterPortalConfig, BetterPortalOriginPolicy, BetterPortalResolvedRequestContext, BetterPortalResolvedServiceBinding, BetterPortalRouteMount } from "../contracts/platformConfig.js"; import { type BetterPortalHeaderTrustOptions, HeaderMap } from "./http.js"; export interface BetterPortalConfigProvider { loadConfig(): Promise; } export type BetterPortalConfigProviderOptions = { readonly backend?: "file"; readonly configPath: string; }; export declare class FileBackedBetterPortalConfigProvider implements BetterPortalConfigProvider { private readonly configPath; constructor(configPath: string); loadConfig(): Promise; } export declare function createBetterPortalConfigProvider(options: BetterPortalConfigProviderOptions): BetterPortalConfigProvider; export declare function describeEmbeddedContextResolution(config: BetterPortalConfig, headers: HeaderMap, headerTrust?: BetterPortalHeaderTrustOptions): { candidates: string[]; appHosts: Array<{ appId: string; hosts: string[]; }>; }; export declare function resolveAppShell(config: BetterPortalConfig, app: BetterPortalApp): { serviceId: string; service: string; renderer: string; } | undefined; export interface BetterPortalContextResolutionCandidate { source: string; host: string; matchedAppId?: string; } export interface BetterPortalContextResolutionResult { context: BetterPortalResolvedRequestContext | null; candidates: BetterPortalContextResolutionCandidate[]; matchedBy?: string; matchedHost?: string; } export declare function resolveRequestContextDetailed(config: BetterPortalConfig, headers: HeaderMap, mode: "theme" | "service", headerTrust?: BetterPortalHeaderTrustOptions): BetterPortalContextResolutionResult; export declare function resolveThemeRequestContext(config: BetterPortalConfig, headers: HeaderMap, requestHost?: string, headerTrust?: BetterPortalHeaderTrustOptions): BetterPortalResolvedRequestContext | null; export declare function resolveEmbeddedRequestContext(config: BetterPortalConfig, headers: HeaderMap, headerTrust?: BetterPortalHeaderTrustOptions): BetterPortalResolvedRequestContext | null; export declare function resolveServiceForTenant(config: BetterPortalConfig, serviceId: string, context: BetterPortalResolvedRequestContext): BetterPortalResolvedServiceBinding | null; export declare function buildOriginPolicy(context: BetterPortalResolvedRequestContext): BetterPortalOriginPolicy; export declare function isAllowedOriginForContext(context: BetterPortalResolvedRequestContext, origin: string | null): boolean; export declare function isAllowedRefererForContext(context: BetterPortalResolvedRequestContext, referer: string | null): boolean; export declare function serviceBaseUrl(service: { hostname: string; } | { endpointBaseUrl: string; }): string; export declare function resolveAppRoute(app: BetterPortalApp, pathname: string): BetterPortalRouteMount | null; export declare function inferServicePathFromViewId(viewId: string): string; export declare function buildServiceViewUrl(binding: { hostname: string; } | { endpointBaseUrl: string; }, route: BetterPortalRouteMount, currentPath: string): string | null; //# sourceMappingURL=configProvider.d.ts.map