/**
 * PR summary comment for totem lint — single managed comment per PR.
 * Implements #923: deduplicates violations, builds markdown, upserts via gh CLI.
 */
import type { CompiledRule, TotemFinding, Violation } from '@mmnto/totem';
export interface DedupedFinding {
    file: string;
    line: number;
    message: string;
    severity: 'error' | 'warning';
    ruleCount: number;
}
export interface PRSummaryData {
    totalRules: number;
    errors: number;
    warnings: number;
    findings: DedupedFinding[];
    commitSha: string;
    durationMs: number;
}
/**
 * Deduplicate unified findings by file + line. Multiple findings at the same
 * location collapse into one with the highest severity and a rule count.
 * Canonical dedup implementation (ADR-071).
 */
export declare function deduplicateFindings(input: TotemFinding[]): DedupedFinding[];
/**
 * Deduplicate violations by file + line. Converts to unified findings
 * and delegates to deduplicateFindings.
 */
export declare function deduplicateViolations(violations: Violation[]): Promise<DedupedFinding[]>;
/**
 * Build the managed PR comment markdown from summary data.
 */
export declare function buildPRCommentMarkdown(data: PRSummaryData): string;
export interface CommentUpsertOptions {
    prNumber: number;
    markdown: string;
    cwd: string;
}
/**
 * Find the existing totem-lint comment on a PR, or create a new one.
 * Uses `gh api` for reliable JSON output.
 */
export declare function upsertPRComment(options: CommentUpsertOptions): Promise<void>;
export interface PostPRCommentOptions {
    violations: Violation[];
    rules: CompiledRule[];
    prNumber: number;
    commitSha: string;
    durationMs: number;
    cwd: string;
}
/**
 * Post-processing step: dedup violations, build markdown, upsert comment.
 */
export declare function postPRComment(options: PostPRCommentOptions): Promise<void>;
//# sourceMappingURL=pr-comment.d.ts.map