import { type ResultParser } from '../config/types.js';
import { type LintMessage } from '../engine/types.js';
export interface Result {
    repository: string;
    repositoryOwner: string;
    rule: LintMessage['ruleId'];
    message: LintMessage['message'];
    path: string;
    link: string;
    extension?: string;
    source: LintMessage['source'];
    error?: LintMessage['error'];
    __internalHash: string & {
        readonly _: unique symbol;
    };
}
export interface ComparisonResults {
    /** New results compared to previous scan */
    added: Result[];
    /** Removed results compared to previous scan */
    removed: Result[];
}
type ComparisonType = keyof ComparisonResults;
export declare const ComparisonTypes: ComparisonType[];
export type ResultTemplate = (result: Result) => string;
export type ComparisonResultTemplate = {
    header: (type: ComparisonType) => string;
    results: (result: Result) => string;
};
export declare const RESULTS_TEMPLATE_CI_BASE: (result: Result) => string;
export declare const RESULT_PARSER_TO_TEMPLATE: Record<ResultParser, ResultTemplate>;
export declare const RESULT_PARSER_TO_COMPARE_TEMPLATE: Record<ResultParser, ComparisonResultTemplate>;
export declare const RESULT_PARSER_TO_EXTENSION: Record<ResultParser, string>;
export {};
//# sourceMappingURL=result-templates.d.ts.map