import { ContentType, Component } from 'contensis-core-api'; import MigratortronBaseService from './MigratortronBaseService'; import { MigrateRequest, SimpleMigrationResult } from '../models/Operations'; import { MigrateStatus } from '../models/Migration'; import ContensisRepository from '../repositories/ContensisRepository'; type Results = { [projectId: string]: { [contentTypeId: string]: { [status: string]: (T | MappedError)[]; }; }; }; type OperationResult = { components?: Results; contentTypes?: Results; }; type ContentTypeResults = { get: () => Results; push: ([projectId, contentTypeId, status, result]: [ string, string, MigrateStatus, T | MappedError ]) => Results; }; declare class SimpleMigrationService extends MigratortronBaseService { constructor(payload: MigrateRequest, preview: boolean); Migrate: (contentTypeIds: string[], componentIds: string[]) => Promise; MigrateComponents: (components: Component[]) => Promise>; MigrateContentTypes: (contentTypes: ContentType[]) => Promise>; Delete: (contentTypeIds?: string[], componentIds?: string[]) => Promise; DeleteContentTypes: (contentTypeIds?: string[]) => Promise>; DeleteContentType: (contentType: ContentType, target: ContensisRepository, results: ContentTypeResults) => Promise; DeleteComponents: (componentIds?: string[]) => Promise>; DeleteComponent: (component: Component, target: ContensisRepository, results: ContentTypeResults) => Promise; MapResponse: (results: OperationResult) => SimpleMigrationResult; ContentTypeResults: () => { get: () => Results; push: ([projectId, contentTypeId, status, result]: [string, string, MigrateStatus, T | MappedError | undefined]) => Results; }; } export default SimpleMigrationService;