import BaseClass from './base-class'; import { ModuleClassParams } from '../../types'; export default class ExportTaxonomies extends BaseClass { private static readonly PUBLISH_DETAILS_DEFAULT_LOCALE; private taxonomies; private taxonomiesByLocale; /** List API `publish_details` keyed by non-localized bucket or locale code, then taxonomy uid */ private publishDetailsByLocale; private taxonomiesConfig; private isLocaleBasedExportSupported; private qs; taxonomiesFolderPath: string; private localesFilePath; constructor({ exportConfig, stackAPIClient }: ModuleClassParams); start(): Promise; /** * Initialize export setup (create directories, get initial count) */ private initializeExport; /** * Setup progress manager with processes */ private setupProgress; /** * Determine if locale-based export is supported */ private determineExportStrategy; /** * Fetch all taxonomies based on export strategy */ private fetchAllTaxonomies; /** * Export all taxonomies with detailed information */ private exportAllTaxonomies; /** * Process and export taxonomies for a specific locale */ processLocaleExport(localeCode: string): Promise; /** * Write taxonomies metadata file */ writeTaxonomiesMetadata(): Promise; /** * Fetch taxonomies * * @async * @param {?string} [localeCode] * @param {boolean} [checkLocaleSupport=false] * @returns {Promise} */ fetchTaxonomies(localeCode?: string, checkLocaleSupport?: boolean): Promise; /** * remove invalid keys and write data into taxonomies * @function sanitizeTaxonomiesAttribs * @param {Record[]} taxonomies * @param {?string} [localeCode] */ sanitizeTaxonomiesAttribs(taxonomies: Record[], localeCode?: string): void; /** * Export taxonomies - supports both locale-based and legacy export */ exportTaxonomies(localeCode?: string): Promise; /** * Get all locales to export */ getLocalesToExport(): string[]; /** * List `find` may include `publish_details` while `export` may not; we copy list data into the * written file when export omits or has an empty `taxonomy.publish_details`. */ private getListPublishDetailsForExport; private isPublishDetailsValueEmpty; private mergeListPublishDetailsIntoExportPayload; private isLocalePlanLimitationError; }