<?php
declare(strict_types=1);
namespace GitList\SCM;
use GitList\SCM\Commit\Criteria;
interface System
{
public function isValidRepository(Repository $repository): bool;
public function getDescription(Repository $repository): string;
public function getDefaultBranch(Repository $repository): string;
public function getBranches(Repository $repository): array;
public function getTags(Repository $repository): array;
public function getSpecificCommits(Repository $repository, array $hashes): array;
public function getBlame(Repository $repository, string $hash, string $path): Blame;
public function getBlob(Repository $repository, string $hash, string $path): Blob;