export interface GitHubKey { id: number; key: string; title: string; } type GitHubRepoVisibility = "public" | "private" | "internal"; export interface GitHubRepo { id: number; name: string; fullName: string; description: string | null; cloneUrl: string; htmlUrl: string; defaultBranch: string; visibility?: GitHubRepoVisibility; private?: boolean; installationId?: number; language?: string | null; stars?: number | null; issues?: number | null; forks?: number | null; updatedAt?: string | null; // github reports repo size in kb sizeKb?: number | null; } interface GitHubEmail { address: string; primary: boolean; verified: boolean; } export interface GitHubAccount { login: string; avatarUrl: string; email: string | null; bio: string | null; blog: string | null; emails?: GitHubEmail[]; keys: GitHubKey[]; repos: GitHubRepo[]; // localinfra stub runs on its own host instead of github.com publicOrigin: string; }