import { IUpdateTagGroup, TagGroup } from 'contensis-management-api'; import { MigrateStatus } from '../models'; import ContensisRepository from '../repositories/ContensisRepository'; /** * Build a complete tag group specifically for the target repository, providing * context of source and target repositories we can validate any field in the * given source tag for any required dependencies * * Output the tag as JSON for loading into the Management API using the `toJSON` method */ export declare class TagGroupBuilder { contensis: ContensisRepository; origin: ContensisRepository; finalValue?: IUpdateTagGroup; existing?: TagGroup; source: TagGroup; status: MigrateStatus; error?: MappedError; diff?: string; get id(): string; get friendlyName(): string; constructor(contensis: ContensisRepository, origin: ContensisRepository, source: TagGroup); init: () => void; /** * @returns tag group as JSON */ toJSON: (opts?: {}) => IUpdateTagGroup; /** * Check we have the tag group and languages available to process this tag */ validate: () => void; /** * Build the tag group for the target taking the values from the source tag group */ build: () => void; /** * Check the tag group for update status */ checkStatus: () => MigrateStatus; /** * Set Contensis controlled fields to null before doing a diff * as these will always be different */ nullFields: (group: IUpdateTagGroup) => IUpdateTagGroup; }