import { Command } from '@contentstack/cli-command'; import { NodeCrypto, ContentstackMarketplaceClient } from '@contentstack/cli-utilities'; import BaseClass from './base-class'; import { ModuleClassParams, MarketplaceAppsConfig, ExportConfig, Installation } from '../../types'; export default class ExportMarketplaceApps extends BaseClass { protected marketplaceAppConfig: MarketplaceAppsConfig; protected installedApps: Installation[]; developerHubBaseUrl: string; marketplaceAppPath: string; nodeCrypto: NodeCrypto; appSdk: ContentstackMarketplaceClient; exportConfig: ExportConfig; command: Command; query: Record; constructor({ exportConfig, stackAPIClient }: ModuleClassParams); start(): Promise; setupPaths(): Promise; getAppsCount(): Promise; /** * The function `exportApps` encrypts the configuration of installed apps using a Node.js crypto * library if it is available. */ exportApps(): Promise; /** * The function `getAppManifestAndAppConfig` exports the manifest and configurations of installed * marketplace apps. */ getAppManifestAndAppConfig(): Promise; /** * The function `getPrivateAppsManifest` fetches the manifest of a private app and assigns it to the * `manifest` property of the corresponding installed app. * @param {number} index - The `index` parameter is a number that represents the position of the app * in an array or list. It is used to identify the specific app in the `installedApps` array. * @param {App} appInstallation - The `appInstallation` parameter is an object that represents the * installation details of an app. It contains information such as the UID (unique identifier) of the * app's manifest. */ getPrivateAppsManifest(index: number, appInstallation: Installation): Promise; /** * The function `getAppConfigurations` exports the configuration of an app installation and encrypts * the server configuration if it exists. * @param {number} index - The `index` parameter is a number that represents the index of the app * installation in an array or list. It is used to identify the specific app installation that needs * to be processed or accessed. * @param {any} appInstallation - The `appInstallation` parameter is an object that represents the * installation details of an app. It contains information such as the app's manifest, unique * identifier (uid), and other installation data. */ getAppConfigurations(index: number, appInstallation: any): Promise; /** * The function `getStackSpecificApps` retrieves a collection of marketplace apps specific to a stack * and stores them in the `installedApps` array. * @param [skip=0] - The `skip` parameter is used to determine the number of items to skip in the API * response. It is used for pagination purposes, allowing you to fetch a specific range of items from * the API. In this code, it is initially set to 0, indicating that no items should be skipped in */ getStackSpecificApps(skip?: number): Promise; }