import type { TSLanguageService, TypeScript } from '../contracts/TypeScript';
import { FilesystemService } from '../services/FilesystemService';
import { LoggerService } from '../services/LoggerService';
import { TemplateDeclarationsService } from '../services/TemplateDeclarationsService';
import { TypescriptContextService } from '../services/TypescriptContextService';
export declare class DiagnosticsService implements Pick<TSLanguageService, 'getSemanticDiagnostics' | 'getSyntacticDiagnostics' | 'getSuggestionDiagnostics'> {
    private readonly ts;
    private readonly fs;
    private readonly declarations;
    readonly logger: LoggerService;
    constructor(ts: TypescriptContextService, fs: FilesystemService, declarations: TemplateDeclarationsService);
    getVersion(fileName: string): string;
    getCompilerOptionsDiagnostics(): TypeScript.Diagnostic[];
    getSemanticDiagnostics(fileName: string): TypeScript.Diagnostic[];
    getSyntacticDiagnostics(fileName: string): TypeScript.DiagnosticWithLocation[];
    getSuggestionDiagnostics(fileName: string): TypeScript.DiagnosticWithLocation[];
    getVueCompilerDiagnostic(fileName: string): TypeScript.DiagnosticWithLocation[];
    private run;
    /**
     * Replace generated .vue.tsx/.vue.jsx file name to original .vue file.
     * @returns list of diagnostics
     */
    processDiagnosticRelatedInformation(info: TypeScript.DiagnosticRelatedInformation): TypeScript.DiagnosticRelatedInformation[];
    /**
     * Replace generated .vue.tsx/.vue.jsx file with original .vue file.
     * @returns list of diagnostics
     */
    processDiagnostic<T extends TypeScript.Diagnostic | TypeScript.DiagnosticWithLocation>(diagnostic: T): T[];
}
//# sourceMappingURL=DiagnosticsService.d.ts.map