import { type Language } from '@volar/language-core'; import type * as vscode from 'vscode-languageserver-protocol'; import { URI } from 'vscode-uri'; import type { LanguageServiceContext, LanguageServiceEnvironment, LanguageServicePlugin, ProjectContext } from './types'; export type LanguageService = ReturnType; export declare const embeddedContentScheme = "volar-embedded-content"; export declare function createLanguageService(language: Language, plugins: LanguageServicePlugin[], env: LanguageServiceEnvironment, project: ProjectContext): { dispose: () => void; context: LanguageServiceContext; getCallHierarchyItems(uri: URI, position: vscode.Position, token?: vscode.CancellationToken): Promise; getTypeHierarchyItems(uri: URI, position: vscode.Position, token?: vscode.CancellationToken): Promise; getCallHierarchyIncomingCalls(item: vscode.CallHierarchyItem, token: vscode.CancellationToken): Promise; getCallHierarchyOutgoingCalls(item: vscode.CallHierarchyItem, token: vscode.CancellationToken): Promise; getTypeHierarchySupertypes(item: vscode.CallHierarchyItem, token: vscode.CancellationToken): Promise; getTypeHierarchySubtypes(item: vscode.CallHierarchyItem, token: vscode.CancellationToken): Promise; semanticTokenLegend: { tokenModifiers: string[]; tokenTypes: string[]; }; commands: string[]; triggerCharacters: string[]; autoFormatTriggerCharacters: string[]; signatureHelpTriggerCharacters: string[]; signatureHelpRetriggerCharacters: string[]; executeCommand(command: string, args: any[], token?: vscode.CancellationToken): any; getDocumentFormattingEdits: (uri: URI, options: vscode.FormattingOptions, range: vscode.Range | undefined, onTypeParams: { ch: string; position: vscode.Position; } | undefined, token?: vscode.CancellationToken) => Promise; getFoldingRanges: (uri: URI, token?: vscode.CancellationToken) => Promise; getSelectionRanges: (uri: URI, positions: vscode.Position[], token?: vscode.CancellationToken) => Promise; getLinkedEditingRanges: (uri: URI, position: vscode.Position, token?: vscode.CancellationToken) => Promise; getDocumentSymbols: (uri: URI, token?: vscode.CancellationToken) => Promise; getDocumentColors: (uri: URI, token?: vscode.CancellationToken) => Promise; getColorPresentations: (uri: URI, color: vscode.Color, range: vscode.Range, token?: vscode.CancellationToken) => Promise; getDiagnostics: (uri: URI, response?: (result: vscode.Diagnostic[]) => void, token?: vscode.CancellationToken) => Promise; getWorkspaceDiagnostics: (token?: vscode.CancellationToken) => Promise; getReferences: (uri: URI, position: vscode.Position, referenceContext: vscode.ReferenceContext, token?: vscode.CancellationToken) => Promise; getFileReferences: (uri: URI, token?: vscode.CancellationToken) => import("./types").NullableProviderResult; getDeclaration: (uri: URI, position: vscode.Position, token?: vscode.CancellationToken) => Promise; getDefinition: (uri: URI, position: vscode.Position, token?: vscode.CancellationToken) => Promise; getTypeDefinition: (uri: URI, position: vscode.Position, token?: vscode.CancellationToken) => Promise; getImplementations: (uri: URI, position: vscode.Position, token?: vscode.CancellationToken) => Promise; getRenameRange: (uri: URI, position: vscode.Position, token?: vscode.CancellationToken) => Promise; getRenameEdits: (uri: URI, position: vscode.Position, newName: string, token?: vscode.CancellationToken) => Promise; getFileRenameEdits: (oldUri: URI, newUri: URI, token?: vscode.CancellationToken) => Promise; getSemanticTokens: (uri: URI, range: vscode.Range | undefined, legend: vscode.SemanticTokensLegend, _reportProgress?: (tokens: vscode.SemanticTokens) => void, token?: vscode.CancellationToken) => Promise; getHover: (uri: URI, position: vscode.Position, token?: vscode.CancellationToken) => Promise; getCompletionItems: (uri: URI, position: vscode.Position, completionContext?: vscode.CompletionContext, token?: vscode.CancellationToken) => Promise; getCodeActions: (uri: URI, range: vscode.Range, codeActionContext: vscode.CodeActionContext, token?: vscode.CancellationToken) => Promise; getSignatureHelp: (uri: URI, position: vscode.Position, signatureHelpContext?: vscode.SignatureHelpContext, token?: vscode.CancellationToken) => Promise; getCodeLenses: (uri: URI, token?: vscode.CancellationToken) => Promise; getDocumentHighlights: (uri: URI, position: vscode.Position, token?: vscode.CancellationToken) => Promise; getDocumentLinks: (uri: URI, token?: vscode.CancellationToken) => Promise; getWorkspaceSymbols: (query: string, token?: vscode.CancellationToken) => Promise; getAutoInsertSnippet: (uri: URI, selection: vscode.Position, change: { rangeOffset: number; rangeLength: number; text: string; }, token?: vscode.CancellationToken) => Promise; getDocumentDropEdits: (uri: URI, position: vscode.Position, dataTransfer: Map, token?: vscode.CancellationToken) => Promise; getInlayHints: (uri: URI, range: vscode.Range, token?: vscode.CancellationToken) => Promise; getMoniker: (uri: URI, position: vscode.Position, token?: vscode.CancellationToken) => Promise; getInlineValue: (uri: URI, range: vscode.Range, ivContext: vscode.InlineValueContext, token?: vscode.CancellationToken) => Promise; resolveCodeAction: (item: vscode.CodeAction, token?: vscode.CancellationToken) => Promise; resolveCompletionItem: (item: vscode.CompletionItem, token?: vscode.CancellationToken) => Promise; resolveCodeLens: (item: vscode.CodeLens, token?: vscode.CancellationToken) => Promise; resolveDocumentLink: (item: vscode.DocumentLink, token?: vscode.CancellationToken) => Promise; resolveInlayHint: (item: vscode.InlayHint, token?: vscode.CancellationToken) => Promise; resolveWorkspaceSymbol: (item: vscode.WorkspaceSymbol, token?: vscode.CancellationToken) => Promise; }; export declare function decodeEmbeddedDocumentUri(maybeEmbeddedContentUri: URI): [ documentUri: URI, embeddedCodeId: string ] | undefined; export declare function encodeEmbeddedDocumentUri(documentUri: URI, embeddedContentId: string): URI; declare function createLanguageServiceBase(plugins: LanguageServicePlugin[], context: LanguageServiceContext): { dispose: () => void; context: LanguageServiceContext; getCallHierarchyItems(uri: URI, position: vscode.Position, token?: vscode.CancellationToken): Promise; getTypeHierarchyItems(uri: URI, position: vscode.Position, token?: vscode.CancellationToken): Promise; getCallHierarchyIncomingCalls(item: vscode.CallHierarchyItem, token: vscode.CancellationToken): Promise; getCallHierarchyOutgoingCalls(item: vscode.CallHierarchyItem, token: vscode.CancellationToken): Promise; getTypeHierarchySupertypes(item: vscode.CallHierarchyItem, token: vscode.CancellationToken): Promise; getTypeHierarchySubtypes(item: vscode.CallHierarchyItem, token: vscode.CancellationToken): Promise; semanticTokenLegend: { tokenModifiers: string[]; tokenTypes: string[]; }; commands: string[]; triggerCharacters: string[]; autoFormatTriggerCharacters: string[]; signatureHelpTriggerCharacters: string[]; signatureHelpRetriggerCharacters: string[]; executeCommand(command: string, args: any[], token?: vscode.CancellationToken): any; getDocumentFormattingEdits: (uri: URI, options: vscode.FormattingOptions, range: vscode.Range | undefined, onTypeParams: { ch: string; position: vscode.Position; } | undefined, token?: vscode.CancellationToken) => Promise; getFoldingRanges: (uri: URI, token?: vscode.CancellationToken) => Promise; getSelectionRanges: (uri: URI, positions: vscode.Position[], token?: vscode.CancellationToken) => Promise; getLinkedEditingRanges: (uri: URI, position: vscode.Position, token?: vscode.CancellationToken) => Promise; getDocumentSymbols: (uri: URI, token?: vscode.CancellationToken) => Promise; getDocumentColors: (uri: URI, token?: vscode.CancellationToken) => Promise; getColorPresentations: (uri: URI, color: vscode.Color, range: vscode.Range, token?: vscode.CancellationToken) => Promise; getDiagnostics: (uri: URI, response?: (result: vscode.Diagnostic[]) => void, token?: vscode.CancellationToken) => Promise; getWorkspaceDiagnostics: (token?: vscode.CancellationToken) => Promise; getReferences: (uri: URI, position: vscode.Position, referenceContext: vscode.ReferenceContext, token?: vscode.CancellationToken) => Promise; getFileReferences: (uri: URI, token?: vscode.CancellationToken) => import("./types").NullableProviderResult; getDeclaration: (uri: URI, position: vscode.Position, token?: vscode.CancellationToken) => Promise; getDefinition: (uri: URI, position: vscode.Position, token?: vscode.CancellationToken) => Promise; getTypeDefinition: (uri: URI, position: vscode.Position, token?: vscode.CancellationToken) => Promise; getImplementations: (uri: URI, position: vscode.Position, token?: vscode.CancellationToken) => Promise; getRenameRange: (uri: URI, position: vscode.Position, token?: vscode.CancellationToken) => Promise; getRenameEdits: (uri: URI, position: vscode.Position, newName: string, token?: vscode.CancellationToken) => Promise; getFileRenameEdits: (oldUri: URI, newUri: URI, token?: vscode.CancellationToken) => Promise; getSemanticTokens: (uri: URI, range: vscode.Range | undefined, legend: vscode.SemanticTokensLegend, _reportProgress?: (tokens: vscode.SemanticTokens) => void, token?: vscode.CancellationToken) => Promise; getHover: (uri: URI, position: vscode.Position, token?: vscode.CancellationToken) => Promise; getCompletionItems: (uri: URI, position: vscode.Position, completionContext?: vscode.CompletionContext, token?: vscode.CancellationToken) => Promise; getCodeActions: (uri: URI, range: vscode.Range, codeActionContext: vscode.CodeActionContext, token?: vscode.CancellationToken) => Promise; getSignatureHelp: (uri: URI, position: vscode.Position, signatureHelpContext?: vscode.SignatureHelpContext, token?: vscode.CancellationToken) => Promise; getCodeLenses: (uri: URI, token?: vscode.CancellationToken) => Promise; getDocumentHighlights: (uri: URI, position: vscode.Position, token?: vscode.CancellationToken) => Promise; getDocumentLinks: (uri: URI, token?: vscode.CancellationToken) => Promise; getWorkspaceSymbols: (query: string, token?: vscode.CancellationToken) => Promise; getAutoInsertSnippet: (uri: URI, selection: vscode.Position, change: { rangeOffset: number; rangeLength: number; text: string; }, token?: vscode.CancellationToken) => Promise; getDocumentDropEdits: (uri: URI, position: vscode.Position, dataTransfer: Map, token?: vscode.CancellationToken) => Promise; getInlayHints: (uri: URI, range: vscode.Range, token?: vscode.CancellationToken) => Promise; getMoniker: (uri: URI, position: vscode.Position, token?: vscode.CancellationToken) => Promise; getInlineValue: (uri: URI, range: vscode.Range, ivContext: vscode.InlineValueContext, token?: vscode.CancellationToken) => Promise; resolveCodeAction: (item: vscode.CodeAction, token?: vscode.CancellationToken) => Promise; resolveCompletionItem: (item: vscode.CompletionItem, token?: vscode.CancellationToken) => Promise; resolveCodeLens: (item: vscode.CodeLens, token?: vscode.CancellationToken) => Promise; resolveDocumentLink: (item: vscode.DocumentLink, token?: vscode.CancellationToken) => Promise; resolveInlayHint: (item: vscode.InlayHint, token?: vscode.CancellationToken) => Promise; resolveWorkspaceSymbol: (item: vscode.WorkspaceSymbol, token?: vscode.CancellationToken) => Promise; }; export {};