import ts from 'typescript';
import { CancellationToken, Diagnostic, DocumentDiagnosticReport } from 'vscode-languageserver';
import { Document } from '../../../lib/documents';
import { DiagnosticsProvider } from '../../interfaces';
import { tsApiSync, tsAst } from '../types';
export declare class SvelteCheckTSGoDiagnosticsProvider implements DiagnosticsProvider {
    private readonly api;
    private readonly tsApiModule;
    private readonly files;
    private readonly virtualFiles;
    private readonly tsAstModule;
    private readonly virtualTsconfigPath;
    private readonly ambientTypesSource;
    private readonly snapshotOptions;
    private readonly tsconfigPath;
    /**
     * files is currently empty
     */
    private projectConfig;
    private pendingConfigLoading;
    private createDocument;
    private pendingChanges;
    constructor(apiModule: typeof tsApiSync, tsAstModule: typeof tsAst, tsconfigPath: string, ambientTypesSource: string, createDocument: (filePath: string, content: string) => Document);
    getDiagnostics(document: Document, cancellationToken?: CancellationToken): Promise<Diagnostic[]>;
    getProject(): Promise<tsApiSync.Project | undefined>;
    getAllSvelteFiles(): string[];
    mapAndFilterDiagnostics(project: tsApiSync.Project, diagnostics: tsApiSync.Diagnostic[]): {
        filePath: string;
        text: string;
        diagnostics: Diagnostic[];
    }[];
    getDiagnosticsForPullMode(document: Document): Promise<DocumentDiagnosticReport>;
    watchUpdate(doc: {
        text: string;
        uri: string;
    }, kind: 'created' | 'changed' | 'deleted'): void;
    getProjectConfig(): ts.ParsedCommandLine;
    private createFsProxy;
    private parseConfig;
    private writeVirtualTsconfig;
    private addDtsRedirect;
    private addVirtualSvelteFile;
    private covertDiagnosticsForUnopenedFile;
    dispose(): void;
}
