/** * Commerce App Package (CAP) uninstallation. * * Runs the sfcc-uninstall-commerce-app system job to remove an installed CAP. */ import { B2CInstance } from '../../instance/index.js'; import { type JobExecution, type WaitForJobOptions } from '../jobs/run.js'; /** * Options for CAP uninstallation. */ export interface CommerceAppUninstallOptions { /** Target site ID to uninstall the app from. */ siteId: string; /** Wait options for job completion. */ waitOptions?: WaitForJobOptions; } /** * Result of a CAP uninstallation. */ export interface CommerceAppUninstallResult { /** Job execution details. */ execution: JobExecution; /** App name that was uninstalled. */ appName: string; } /** * Uninstalls a Commerce App from a B2C Commerce instance. * * Executes the sfcc-uninstall-commerce-app system job which removes cartridges, * IMPEX data, and configuration associated with the app from the target site. * * @param instance - B2C instance to uninstall from * @param appName - App ID (from commerce-app.json "id" field, e.g. "avalara-tax") * @param appDomain - App domain (e.g. "tax", "shipping") * @param options - Uninstall options including required siteId * @returns Uninstall result with job execution details * @throws JobExecutionError if the uninstall job fails * * @example * ```typescript * const result = await commerceAppUninstall(instance, 'avalara-tax', 'tax', { * siteId: 'RefArch', * }); * ``` */ export declare function commerceAppUninstall(instance: B2CInstance, appName: string, appDomain: string, options: CommerceAppUninstallOptions): Promise;