import vscode, { CallHierarchyProvider, CancellationToken, CodeActionProvider, CodeActionProviderMetadata, CodeLensProvider, CompletionItemProvider, DeclarationProvider, DefinitionProvider, Diagnostic, DiagnosticCollection, DocumentColorProvider, DocumentFormattingEditProvider, DocumentHighlightProvider, DocumentLinkProvider, DocumentRangeFormattingEditProvider, DocumentRangeSemanticTokensProvider, DocumentSelector, DocumentSemanticTokensProvider, DocumentSymbolProvider, EvaluatableExpressionProvider, FoldingContext, FoldingRangeProvider, HoverProvider, ImplementationProvider, InlineEditContext, InlineValuesProvider, LanguageConfiguration, LinkedEditingRangeProvider, NewSymbolName, NewSymbolNamesProvider, OnTypeFormattingEditProvider, ReferenceProvider, RenameProvider, SelectionRangeProvider, SemanticTokensLegend, SignatureHelpProvider, SignatureHelpProviderMetadata, TextDocument, TypeDefinitionProvider, TypeHierarchyProvider, WorkspaceSymbolProvider } from 'vscode'; import { SymbolInformation } from 'vscode-languageserver-types'; import { IRPCProtocol } from '@opensumi/ide-connection'; import { IDisposable, IExtensionLogger, Uri, UriComponents } from '@opensumi/ide-core-common'; import { InlineValue } from '@opensumi/ide-debug/lib/common/inline-values'; import { ExtensionDocumentDataManager, ExtensionNotebookDocumentManager, ICodeActionListDto, IExtHostLanguages, IExtensionDescription, IInlayHintDto, IInlayHintsDto, IInlineValueContextDto, ILinkedEditingRangesDto, ISuggestDataDto, IdentifiableInlineCompletions, IdentifiableInlineEdit, InlineCompletionContext } from '../../../common/vscode'; import { Disposable } from '../../../common/vscode/ext-types'; import { ChainedCacheId, CodeLens, ColorPresentation, CompletionContext, Definition, DefinitionLink, DocumentHighlight, DocumentSymbol, FoldingRange, FormattingOptions, Hover, ICallHierarchyItemDto, ICodeLensListDto, IIncomingCallDto, ILink, ILinksListDto, IOutgoingCallDto, ISignatureHelpDto, Location, Position, Range, RawColorInfo, ReferenceContext, RenameLocation, Selection, SelectionRange, SignatureHelpContextDto, SingleEditOperation, WithDuration, WorkspaceEditDto } from '../../../common/vscode/model.api'; import { ExtHostCommands } from './ext.host.command'; import { CallHierarchyAdapter } from './language/callhierarchy'; import { CodeActionAdapter } from './language/code-action'; import { ColorProviderAdapter } from './language/color'; import { CompletionAdapter } from './language/completion'; import { DeclarationAdapter } from './language/declaration'; import { DefinitionAdapter } from './language/definition'; import { DocumentHighlightAdapter } from './language/document-highlight'; import { EvaluatableExpressionAdapter } from './language/evaluatableExpression'; import { FoldingProviderAdapter } from './language/folding'; import { HoverAdapter } from './language/hover'; import { ImplementationAdapter } from './language/implementation'; import { InlayHintsAdapter } from './language/inlay-hints'; import { InlineValuesAdapter } from './language/inline-values'; import { InlineCompletionAdapter } from './language/inlineCompletion'; import { InlineEditAdapter } from './language/inlineEdit'; import { CodeLensAdapter } from './language/lens'; import { LinkProviderAdapter } from './language/link-provider'; import { LinkedEditingRangeAdapter } from './language/linked-editing-range'; import { NewSymbolNamesAdapter } from './language/new-symbol-names'; import { OnTypeFormattingAdapter } from './language/on-type-formatting'; import { OutlineAdapter } from './language/outline'; import { FormattingAdapter, RangeFormattingAdapter } from './language/range-formatting'; import { ReferenceAdapter } from './language/reference'; import { RenameAdapter } from './language/rename'; import { SelectionRangeAdapter } from './language/selection'; import { DocumentRangeSemanticTokensAdapter, DocumentSemanticTokensAdapter } from './language/semantic-tokens'; import { SignatureHelpAdapter } from './language/signature'; import { TypeDefinitionAdapter } from './language/type-definition'; import { TypeHierarchyAdapter } from './language/type-hierarchy'; import { WorkspaceSymbolAdapter } from './language/workspace-symbol'; import type { IPosition } from '@opensumi/ide-monaco/lib/common'; import type { CodeActionContext, NewSymbolNameTriggerKind } from '@opensumi/monaco-editor-core/esm/vs/editor/common/languages'; export declare function createLanguagesApiFactory(extHostLanguages: ExtHostLanguages, extHostNotebook: ExtensionNotebookDocumentManager, extension: IExtensionDescription): typeof vscode.languages; export type Adapter = HoverAdapter | CompletionAdapter | DefinitionAdapter | TypeDefinitionAdapter | FoldingProviderAdapter | ColorProviderAdapter | DocumentHighlightAdapter | RangeFormattingAdapter | CodeLensAdapter | OnTypeFormattingAdapter | CodeActionAdapter | ImplementationAdapter | LinkProviderAdapter | OutlineAdapter | WorkspaceSymbolAdapter | ReferenceAdapter | SignatureHelpAdapter | SelectionRangeAdapter | FormattingAdapter | RenameAdapter | DeclarationAdapter | CallHierarchyAdapter | TypeHierarchyAdapter | DocumentSemanticTokensAdapter | DocumentRangeSemanticTokensAdapter | EvaluatableExpressionAdapter | InlineValuesAdapter | LinkedEditingRangeAdapter | InlayHintsAdapter | InlineCompletionAdapter | InlineEditAdapter | NewSymbolNamesAdapter; export declare class ExtHostLanguages implements IExtHostLanguages { private documents; private commands; private logService; private readonly proxy; private readonly rpcProtocol; private callId; private _adapter; private diagnostics; constructor(rpcProtocol: IRPCProtocol, documents: ExtensionDocumentDataManager, commands: ExtHostCommands, logService: IExtensionLogger); $resolveCodeAction(handle: number, id: ChainedCacheId, token: CancellationToken): Promise; $releaseCodeActions(handle: number, cacheId: number): void; private nextCallId; private createDisposable; private addNewAdapter; private static _extLabel; private withAdapter; private withDurationRecord; private transformDocumentSelector; private doTransformDocumentSelector; getLanguages(): Promise; changeLanguage(uri: Uri, languageId: string): Promise; registerHoverProvider(selector: DocumentSelector, provider: HoverProvider, extension: IExtensionDescription): Disposable; $provideHover(handle: number, resource: any, position: Position, token: CancellationToken): Promise; $provideHoverWithDuration(handle: number, resource: any, position: Position, token: CancellationToken): Promise>; $provideCompletionItems(handle: number, resource: Uri, position: Position, context: CompletionContext, token: CancellationToken): Promise; $resolveCompletionItem(handle: number, id: ChainedCacheId, token: CancellationToken): Promise; $releaseCompletionItems(handle: number, id: number): void; registerCompletionItemProvider(selector: DocumentSelector, provider: CompletionItemProvider, triggerCharacters: string[], extension: IExtensionDescription): Disposable; registerInlineCompletionsProvider(extension: IExtensionDescription, selector: vscode.DocumentSelector, provider: vscode.InlineCompletionItemProvider, metadata: vscode.InlineCompletionItemProviderMetadata | undefined): Disposable; registerInlineEditProvider(extension: IExtensionDescription, selector: vscode.DocumentSelector, provider: vscode.InlineEditProvider): Disposable; $provideInlineEdit(handle: number, resource: UriComponents, context: InlineEditContext, token: CancellationToken): Promise; $freeInlineEdit(handle: number, pid: number): void; $provideInlineCompletions(handle: number, resource: UriComponents, position: IPosition, context: InlineCompletionContext, token: CancellationToken): Promise; $handleInlineCompletionDidShow(handle: number, pid: number, idx: number, updatedInsertText: string): void; $handleInlineCompletionPartialAccept(handle: number, pid: number, idx: number, acceptedCharacters: number): void; $freeInlineCompletionsList(handle: number, pid: number): void; $provideDefinition(handle: number, resource: Uri, position: Position, token: CancellationToken): Promise; $provideDefinitionWithDuration(handle: number, resource: Uri, position: Position, token: CancellationToken): Promise>; registerDefinitionProvider(selector: DocumentSelector, provider: DefinitionProvider, extension: IExtensionDescription): Disposable; $provideTypeDefinition(handle: number, resource: Uri, position: Position, token: CancellationToken): Promise; $provideTypeDefinitionWithDuration(handle: number, resource: Uri, position: Position, token: CancellationToken): any; registerTypeDefinitionProvider(selector: DocumentSelector, provider: TypeDefinitionProvider, extension: IExtensionDescription): Disposable; registerFoldingRangeProvider(selector: DocumentSelector, provider: FoldingRangeProvider, extension: IExtensionDescription): Disposable; $provideFoldingRange(handle: number, resource: Uri, context: FoldingContext, token: CancellationToken): Promise; registerColorProvider(selector: DocumentSelector, provider: DocumentColorProvider, extension: IExtensionDescription): Disposable; $provideDocumentColors(handle: number, resource: Uri, token: CancellationToken): Promise; $provideColorPresentations(handle: number, resource: Uri, colorInfo: RawColorInfo, token: CancellationToken): Promise; registerDocumentHighlightProvider(selector: DocumentSelector, provider: DocumentHighlightProvider, extension: IExtensionDescription): Disposable; $provideDocumentHighlights(handle: number, resource: Uri, position: Position, token: CancellationToken): Promise; registerDocumentFormattingEditProvider(extension: IExtensionDescription, selector: DocumentSelector, provider: DocumentFormattingEditProvider): Disposable; $provideDocumentFormattingEdits(handle: number, resource: Uri, options: FormattingOptions): Promise; registerDocumentRangeFormattingEditProvider(extension: IExtensionDescription, selector: DocumentSelector, provider: DocumentRangeFormattingEditProvider): Disposable; $provideDocumentRangeFormattingEdits(handle: number, resource: Uri, range: Range, options: FormattingOptions): Promise; registerOnTypeFormattingEditProvider(selector: DocumentSelector, provider: OnTypeFormattingEditProvider, triggerCharacters: string[], extension: IExtensionDescription): Disposable; $provideOnTypeFormattingEdits(handle: number, resource: Uri, position: Position, ch: string, options: FormattingOptions): Promise; $provideOnTypeFormattingEditsWithDuration(handle: number, resource: Uri, position: Position, ch: string, options: FormattingOptions): Promise>; registerCodeLensProvider(selector: DocumentSelector, provider: CodeLensProvider, extension: IExtensionDescription): Disposable; $provideCodeLenses(handle: number, resource: Uri, token: CancellationToken): Promise; $resolveCodeLens(handle: number, symbol: CodeLens, token: CancellationToken): Promise; $releaseCodeLens(handle: number, cacheId: number): Promise; registerCodeActionsProvider(extension: IExtensionDescription, selector: DocumentSelector, provider: CodeActionProvider, metadata?: CodeActionProviderMetadata): Disposable; $provideCodeActions(handle: number, resource: Uri, rangeOrSelection: Range | Selection, context: CodeActionContext, token: CancellationToken): Promise; $provideImplementation(handle: number, resource: Uri, position: Position): Promise; $provideImplementationWithDuration(handle: number, resource: Uri, position: Position): Promise>; registerImplementationProvider(selector: DocumentSelector, provider: ImplementationProvider, extension: IExtensionDescription): Disposable; registerDeclarationProvider(selector: DocumentSelector, provider: DeclarationProvider, extension: IExtensionDescription): Disposable; get onDidChangeDiagnostics(): import("@opensumi/ide-core-common").Event; getDiagnostics(resource?: Uri): Diagnostic[] | [Uri, Diagnostic[]][]; createDiagnosticCollection(name?: string): DiagnosticCollection; $provideDocumentLinks(handle: number, resource: Uri, token: CancellationToken): Promise; $resolveDocumentLink(handle: number, id: ChainedCacheId, token: CancellationToken): Promise; $releaseDocumentLinks(handle: number, cacheId: number): Promise; registerDocumentLinkProvider(selector: DocumentSelector, provider: DocumentLinkProvider, extension: IExtensionDescription): Disposable; $provideReferences(handle: number, resource: Uri, position: Position, context: ReferenceContext, token: CancellationToken): Promise; $provideReferencesWithDuration(handle: number, resource: Uri, position: Position, context: ReferenceContext, token: CancellationToken): Promise>; registerReferenceProvider(selector: DocumentSelector, provider: ReferenceProvider, extension: IExtensionDescription): Disposable; setLanguageConfiguration(language: string, configuration: LanguageConfiguration): Disposable; registerDocumentSymbolProvider(selector: DocumentSelector, provider: DocumentSymbolProvider, extension: IExtensionDescription): Disposable; $provideDocumentSymbols(handle: number, resource: Uri, token: CancellationToken): Promise; registerWorkspaceSymbolProvider(provider: WorkspaceSymbolProvider, extension: IExtensionDescription): Disposable; $provideWorkspaceSymbols(handle: number, query: string, token: CancellationToken): PromiseLike; $resolveWorkspaceSymbol(handle: number, symbol: SymbolInformation, token: CancellationToken): PromiseLike; $provideSignatureHelp(handle: number, resource: Uri, position: Position, context: SignatureHelpContextDto, token: CancellationToken): Promise; $releaseSignatureHelp(handle: number, cacheId: number): Promise; registerSignatureHelpProvider(selector: DocumentSelector, provider: SignatureHelpProvider, metadataOrTriggerChars: string[] | SignatureHelpProviderMetadata, extension: IExtensionDescription): Disposable; registerRenameProvider(selector: DocumentSelector, provider: RenameProvider, extension: IExtensionDescription): Disposable; $provideRenameEdits(handle: number, resource: Uri, position: Position, newName: string, token: CancellationToken): Promise; $resolveRenameLocation(handle: number, resource: Uri, position: Position, token: CancellationToken): Promise; registerNewSymbolNamesProvider(selector: DocumentSelector, provider: NewSymbolNamesProvider, extension: IExtensionDescription): Disposable; $provideNewSymbolNames(handle: number, resource: Uri, range: Range, triggerKind: NewSymbolNameTriggerKind, token: CancellationToken): Promise; registerSelectionRangeProvider(selector: DocumentSelector, provider: SelectionRangeProvider, extension: IExtensionDescription): Disposable; $provideSelectionRanges(handle: number, resource: Uri, positions: Position[], token: CancellationToken): Promise; registerCallHierarchyProvider(selector: DocumentSelector, provider: CallHierarchyProvider, extension: IExtensionDescription): Disposable; $prepareCallHierarchy(handle: number, resource: UriComponents, position: Position, token: CancellationToken): Promise; $provideCallHierarchyIncomingCalls(handle: number, sessionId: string, itemId: string, token: CancellationToken): Promise; $provideCallHierarchyOutgoingCalls(handle: number, sessionId: string, itemId: string, token: CancellationToken): Promise; $releaseCallHierarchy(handle: number, sessionId: string): void; registerTypeHierarchyProvider(selector: DocumentSelector, provider: TypeHierarchyProvider, extension: IExtensionDescription): Disposable; $prepareTypeHierarchy(handle: number, resource: UriComponents, position: Position, token: CancellationToken): Promise<{ _sessionId: string; _itemId: string; kind: import("@opensumi/ide-monaco/lib/common").SymbolKind; name: string; detail?: string | undefined; uri: import("vscode-uri/lib/umd/uri").UriComponents; range: { startLineNumber: number; startColumn: number; endLineNumber: number; endColumn: number; }; selectionRange: { startLineNumber: number; startColumn: number; endLineNumber: number; endColumn: number; }; tags?: import("@opensumi/ide-core-common").SymbolTag[] | undefined; }[] | undefined>; $provideTypeHierarchySupertypes(handle: number, sessionId: string, itemId: string, token: CancellationToken): Promise<{ _sessionId: string; _itemId: string; kind: import("@opensumi/ide-monaco/lib/common").SymbolKind; name: string; detail?: string | undefined; uri: import("vscode-uri/lib/umd/uri").UriComponents; range: { startLineNumber: number; startColumn: number; endLineNumber: number; endColumn: number; }; selectionRange: { startLineNumber: number; startColumn: number; endLineNumber: number; endColumn: number; }; tags?: import("@opensumi/ide-core-common").SymbolTag[] | undefined; }[] | undefined>; $provideTypeHierarchySubtypes(handle: number, sessionId: string, itemId: string, token: CancellationToken): Promise<{ _sessionId: string; _itemId: string; kind: import("@opensumi/ide-monaco/lib/common").SymbolKind; name: string; detail?: string | undefined; uri: import("vscode-uri/lib/umd/uri").UriComponents; range: { startLineNumber: number; startColumn: number; endLineNumber: number; endColumn: number; }; selectionRange: { startLineNumber: number; startColumn: number; endLineNumber: number; endColumn: number; }; tags?: import("@opensumi/ide-core-common").SymbolTag[] | undefined; }[] | undefined>; $releaseTypeHierarchy(handle: number, sessionId: string): void; registerDocumentSemanticTokensProvider(selector: DocumentSelector, provider: DocumentSemanticTokensProvider, legend: SemanticTokensLegend, extension: IExtensionDescription): Disposable; $provideDocumentSemanticTokens(handle: number, resource: Uri, previousResultId: number, token: CancellationToken): Promise; $releaseDocumentSemanticTokens(handle: number, semanticColoringResultId: number): void; registerDocumentRangeSemanticTokensProvider(extension: IExtensionDescription, selector: DocumentSelector, provider: DocumentRangeSemanticTokensProvider, legend: SemanticTokensLegend): Disposable; $provideDocumentRangeSemanticTokens(handle: number, resource: Uri, range: Range, token: CancellationToken): Promise; registerEvaluatableExpressionProvider(extension: IExtensionDescription, selector: DocumentSelector, provider: EvaluatableExpressionProvider): Disposable; $provideEvaluatableExpression(handle: number, resource: Uri, position: Position, token: CancellationToken): Promise; registerInlineValuesProvider(extension: IExtensionDescription, selector: DocumentSelector, provider: InlineValuesProvider): Disposable; $provideInlineValues(handle: number, resource: Uri, range: Range, context: IInlineValueContextDto, token: CancellationToken): Promise; registerLinkedEditingRangeProvider(extension: IExtensionDescription, selector: DocumentSelector, provider: LinkedEditingRangeProvider): Disposable; $provideLinkedEditingRanges(handle: number, resource: UriComponents, position: Position, token: CancellationToken): Promise; registerInlayHintsProvider(extension: IExtensionDescription, selector: vscode.DocumentSelector, provider: vscode.InlayHintsProvider): Disposable; $provideInlayHints(handle: number, resource: UriComponents, range: Range, token: CancellationToken): Promise; $resolveInlayHint(handle: number, id: ChainedCacheId, token: CancellationToken): Promise; $releaseInlayHints(handle: number, id: number): void; private _handlePool; private _ids; createLanguageStatusItem(extension: IExtensionDescription, id: string, selector: vscode.DocumentSelector): vscode.LanguageStatusItem; registerDocumentDropEditProvider(extension: IExtensionDescription, selector: vscode.DocumentSelector, provider: vscode.DocumentDropEditProvider, metadata?: vscode.DocumentDropEditProviderMetadata): IDisposable; registerDocumentPasteEditProvider(extension: IExtensionDescription, selector: vscode.DocumentSelector, provider: vscode.DocumentPasteEditProvider, metadata: vscode.DocumentPasteProviderMetadata): IDisposable; } //# sourceMappingURL=ext.host.language.d.ts.map