/**
 * HTML skeleton and section helpers for the MCP root landing page.
 *
 * Inline CSS and a tiny clipboard script — no build step, no framework. The
 * page renders server-side and remains readable and copyable without
 * JavaScript.
 */
import type { HarnessSnippetResult } from "./harness_snippets.js";
import type { RootLandingNavCategory } from "./site_nav.js";
export type LandingMode = "sandbox" | "personal" | "prod" | "local";
export interface LandingHtmlContext {
    mode: LandingMode;
    /** Resolved `NEOTOMA_ENV` (default `development`); DB and path profile, distinct from {@link mode}. */
    configEnvironment: string;
    base: string;
    mcpUrl: string;
    version: string;
    gitSha: string | null;
    inspectorUrl: string | null;
    publicDocsUrl: string;
    harnesses: HarnessSnippetResult[];
    index: RootLandingNavCategory[];
    endpoints: Record<string, string>;
    sandboxPacks?: {
        id: string;
        kind: string;
        label: string;
    }[];
    sandboxDefaultPackId?: string;
    activeSessionBearer?: string | null;
}
export declare function escapeHtml(s: string): string;
export declare function modeCopy(mode: LandingMode): {
    title: string;
    subtitle: string;
    banner?: string;
};
declare function renderEndpoints(endpoints: Record<string, string>, base: string): string;
export declare function renderLandingHtml(ctx: LandingHtmlContext): string;
/** Exported so tests can confirm both endpoint helpers stay in sync. */
export { renderEndpoints };
//# sourceMappingURL=html_template.d.ts.map