/**
 * GitHub Review Service
 *
 * Implements IPlatformReviewService using the gh CLI (gh api) for all
 * GitHub API interactions. Uses modern line + side parameters (not
 * deprecated position) for inline comments.
 *
 * Includes retry logic with exponential backoff for transient errors.
 */
import type { ExecFunction } from '../git/worktree.service.js';
import type { IPlatformReviewService, PrMetadata, ExistingReviewComment, ReviewInlineComment, PostReviewResult } from '../../../application/ports/output/services/platform-review-service.interface.js';
import type { FileDiff } from '../../../application/ports/output/services/git-pr-service.interface.js';
/**
 * Format a suggestion as a GitHub suggestion block for the review body.
 */
export declare function formatSuggestion(suggestion: string): string;
export declare class GitHubReviewService implements IPlatformReviewService {
    private readonly execFile;
    constructor(execFile: ExecFunction);
    fetchPrMetadata(owner: string, repo: string, prNumber: number): Promise<PrMetadata>;
    fetchPrDiff(owner: string, repo: string, prNumber: number): Promise<FileDiff[]>;
    postReview(owner: string, repo: string, prNumber: number, body: string, comments: ReviewInlineComment[]): Promise<PostReviewResult>;
    fetchExistingComments(owner: string, repo: string, prNumber: number): Promise<ExistingReviewComment[]>;
    /**
     * Execute a GitHub API request via gh api with retry logic.
     */
    private ghApi;
    /**
     * Fetch commit messages for a PR.
     */
    private fetchCommitMessages;
    /**
     * Map GitHub file status string to FileDiff status.
     */
    private mapGitHubFileStatus;
}
//# sourceMappingURL=github-review.service.d.ts.map