import { Diagnostic, Event, Disposable } from 'vscode-languageserver-protocol';
import Document from '../model/document';
import { DiagnosticConfig } from './manager';
export declare class DiagnosticBuffer implements Disposable {
    private config;
    private srdId;
    private signIds;
    private sequence;
    private readonly _onDidRefresh;
    matchIds: Set<number>;
    diagnostics: ReadonlyArray<Diagnostic>;
    readonly onDidRefresh: Event<void>;
    readonly bufnr: number;
    readonly uri: string;
    refresh: (diagnosticItems: ReadonlyArray<Diagnostic>) => void;
    constructor(doc: Document, config: DiagnosticConfig);
    private readonly nvim;
    private _refresh;
    setLocationlist(diagnostics: ReadonlyArray<Diagnostic>, winid: number): void;
    private clearSigns;
    checkSigns(): Promise<void>;
    addSigns(diagnostics: ReadonlyArray<Diagnostic>): void;
    setDiagnosticInfo(diagnostics: ReadonlyArray<Diagnostic>): void;
    private addDiagnosticVText;
    clearHighlight(): void;
    addHighlight(diagnostics: ReadonlyArray<Diagnostic>, winid: any): void;
    /**
     * Used on buffer unload
     *
     * @public
     * @returns {Promise<void>}
     */
    clear(): Promise<void>;
    dispose(): void;
}
