import { type PullRequest, type PRFilters, type MergeOptions } from "../../types/index.js"; /** * Service for GitHub pull request operations * Single Responsibility: PR operations */ export declare class PRService { /** * List pull requests with filters * Note: GitHub API doesn't support state="all" for PRs, so we fetch both open and closed separately */ list(filters?: PRFilters): Promise; /** * Get a specific PR by number */ get(prNumber: number): Promise; /** * Get PR for a specific issue */ getByIssue(issueNumber: number, openOnly?: boolean): Promise; /** * Merge a pull request */ merge(prNumber: number, options: MergeOptions): Promise; /** * Checkout a PR branch locally */ checkout(prNumber: number): Promise; /** * Get PR diff */ getDiff(prNumber: number): Promise; /** * Wait for PR to be created for an issue */ waitForCreation(issueNumber: number, timeoutSeconds?: number): Promise; /** * Delete a branch */ deleteBranch(branchName: string): Promise; /** * Get PR timeline events */ getTimeline(prNumber: number): Promise; /** * Get PR review comments */ getReviewComments(prNumber: number): Promise; /** * Check if PR is mergeable */ isMergeable(prNumber: number): Promise; /** * Check if PR is a draft */ isDraft(prNumber: number): Promise; /** * Convert draft PR to ready for review */ convertToReady(prNumber: number): Promise; /** * Get all PRs for an issue (including closed) */ getAllByIssue(issueNumber: number): Promise; /** * Request review from GitHub Copilot */ requestCopilotReview(prNumber: number): Promise; /** * Get the latest Copilot comment on the PR linked to an issue */ getLatestCopilotCommentForIssue(issueNumber: number): Promise<{ author: string; date: string; body: string; } | null>; } //# sourceMappingURL=PRService.d.ts.map