import * as lsp from 'vscode-languageserver'; import { ts } from './typescript'; import { Logger } from './logger'; type PrintOptions = { colors?: boolean; noThrow?: boolean; }; export declare abstract class Diagnostic { readonly message: string; readonly file: ts.SourceFile; readonly position: { start: number; end: number; }; readonly code: ts.SyntaxKind; readonly source: 'fluent' | 'ts'; readonly level: Diagnostic.Level; constructor(message: string, file: ts.SourceFile, position: { start: number; end: number; }, code: ts.SyntaxKind, source: 'fluent' | 'ts', level?: Diagnostic.Level); abstract asTypeScriptDiagnostic(): ts.ts.Diagnostic; asLspDiagnostic(): lsp.Diagnostic; getFormattedText(colors?: boolean): string; print(logger: Logger, options?: PrintOptions): void; } export declare namespace Diagnostic { enum Level { Error = 1, Warn = 2, Info = 3, Hint = 4 } namespace Level { function fromCategory(category: ts.DiagnosticCategory): Level; function toCategory(level: Level): ts.DiagnosticCategory; function fromSeverity(severity: lsp.DiagnosticSeverity): Level; function toSeverity(level: Level): lsp.DiagnosticSeverity; } } export {};