import type { CommonOptions } from "../../shared/cli-options.js"; /** * `scai provision deploy build-config` — create or update `xmcloud.build.json`, * the XM Cloud Deploy build manifest a head app needs so the Deploy service * knows how to build + run its rendering (editing) host. Adds or updates one * rendering-host entry and merges into any existing file (other hosts and * `postActions` are preserved). * * Pure file operation — no Deploy API call, no tenant auth. Pair it with the * Deploy API verbs (`deploy environments`, `deploy editing-host`) when wiring a * repo for deployment. */ export declare const DEFAULT_NODE_VERSION = "24.10.0"; export declare const DEFAULT_RENDERING_HOST_NAME = "editing-host-name"; export interface RenderingHostConfig { path: string; nodeVersion: string; jssDeploymentSecret: string; enabled: boolean; type: string; installCommand: string; buildCommand: string; runCommand: string; } export interface XmcloudBuildConfig { renderingHosts: Record; postActions?: unknown; [key: string]: unknown; } export interface RenderingHostParams { renderingHostName: string; jssDeploymentSecret: string; enabled: boolean; nodeVersion: string; hostPath: string; type: string; installCommand: string; buildCommand: string; runCommand: string; /** Drop the OOTB `editing-host-name` host when adding a renamed one. */ removeDefault: boolean; } /** * Pure: merge a rendering-host entry into an existing (or default) config. * Preserves unknown top-level keys, sibling rendering hosts, and any extra * fields already on the target host. Exposed for unit tests. */ export declare const applyRenderingHost: (existing: XmcloudBuildConfig | null, params: RenderingHostParams) => XmcloudBuildConfig; export type DeployBuildConfigOptions = CommonOptions & { renderingHost?: string; secret?: string; enabled?: boolean; nodeVersion?: string; hostPath?: string; type?: string; installCommand?: string; buildCommand?: string; runCommand?: string; removeDefault?: boolean; output?: string; whatIf?: boolean; }; export declare const runDeployBuildConfig: (options: DeployBuildConfigOptions) => Promise;