export type OriginAuthMode = 'app' | 'installation' export type OriginQuery = Record< string, string | number | boolean | null | undefined > export type OriginRequestParams = { path: string method?: string query?: OriginQuery body?: unknown auth?: OriginAuthMode installationId?: string scopes?: Array } export type OriginRequestResult = { ok: boolean status: number body: unknown rateLimit: { limit: string | null remaining: string | null used: string | null reset: string | null } } export type OriginOwner = { slug: string id: string } export type OriginRepoSummary = { id: string name: string fullName: string | null owner: OriginOwner | null defaultBranch: string | null cloneUrl: string | null mirror: { source: string | null status: string | null } | null } export type OriginInstallation = { id: string appId: string | null target: OriginOwner | null repoSelectionMode: string | null scopes: Array } export type OriginPullSummary = { number: string | number | null title: string | null state: string | null head: string | null base: string | null url: string | null } export type OriginRateLimit = { limit: number | null remaining: number | null used: number | null reset: number | null }