import { type HeadingLevel, type InlineText, MarkdownDocument } from 'build-md'; import type { AuditReport, Issue, IssueSeverity, IssueSource, SourceFileLocation, Table, Tree } from '@code-pushup/models'; import type { MdReportOptions } from './types.js'; export declare function tableSection(table: Table, options?: { level?: HeadingLevel; }): MarkdownDocument | null; export declare function treeSection(tree: Tree, options?: { level?: HeadingLevel; }): MarkdownDocument; export declare function metaDescription(audit: Pick): InlineText; /** * Link to local source for IDE * @param source * @param reportLocation * * @example * linkToLocalSourceInIde({ file: 'src/index.ts' }, { outputDir: '.code-pushup' }) // [`src/index.ts`](../src/index.ts) */ export declare function linkToLocalSourceForIde(source: SourceFileLocation, options?: Pick): InlineText; /** * Link to source (handles both file and URL sources) */ export declare function linkToSource(source: IssueSource, options?: Pick): InlineText; export declare function formatSourceLine(position: SourceFileLocation['position']): string; export declare function formatGitHubLink(file: string, position: SourceFileLocation['position']): string; export declare function formatGitLabLink(file: string, position: SourceFileLocation['position']): string; export declare function formatFileLink(file: string, position: SourceFileLocation['position'], outputDir: string): string; export declare function formatSeverityCounts(severityCounts: Partial>): string; /** * Formats issues into a human-readable severity summary string. * * @param issues - Array of issues with severity property * @returns Formatted string like "3 errors, 5 warnings, 2 infos" */ export declare function formatIssueSeverities(issues: Pick[]): string; /** * Wraps HTML tags in backticks to prevent markdown parsers * from interpreting them as actual HTML. */ export declare function wrapTags(text: string | undefined): string; export declare function formatSelectorLocation(selector: string): string;