import { Listr } from 'listr2'; import type { TaskContext } from '../../interfaces/vcs-task-context.interface'; import type { CloneOptions, PullOptions, PushOptions } from '../../interfaces/vsc-action.interface'; export default class VersionControlSystem { private contentApi; vcs: string; vcs_id: string; constructor(); clone(cwd: string, { id }: CloneOptions): Promise; pull(cwd: string, { accept }: PullOptions): Promise; protected getPullCommandTasks(cwd: string, tmp: string, accept: PullOptions['accept']): { preparationTasks: Listr; mainTasks: Listr; fallbackTasks: Listr; }; push(cwd: string, { force }: PushOptions): Promise; private getExecutionTask; private finalizeProject; private getContentType; private validateContentId; private validateDestinationPath; private setContentInformation; private getContent; private downloadContent; private downloadFromLink; private archive; private getVcsInfo; private saveChecksum; private hasChanges; private removeOldAttribute; }