/// import { WorkspaceSymbolParams } from 'vscode-languageserver-protocol'; import { CancellationToken, Disposable, MaybePromise, Mutable } from '@tartjs/core/lib/common'; import { SymbolInformation } from 'vscode-languageserver-types'; import { Language, LanguageService } from '@tartjs/core/lib/browser/language-service'; import URI from '@tartjs/core/lib/common/uri'; import { MonacoDiagnosticCollection } from './monaco-diagnostic-collection'; import { ProtocolToMonacoConverter } from './protocol-to-monaco-converter'; export interface WorkspaceSymbolProvider { provideWorkspaceSymbols(params: WorkspaceSymbolParams, token: CancellationToken): MaybePromise; resolveWorkspaceSymbol?(symbol: SymbolInformation, token: CancellationToken): Thenable; } export declare class MonacoLanguages implements LanguageService { readonly workspaceSymbolProviders: WorkspaceSymbolProvider[]; protected readonly makers: Map; protected readonly p2m: ProtocolToMonacoConverter; get languages(): Language[]; registerWorkspaceSymbolProvider(provider: WorkspaceSymbolProvider): Disposable; getLanguage(languageId: string): Language | undefined; protected init(): void; protected updateMarkers(uri: URI): void; protected mergeLanguages(registered: monaco.languages.ILanguageExtensionPoint[]): Map>; }