import { RuleMessage, BaseRuleStoreData, RuleStoreDataItem } from '../rule/index.js'; import { ErrorLevel as Severity, Range, FixData } from '../error.js'; import { SeverityString } from './rule.js'; export { ErrorLevel as Severity } from '../error.js'; export type { Range, OffsetRange, Position, FixData } from '../error.js'; /** Diagnostic recommendations */ export interface Suggestion { description: string; fixData?: FixData; } /** Error file information */ export interface ReportDocument { /** file path */ path: string; /** Is it a transformed code */ isTransformed?: boolean; /** code content */ content: string; range: Range; } /** Report erroneous data */ export interface ReportData { /** Error message */ message: string; /** Modify severity dynamically at runtime */ severity?: SeverityString; /** Error file information */ document?: ReportDocument; /** Diagnostic suggestions */ suggestions?: Suggestion; /** * Detailed information * - Mainly additional data provided to the platform. */ detail?: any; } export type ReportDetailData = Omit & { /** * Error text * - When this is present, Diagnostic ['message'] will be overwritten */ description?: string; }; export interface Diagnostic extends Omit, Pick { severity: Severity; title: string; detail?: RuleStoreDataItem; }