import { Octokit } from '@octokit/rest'; import type { RestEndpointMethodTypes } from '@octokit/plugin-rest-endpoint-methods'; import { IMigrationContext } from '../migration-context.js'; interface SearchTypeAndQueryParams { search_type: 'repositories' | 'code'; search_query: string; } export default class GithubService { private octokit; constructor(context: IMigrationContext, octokit?: Octokit); private paginateRest; private findReposByMetadata; private findReposByCode; private getRepo; private listOrgRepos; getDefaultBranchForRepo(criteria: RestEndpointMethodTypes['repos']['get']['parameters']): Promise; getActiveReposForOrg(criteria: RestEndpointMethodTypes['repos']['listForOrg']['parameters']): Promise; getPullRequest(criteria: RestEndpointMethodTypes['pulls']['get']['parameters']): Promise; listPullRequests(criteria: RestEndpointMethodTypes['pulls']['list']['parameters']): Promise; createPullRequest(criteria: RestEndpointMethodTypes['pulls']['create']['parameters']): Promise; updatePullRequest(criteria: RestEndpointMethodTypes['pulls']['update']['parameters']): Promise; getCombinedRefStatus(criteria: RestEndpointMethodTypes['repos']['getCombinedStatusForRef']['parameters']): Promise; getBranch(criteria: RestEndpointMethodTypes['repos']['getBranch']['parameters']): Promise; createIssue(criteria: RestEndpointMethodTypes['issues']['create']['parameters']): Promise; updateIssue(criteria: { owner: any; issue_number: number; repo: any; title: any; body: any; labels: any; state: any; state_reason: any; }): Promise; createAndGetIssueNumber(criteria: RestEndpointMethodTypes['issues']['create']['parameters']): Promise; getActiveReposForSearchTypeAndQuery({ search_type, search_query, }: SearchTypeAndQueryParams): Promise; } export {};