import { IGithubFile } from "./IGithubFile"; import { IGithubCommit } from "./IGithubCommit"; import { IGithubReference } from "./IGithubReference"; import { IGithubGetTreeResponse } from "./IGithubGetTreeResponse"; import { IGithubCreateTreeResponse } from "./IGithubCreateTreeResponse"; import { IGithubTreeItem } from "./IGithubTreeItem"; import { IGithubCreateBlobReponse } from "./IGithubCreateBlobReponse"; import { IGithubBlob } from "./IGithubBlob"; export interface IGithubClient { repositoryName: string; getFileContent(path: string): Promise; getHeads(): Promise; getCommit(commitSha: string): Promise; createCommit(parentCommitSha: string, tree: string, message: string): Promise; createTree(baseTreeSha: string, treeItems: IGithubTreeItem[]): Promise; createReference(branch: string, commitSha: string): Promise; deleteReference(branch: string): Promise; deleteFile(path: string, blobSha: string, commitMsg: string): Promise; updateReference(branch: string, commitSha: string): Promise; push(message: string, branch?: string): Promise; pushTree(treeItems: IGithubTreeItem[], message?: string, branch?: string): Promise; getBlob(blobSha: string): Promise; createBlob(path: string, content: Uint8Array): Promise; getLatestCommitTree(): Promise; getLatestCommit(): Promise; }