import type * as monaco from 'monaco-editor';
import { editor } from 'monaco-editor';
import { ClassificationRange } from './types';
type ClassificationsGetter = (resource: monaco.Uri) => Promise<ClassificationRange[]>;
export declare class SemanticTokensProvider implements monaco.languages.DocumentSemanticTokensProvider {
    private readonly classificationsGetter;
    constructor(classificationsGetter: ClassificationsGetter);
    getLegend(): {
        tokenTypes: import("./types").Token[];
        tokenModifiers: any[];
    };
    provideDocumentSemanticTokens(model: editor.ITextModel): Promise<{
        data: Uint32Array;
        resultId: string;
    }>;
    releaseDocumentSemanticTokens(): void;
}
export {};
