import type { IncomingMessage, ServerResponse } from "node:http";
import type { DashboardRouteContext } from "./dashboard-route-types.js";
/** Serve bundled dashboard assets from the compiled `dist/dashboard/` output. */
declare function handleAssetRequest(req: IncomingMessage, url: URL, res: ServerResponse): boolean;
/**
 * Bind the shell/infrastructure handlers to one server's request context and allocate the per-handler
 * agent-detection cache so probe results persist across requests until a fresh probe is requested.
 *
 * @param ctx - per-server dashboard route context with path validation, template/version/token, and IO hooks
 * @returns the HTML, asset, browse, hooks, and agent-detect handlers; each resolves true once it has
 *   answered a matching request, or false to let another handler claim the URL
 */
export declare function createShellRouteHandlers(ctx: DashboardRouteContext): {
    handleHtmlRequest: (url: URL, res: ServerResponse) => boolean;
    handleAssetRequest: typeof handleAssetRequest;
    handleBrowseRequest: (url: URL, res: ServerResponse) => boolean;
    handleHooksRequest: (req: IncomingMessage, url: URL, res: ServerResponse) => Promise<boolean>;
    handleAgentDetectRequest: (url: URL, res: ServerResponse) => boolean;
};
export {};
//# sourceMappingURL=dashboard-shell-routes.d.ts.map