/** * Issue representation and serialization * Compatible with globstar issue format */ import type { SyntaxNode } from 'tree-sitter'; import { Issue, IssueJson, Category, Severity, Location } from './types.js'; /** * Create an issue from an AST node */ export declare function createIssue(node: SyntaxNode, message: string, filepath: string, id: string, category?: Category, severity?: Severity): Issue; /** * Create an issue without an AST node (for deserialized issues) */ export declare function createIssueFromPosition(message: string, filepath: string, id: string, start: Location, end: Location, category?: Category, severity?: Severity): Issue; /** * Convert an issue to JSON format */ export declare function issueToJson(issue: Issue): IssueJson; /** * Serialize an issue to JSON string */ export declare function issueAsJson(issue: Issue): string; /** * Convert an issue to text format (filepath:row:col:message) */ export declare function issueAsText(issue: Issue): string; /** * Deserialize an issue from JSON */ export declare function issueFromJson(json: string | IssueJson): Issue; /** * Format multiple issues as JSON (newline-delimited) */ export declare function reportIssuesAsJson(issues: Issue[]): string; /** * Format multiple issues as text (newline-delimited) */ export declare function reportIssuesAsText(issues: Issue[]): string; /** * Report issues in specified format */ export declare function reportIssues(issues: Issue[], format?: 'json' | 'text'): string; /** * Filter issues by severity */ export declare function filterBySeverity(issues: Issue[], severities: Severity[]): Issue[]; /** * Filter issues by category */ export declare function filterByCategory(issues: Issue[], categories: Category[]): Issue[]; /** * Filter issues by checker ID */ export declare function filterByCheckerId(issues: Issue[], checkerIds: string[]): Issue[]; /** * Exclude issues by checker ID */ export declare function excludeByCheckerId(issues: Issue[], checkerIds: string[]): Issue[]; /** * Check if two issues are at the same location */ export declare function isSameLocation(a: Issue, b: Issue): boolean; /** * Sort issues by file and line number */ export declare function sortIssues(issues: Issue[]): Issue[]; /** * Deduplicate issues at the same location */ export declare function deduplicateIssues(issues: Issue[]): Issue[]; //# sourceMappingURL=issue.d.ts.map