export type GithubTag = { name: string, zipball_url: string, tarball_url: string, commit: { sha: string, url: string }, node_id: string } export interface TagCompare { url: string; html_url: string; permalink_url: string; diff_url: string; patch_url: string; base_commit: BaseCommitClass; merge_base_commit: BaseCommitClass; status: string; ahead_by: number; behind_by: number; total_commits: number; commits: BaseCommitClass[]; files: File[]; } export interface BaseCommitClass { sha: string; node_id: string; commit: BaseCommitCommit; url: string; html_url: string; comments_url: string; author: BaseCommitAuthor; committer: BaseCommitAuthor; parents: Parent[]; } export interface BaseCommitAuthor { login: string; id: number; node_id: string; avatar_url: string; gravatar_id: string; url: string; html_url: string; followers_url: string; following_url: string; gists_url: string; starred_url: string; subscriptions_url: string; organizations_url: string; repos_url: string; events_url: string; received_events_url: string; type: string; site_admin: boolean; } export interface BaseCommitCommit { author: PurpleAuthor; committer: PurpleAuthor; message: string; tree: Tree; url: string; comment_count: number; verification: Verification; } export interface PurpleAuthor { name: string; email: string; date: string; } export interface Tree { sha: string; url: string; } export interface Verification { verified: boolean; reason: string; signature: string; payload: string; } export interface Parent { sha: string; url: string; html_url: string; } export interface File { sha: string; filename: string; status: string; additions: number; deletions: number; changes: number; blob_url: string; raw_url: string; contents_url: string; patch: string; }