import type { EcoPagesAppConfig } from '../../../types/internal-types.js'; import type { StaticRoute } from '../../../types/public-types.js'; import type { ExplicitViewRendererResolver } from '../../../route-renderer/route-renderer.js'; export declare const EXPLICIT_STATIC_ROUTE_MATCHER_ERRORS: { readonly missingIntegration: (routePath: string) => string; readonly noRendererForIntegration: (integrationName: string) => string; }; export interface ExplicitStaticRouteMatcherOptions { appConfig: EcoPagesAppConfig; routeRendererFactory: ExplicitViewRendererResolver; staticRoutes: StaticRoute[]; } export interface ExplicitRouteMatch { route: StaticRoute; params: Record; } /** * Matches and renders explicit static routes declared through `app.static()`. */ export declare class ExplicitStaticRouteMatcher { private readonly appConfig; private readonly routeRendererFactory; private readonly staticRoutes; constructor({ appConfig, routeRendererFactory, staticRoutes }: ExplicitStaticRouteMatcherOptions); /** * Match a request URL against explicit static routes. * Returns the matched route and extracted params, or null if no match. */ match(url: string): ExplicitRouteMatch | null; /** * Handle a matched explicit static route. * Resolves the loader and renders the view using the appropriate integration renderer. */ handleMatch(match: ExplicitRouteMatch): Promise; }