import { CancellationToken, Language, LanguagePlugin, LanguageServicePlugin, ProjectContext, type LanguageService, type LanguageServiceEnvironment } from '@volar/language-service'; import type * as monaco from 'monaco-types'; import type * as ts from 'typescript'; import { URI } from 'vscode-uri'; export * from '@volar/language-service'; export declare function createSimpleWorkerLanguageService({ env, workerContext, languagePlugins, languageServicePlugins, setup, }: { env: LanguageServiceEnvironment; workerContext: monaco.worker.IWorkerContext; languagePlugins: LanguagePlugin[]; languageServicePlugins: LanguageServicePlugin[]; setup?(options: { language: Language; project: ProjectContext; }): void; }): WorkerLanguageService; export declare function createTypeScriptWorkerLanguageService({ typescript: ts, compilerOptions, env, uriConverter, workerContext, languagePlugins, languageServicePlugins, setup, }: { typescript: typeof import('typescript'); compilerOptions: ts.CompilerOptions; env: LanguageServiceEnvironment; uriConverter: { asUri(fileName: string): URI; asFileName(uri: URI): string; }; workerContext: monaco.worker.IWorkerContext; languagePlugins: LanguagePlugin[]; languageServicePlugins: LanguageServicePlugin[]; setup?(options: { language: Language; project: ProjectContext; }): void; }): WorkerLanguageService; export interface UriComponents { scheme: string; authority: string; path: string; query: string; fragment: string; } export declare class WorkerLanguageService { private languageService; pendingRequests: Map any> | undefined>; constructor(languageService: LanguageService); getSemanticTokenLegend(): { tokenModifiers: string[]; tokenTypes: string[]; }; getCommands(): string[]; getTriggerCharacters(): string[]; getAutoFormatTriggerCharacters(): string[]; getSignatureHelpTriggerCharacters(): string[]; getSignatureHelpRetriggerCharacters(): string[]; executeCommand(requestId: number, ...args: TrimToken): Promise; getDocumentFormattingEdits(requestId: number, uri: UriComponents, ...restArgs: TrimURIAndToken): Promise; getFoldingRanges(requestId: number, uri: UriComponents, ...restArgs: TrimURIAndToken): Promise; getSelectionRanges(requestId: number, uri: UriComponents, ...restArgs: TrimURIAndToken): Promise; getLinkedEditingRanges(requestId: number, uri: UriComponents, ...restArgs: TrimURIAndToken): Promise; getDocumentSymbols(requestId: number, uri: UriComponents, ...restArgs: TrimURIAndToken): Promise; getDocumentColors(requestId: number, uri: UriComponents, ...restArgs: TrimURIAndToken): Promise; getColorPresentations(requestId: number, uri: UriComponents, ...restArgs: TrimURIAndToken): Promise; getDiagnostics(requestId: number, uri: UriComponents): Promise; getWorkspaceDiagnostics(requestId: number): Promise; getReferences(requestId: number, uri: UriComponents, ...restArgs: TrimURIAndToken): Promise; getFileReferences(requestId: number, uri: UriComponents, ...restArgs: TrimURIAndToken): Promise; getDefinition(requestId: number, uri: UriComponents, ...restArgs: TrimURIAndToken): Promise; getTypeDefinition(requestId: number, uri: UriComponents, ...restArgs: TrimURIAndToken): Promise; getImplementations(requestId: number, uri: UriComponents, ...restArgs: TrimURIAndToken): Promise; getRenameRange(requestId: number, uri: UriComponents, ...restArgs: TrimURIAndToken): Promise; getRenameEdits(requestId: number, uri: UriComponents, ...restArgs: TrimURIAndToken): Promise; getFileRenameEdits(requestId: number, uri: UriComponents, ...restArgs: TrimURIAndToken): Promise; getSemanticTokens(requestId: number, uri: UriComponents, ...restArgs: TrimURIAndToken): Promise; getHover(requestId: number, uri: UriComponents, ...restArgs: TrimURIAndToken): Promise; getCompletionItems(requestId: number, uri: UriComponents, ...restArgs: TrimURIAndToken): Promise; getCodeActions(requestId: number, uri: UriComponents, ...restArgs: TrimURIAndToken): Promise; getSignatureHelp(requestId: number, uri: UriComponents, ...restArgs: TrimURIAndToken): Promise; getCodeLenses(requestId: number, uri: UriComponents, ...restArgs: TrimURIAndToken): Promise; getDocumentHighlights(requestId: number, uri: UriComponents, ...restArgs: TrimURIAndToken): Promise; getDocumentLinks(requestId: number, uri: UriComponents, ...restArgs: TrimURIAndToken): Promise; getWorkspaceSymbols(requestId: number, ...args: TrimToken): Promise; getAutoInsertSnippet(requestId: number, uri: UriComponents, ...restArgs: TrimURIAndToken): Promise; getDocumentDropEdits(requestId: number, uri: UriComponents, ...restArgs: TrimURIAndToken): Promise; getInlayHints(requestId: number, uri: UriComponents, ...restArgs: TrimURIAndToken): Promise; resolveCodeAction(requestId: number, ...args: TrimToken): Promise; resolveCompletionItem(requestId: number, ...args: TrimToken): Promise; resolveCodeLens(requestId: number, ...args: TrimToken): Promise; resolveDocumentLink(requestId: number, ...args: TrimToken): Promise; resolveInlayHint(requestId: number, ...args: TrimToken): Promise; resolveWorkspaceSymbol(requestId: number, ...args: TrimToken): Promise; getCallHierarchyItems(requestId: number, uri: UriComponents, ...restArgs: TrimURIAndToken): Promise; getCallHierarchyIncomingCalls(requestId: number, ...args: TrimToken): Promise; getCallHierarchyOutgoingCalls(requestId: number, ...args: TrimToken): Promise; dispose(): void; cancelRequest(requestId: number): void; private withToken; } type TrimURIAndToken = T extends ((...args: [uri: URI, ...infer U, token: CancellationToken]) => any) ? [...U] : never; type TrimToken = T extends ((...args: [...infer U, token: CancellationToken]) => any) ? [...U] : never;