/**
 * Harness config snippet builders for the MCP root landing page.
 *
 * @remarks
 * These templates duplicate the shapes of `SITE_CODE_SNIPPETS` in
 * `frontend/src/site/site_data.ts`. Duplication is intentional: the marketing
 * SPA and the server bundle don't share a module path today, and splitting a
 * shared package is out of scope. See
 * `tests/unit/root_landing_harness_snippets.test.ts` for snapshot coverage.
 *
 * When updating the marketing snippets, update these too.
 */
export type LandingMode = "sandbox" | "personal" | "prod" | "local";
export type HarnessId = "claude-code" | "claude-desktop" | "chatgpt" | "codex" | "cursor" | "openclaw";
export type HarnessFlow = "agent" | "human";
/** Generic placeholder when install root cannot be resolved (e.g. minimal container). */
export declare const PLACEHOLDER_STDIO_MCP_SCRIPT = "/absolute/path/to/neotoma/scripts/run_neotoma_mcp_stdio.sh";
export declare const PLACEHOLDER_PROXY_MCP_SCRIPT = "/absolute/path/to/neotoma/scripts/run_neotoma_mcp_unsigned_stdio_dev_shim.sh";
export interface HarnessSnippetContext {
    /** Absolute MCP URL for this instance, e.g. `https://sandbox.neotoma.io/mcp`. */
    mcpUrl: string;
    /** Absolute base URL for this instance (no trailing slash), e.g. `https://sandbox.neotoma.io`. */
    base: string;
    mode: LandingMode;
    /** Public docs URL, e.g. `https://neotoma.io`. */
    publicDocsUrl: string;
    /**
     * Absolute path to `scripts/run_neotoma_mcp_stdio.sh` when known (repo root
     * from `config.projectRoot` at render time). Omitted or null falls back to
     * {@link PLACEHOLDER_STDIO_MCP_SCRIPT}.
     */
    stdioMcpScriptPath?: string | null;
    /**
     * Absolute path to `scripts/run_neotoma_mcp_unsigned_stdio_dev_shim.sh` when known.
     * Used in the proxy tip for HTTP mode with AAuth attribution.
     */
    proxyMcpScriptPath?: string | null;
    /** Active sandbox session bearer token (if available via cookie). */
    sessionBearer?: string | null;
}
export interface HarnessDescriptor {
    id: HarnessId;
    label: string;
    description: string;
    docsPath: string;
    /** Optional permissions preflight snippet rendered above the human flow. */
    preflight?: {
        title: string;
        code: string;
        format: string;
    };
}
export interface HarnessSnippetResult {
    id: HarnessId;
    label: string;
    description: string;
    /** Absolute URL to the per-harness docs page on `publicDocsUrl`. */
    docsUrl: string;
    agentPrompt: string;
    human: {
        format: string;
        code: string;
    };
    preflight?: {
        title: string;
        code: string;
        format: string;
    };
    /** Optional proxy-mode snippet for AAuth-attributed HTTP connections. */
    proxyTip?: {
        title: string;
        format: string;
        code: string;
    };
}
export declare const HARNESS_IDS: readonly HarnessId[];
declare function isRemoteMode(mode: LandingMode): boolean;
export declare function buildHarnessSnippet(id: HarnessId, ctx: HarnessSnippetContext): HarnessSnippetResult;
export declare function buildAllHarnessSnippets(ctx: HarnessSnippetContext): HarnessSnippetResult[];
/**
 * Exposed for tests to assert remote mode snippets interpolate the host.
 */
export { isRemoteMode };
//# sourceMappingURL=harness_snippets.d.ts.map