import type { SecurityHeadersConfig } from "../config/index.js"; export interface WebHandlerOptions { /** Static file root (absolute path). Usually the build output directory. */ staticRoot: string; /** Whether to bypass the ISR cache (dev mode). */ noCache?: boolean; /** ISR cache directory (absolute). */ cacheDir?: string; /** Default ISR revalidate interval in seconds. */ defaultRevalidate?: number; /** Optional module loader for adapter-bundled entries. */ importer?: (path: string) => Promise; /** HTML lang attribute. */ lang?: string; /** Client entry path. */ clientEntry?: string; /** Whether the render endpoint exists. */ renderEndpoint?: boolean; /** Security headers config (runtime-security ยง14). `false` disables. */ securityHeaders?: SecurityHeadersConfig | false; } export interface WebHandlerRouteTable { pages: import("../router/route-scanner.js").PageRoute[]; api: import("../router/route-scanner.js").ApiRoute[]; error404?: import("../router/route-scanner.js").PageRoute; error500?: import("../router/route-scanner.js").PageRoute; } export interface WebHandlerActionRegistry { [pagePath: string]: Record; } export interface CreateWebHandlerResult { (request: Request): Promise; } /** * Create a unified Web handler from scanned routes, actions and options. * * The returned function is the single entry point for all runtimes. */ export declare function createWebHandler(routes: WebHandlerRouteTable, actions: WebHandlerActionRegistry, options: WebHandlerOptions): CreateWebHandlerResult;