/** * Environment variable operations for Managed Runtime. * * Handles listing, setting, and deleting environment variables * on MRT project environments. * * @module operations/mrt/env-var */ import type { AuthStrategy } from '../../auth/types.js'; /** * Environment variable information returned from MRT. */ export interface EnvironmentVariable { /** Name of the environment variable */ name: string; /** Masked value (only last few characters visible) */ value: string; /** Email of user who created the variable */ createdBy: string; /** ISO timestamp when created */ createdAt: string; /** ISO timestamp when last updated */ updatedAt: string; /** Email of user who last updated the variable */ updatedBy: string; /** Publishing status code */ publishingStatus: number; /** Human-readable publishing status */ publishingStatusDescription: string; } /** * Result of listing environment variables. */ export interface ListEnvVarsResult { /** Total count of environment variables */ count: number; /** Environment variables */ variables: EnvironmentVariable[]; } /** * Options for environment variable operations. */ export interface EnvVarOptions { /** MRT project slug */ projectSlug: string; /** Target environment (e.g., 'staging', 'production') */ environment: string; /** * MRT API origin URL. * @default "https://cloud.mobify.com" */ origin?: string; } /** * Lists environment variables for a project environment. * * @param options - Options specifying project and environment * @param auth - Authentication strategy (ApiKeyStrategy) * @returns List of environment variables * @throws Error if request fails * * @example * ```typescript * import { ApiKeyStrategy } from '@salesforce/b2c-tooling-sdk/auth'; * import { listEnvVars } from '@salesforce/b2c-tooling-sdk/operations/mrt'; * * const auth = new ApiKeyStrategy(process.env.MRT_API_KEY!, 'Authorization'); * * const result = await listEnvVars({ * projectSlug: 'my-storefront', * environment: 'production' * }, auth); * * for (const envVar of result.variables) { * console.log(`${envVar.name}=${envVar.value}`); * } * ``` */ export declare function listEnvVars(options: EnvVarOptions, auth: AuthStrategy): Promise; /** * Options for setting an environment variable. */ export interface SetEnvVarOptions extends EnvVarOptions { /** Environment variable name */ key: string; /** Environment variable value */ value: string; } /** * Sets an environment variable on a project environment. * * Creates the variable if it doesn't exist, or updates it if it does. * * @param options - Options specifying project, environment, and variable * @param auth - Authentication strategy (ApiKeyStrategy) * @throws Error if request fails * * @example * ```typescript * import { ApiKeyStrategy } from '@salesforce/b2c-tooling-sdk/auth'; * import { setEnvVar } from '@salesforce/b2c-tooling-sdk/operations/mrt'; * * const auth = new ApiKeyStrategy(process.env.MRT_API_KEY!, 'Authorization'); * * await setEnvVar({ * projectSlug: 'my-storefront', * environment: 'production', * key: 'API_KEY', * value: 'secret-value' * }, auth); * ``` */ export declare function setEnvVar(options: SetEnvVarOptions, auth: AuthStrategy): Promise; /** * Options for setting multiple environment variables. */ export interface SetEnvVarsOptions extends EnvVarOptions { /** Environment variables to set as key-value pairs */ variables: Record; } /** * Sets multiple environment variables on a project environment. * * Creates variables if they don't exist, or updates them if they do. * * @param options - Options specifying project, environment, and variables * @param auth - Authentication strategy (ApiKeyStrategy) * @throws Error if request fails * * @example * ```typescript * import { ApiKeyStrategy } from '@salesforce/b2c-tooling-sdk/auth'; * import { setEnvVars } from '@salesforce/b2c-tooling-sdk/operations/mrt'; * * const auth = new ApiKeyStrategy(process.env.MRT_API_KEY!, 'Authorization'); * * await setEnvVars({ * projectSlug: 'my-storefront', * environment: 'production', * variables: { * API_KEY: 'secret-value', * DEBUG: 'false' * } * }, auth); * ``` */ export declare function setEnvVars(options: SetEnvVarsOptions, auth: AuthStrategy): Promise; /** * Options for deleting an environment variable. */ export interface DeleteEnvVarOptions extends EnvVarOptions { /** Environment variable name to delete */ key: string; } /** * Deletes an environment variable from a project environment. * * @param options - Options specifying project, environment, and variable name * @param auth - Authentication strategy (ApiKeyStrategy) * @throws Error if request fails * * @example * ```typescript * import { ApiKeyStrategy } from '@salesforce/b2c-tooling-sdk/auth'; * import { deleteEnvVar } from '@salesforce/b2c-tooling-sdk/operations/mrt'; * * const auth = new ApiKeyStrategy(process.env.MRT_API_KEY!, 'Authorization'); * * await deleteEnvVar({ * projectSlug: 'my-storefront', * environment: 'production', * key: 'OLD_API_KEY' * }, auth); * ``` */ export declare function deleteEnvVar(options: DeleteEnvVarOptions, auth: AuthStrategy): Promise;