import { TagGroup } from 'contensis-management-api'; import MigratortronBaseService from './MigratortronBaseService'; import { MigrateRequest, TagGroupsResult } from '../models/Operations'; import ContensisRepository from '../repositories/ContensisRepository'; import { TagGroupBuilder } from '../transformations/TagGroupBuilder'; export type GetTagGroupsArgs = { id?: string; language?: string; q?: string; ids?: string[]; }; declare class TagGroupsMigrationService extends MigratortronBaseService { /** Keep a note of the tag groups we have migrated in this job separate from the tags migration count */ groupsMigration: { created: string[]; updated: string[]; deleted: string[]; }; constructor(payload: MigrateRequest, preview: boolean); GetTagGroups: ({ id, language, q }?: GetTagGroupsArgs) => Promise<[ApiErrorResponse, undefined] | [null, TagGroup[]]>; MigrateTagGroups: (getBy?: GetTagGroupsArgs) => Promise; GetTagGroupsToMigrate: ({ id, ids, language, q, }?: GetTagGroupsArgs) => Promise; BuildTagGroupsToMigrate: () => Promise; CommitTagGroups: () => Promise; QueueTagGroups: (target: ContensisRepository) => Promise; CommitTagGroup: (migrateGroup: TagGroupBuilder, target: ContensisRepository) => Promise<[null, TagGroup] | [AppError, undefined]>; private mapGroupsMigrateResult; DeleteTagGroups: (getBy: GetTagGroupsArgs, targets?: { [projectId: string]: ContensisRepository; }) => Promise; GetTagGroupsToDelete: ({ id, ids, language, q }: GetTagGroupsArgs, targets?: { [projectId: string]: ContensisRepository; }) => Promise; } export default TagGroupsMigrationService;