import * as vscode from 'vscode'; import { isGrammarLanguageDefinition, isGrammarInjectionContribution, ContributorData } from './util/contributes'; import { loadJsonFile, readFileText } from './util/loader'; import { getOniguruma } from './util/oniguruma'; import { ConfigData } from './config'; import { TextmateScopeSelector, TextmateScopeSelectorMap } from './util/selectors'; import { ResolverService } from './services/resolver'; import { TokenizerService } from './services/tokenizer'; import { OutlineService } from './services/outline'; import { DocumentService } from './services/document'; import { TextmateFoldingRangeProvider } from './folding'; import { TextmateDefinitionProvider } from './definition'; import { TextmateDocumentSymbolProvider } from './document-symbol'; import { TextmateWorkspaceSymbolProvider } from './workspace-symbol'; import { getScopeInformationAtPosition, getTokenInformationAtPosition, getScopeRangeAtPosition, getGrammarContribution, getLanguageConfiguration, getLanguageContribution, getContributorExtension } from './api'; import type { ConfigJson } from './config'; import type { ExtensionManifest, ExtensionContributions, ExtensionManifestContributionKey, GrammarDefinition, GrammarInjectionContribution, GrammarLanguageDefinition, ConfigurationPaths, LanguageDefinition, EmbeddedLanguagesDefinition, TokenTypeDefinition } from './util/contributes'; import type { GeneratorCollection } from './services/generators'; import type { TextmateToken } from './services/tokenizer'; import { IndentationService } from './services/indentation'; declare const _private: unique symbol; export default class TextmateLanguageService { readonly languageId: string; readonly context?: vscode.ExtensionContext; static utils: { ContributorData: typeof ContributorData; ResolverService: typeof ResolverService; TextmateScopeSelector: typeof TextmateScopeSelector; TextmateScopeSelectorMap: typeof TextmateScopeSelectorMap; getOniguruma: typeof getOniguruma; isGrammarInjectionContribution: typeof isGrammarInjectionContribution; isGrammarLanguageDefinition: typeof isGrammarLanguageDefinition; loadJsonFile: typeof loadJsonFile; readFileText: typeof readFileText; }; static api: { getContributorExtension: typeof getContributorExtension; getGrammarContribution: typeof getGrammarContribution; getLanguageConfiguration: typeof getLanguageConfiguration; getLanguageContribution: typeof getLanguageContribution; getScopeInformationAtPosition: typeof getScopeInformationAtPosition; getScopeRangeAtPosition: typeof getScopeRangeAtPosition; getTokenInformationAtPosition: typeof getTokenInformationAtPosition; }; resolver: ResolverService; private [_private]; /** * @param {string} languageId Language ID of grammar contribution in VS Code. * @param {vscode.ExtensionContext} context Extension context from `activate` entrypoint export. */ constructor(languageId: string, context?: vscode.ExtensionContext); initTokenService(): Promise; initIndentationService(): Promise; initOutlineService(): Promise; initDocumentService(): Promise; createFoldingRangeProvider(): Promise; createDocumentSymbolProvider(): Promise; createWorkspaceSymbolProvider(): Promise; createDefinitionProvider(): Promise; } export type { TextmateToken, ConfigData, ConfigJson, ExtensionManifest, GrammarLanguageDefinition, GrammarInjectionContribution, GrammarDefinition, LanguageDefinition, EmbeddedLanguagesDefinition, TokenTypeDefinition, ExtensionContributions, ConfigurationPaths, ExtensionManifestContributionKey, DocumentService, GeneratorCollection, OutlineService, };