import * as monaco from '@opensumi/ide-monaco';
import * as languages from '@opensumi/monaco-editor-core/esm/vs/editor/common/languages';
import * as model from '@opensumi/monaco-editor-core/esm/vs/editor/common/model';
import { IExtHostLanguages } from '../../../../common/vscode/languages';
export declare class DocumentSemanticTokensProvider {
    private readonly proxy;
    handleId: number;
    private legend;
    constructor(proxy: IExtHostLanguages, handleId: number, legend: languages.SemanticTokensLegend);
    getLegend(): languages.SemanticTokensLegend;
    provideDocumentSemanticTokens(model: model.ITextModel, lastResultId: string | null, token: monaco.CancellationToken): Promise<languages.SemanticTokens | languages.SemanticTokensEdits | null>;
    releaseDocumentSemanticTokens(resultId: string | undefined): void;
}
export declare class DocumentRangeSemanticTokensProviderImpl implements languages.DocumentRangeSemanticTokensProvider {
    private readonly proxy;
    handleId: number;
    private legend;
    constructor(proxy: IExtHostLanguages, handleId: number, legend: monaco.languages.SemanticTokensLegend);
    getLegend(): monaco.SemanticTokensLegend;
    provideDocumentRangeSemanticTokens(model: model.ITextModel, range: monaco.Range, token: monaco.CancellationToken): Promise<monaco.languages.SemanticTokens | null>;
}
//# sourceMappingURL=semantic-token-provider.d.ts.map