import { ApiOptions, CustomPromiseHandler, EnvType, ImportConfig, ModuleClassParams } from '../../types'; import { CLIProgressManager } from '@contentstack/cli-utilities'; export default class BaseImportSetup { config: ImportConfig; stackAPIClient: ModuleClassParams['stackAPIClient']; dependencies: ModuleClassParams['dependencies']; protected progressManager: CLIProgressManager | null; protected currentModuleName: string; constructor({ config, stackAPIClient, dependencies }: ModuleClassParams); setupDependencies(): Promise; /** * @method delay * @param {number} ms number * @returns {Promise} Promise */ delay(ms: number): Promise; /** * @method makeConcurrentCall * @param {Record} env EnvType * @param {CustomPromiseHandler} promisifyHandler CustomPromiseHandler * @param {boolean} logBatchCompletionMsg boolean * @returns {Promise} Promise */ makeConcurrentCall(env: EnvType, promisifyHandler?: CustomPromiseHandler, logBatchCompletionMsg?: boolean): Promise; /** * @method logMsgAndWaitIfRequired * @param {string} processName string * @param {number} start number * @param {number} batchNo - number * @returns {Promise} Promise */ logMsgAndWaitIfRequired(processName: string, start: number, totelBatches: number, batchNo: number, logBatchCompletionMsg?: boolean, indexerCount?: number, currentIndexer?: number): Promise; /** * @method makeAPICall * @param {Record} apiOptions - Api related params * @param {Record} isLastRequest - Boolean * @return {Promise} Promise */ makeAPICall(apiOptions: ApiOptions, isLastRequest?: boolean): Promise; /** * Create simple progress manager */ protected createSimpleProgress(moduleName: string, total?: number): CLIProgressManager; /** * Create nested progress manager */ protected createNestedProgress(moduleName: string): CLIProgressManager; /** * Complete progress manager */ protected completeProgress(success?: boolean, error?: string): void; /** * Show a loading spinner before initializing progress */ protected withLoadingSpinner(message: string, action: () => Promise): Promise; }