import type { GithubClientOptions, GithubCollaboratorPermission, GithubCombinedStatus, GithubIssue, GithubIssueComment, GithubPullRequest, GithubPullRequestFile, GithubPullRequestReview, GithubReactionContent, GithubRepositoryDetails, GithubReviewComment, GithubWorkflowJob, GithubWorkflowRun } from "./types.js"; export declare class GithubApiError extends Error { readonly status: number; constructor(status: number, method: string, path: string, detail: string); } export declare function githubIsRateLimited(err: Error): boolean; export declare const githubRetry: (fn: () => Promise) => Promise; export declare const GITHUB_MAX_COMMENT_LENGTH = 60000; export declare class GithubClient { private readonly token; private readonly baseUrl; private readonly fetchImpl; constructor(options: GithubClientOptions); private send; private request; private requestBody; getAuthenticatedUser(): Promise<{ login: string; id: number; }>; getRepository(owner: string, repo: string): Promise; getCollaboratorPermission(owner: string, repo: string, username: string): Promise; createPullRequest(owner: string, repo: string, params: { title: string; head: string; base: string; body?: string; draft?: boolean; }): Promise; getPullRequest(owner: string, repo: string, number: number): Promise; listPullRequestFiles(owner: string, repo: string, number: number): Promise; listPullRequestReviews(owner: string, repo: string, number: number): Promise; listIssueComments(owner: string, repo: string, number: number): Promise; listIssues(owner: string, repo: string, filters?: { state?: string; labels?: string; creator?: string; }): Promise; findOpenPullRequestByBranch(owner: string, repo: string, branch: string): Promise; getCombinedStatus(owner: string, repo: string, ref: string): Promise; listWorkflowRuns(owner: string, repo: string, headSha: string): Promise; listWorkflowJobs(owner: string, repo: string, runId: number): Promise; getJobLog(owner: string, repo: string, jobId: number): Promise; listPullReviewComments(owner: string, repo: string, number: number): Promise; getIssue(owner: string, repo: string, number: number): Promise; addIssueLabels(owner: string, repo: string, number: number, labels: string[]): Promise; removeIssueLabel(owner: string, repo: string, number: number, label: string): Promise; addIssueAssignees(owner: string, repo: string, number: number, assignees: string[]): Promise; removeIssueAssignees(owner: string, repo: string, number: number, assignees: string[]): Promise; updateIssueState(owner: string, repo: string, number: number, state: "open" | "closed", stateReason?: string): Promise; createIssueComment(owner: string, repo: string, number: number, body: string): Promise; updateIssueComment(owner: string, repo: string, commentId: number, body: string): Promise; deleteIssueComment(owner: string, repo: string, commentId: number): Promise; createCommentReaction(owner: string, repo: string, commentId: number, content: GithubReactionContent): Promise; replyToReviewComment(owner: string, repo: string, number: number, commentId: number, body: string): Promise; createReviewCommentReaction(owner: string, repo: string, commentId: number, content: GithubReactionContent): Promise; createIssueReaction(owner: string, repo: string, number: number, content: GithubReactionContent): Promise; } //# sourceMappingURL=client.d.ts.map