import { TaskContext } from '../../interfaces/vcs-task-context.interface';
import { PullOptions, PushOptions, CloneOptions } from '../../interfaces/vsc-action.interface';
export default class VersionControlSystem {
    private contentApi;
    vcs: string;
    vcs_id: string;
    constructor();
    clone(cwd: string, { id }: CloneOptions): Promise<TaskContext>;
    pull(cwd: string, { accept }: PullOptions): Promise<void>;
    push(cwd: string, { force }: PushOptions): Promise<TaskContext>;
    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;
}
