import { TypeScriptLanguageHost } from '@volar/language-service'; import type * as ts from 'typescript/lib/tsserverlibrary'; import * as vscode from 'vscode-languageserver'; import { URI } from 'vscode-uri'; import { WorkspacesContext } from './workspaces'; export interface ProjectContext extends WorkspacesContext { project: { workspaceUri: URI; rootUri: URI; tsConfig: string | ts.CompilerOptions; }; } export type Project = ReturnType; export declare function createProject(context: ProjectContext): Promise<{ context: ProjectContext; tsConfig: string | ts.CompilerOptions; languageHost: TypeScriptLanguageHost; getLanguageService: () => { getTriggerCharacters: () => string[]; getAutoFormatTriggerCharacters: () => string[]; getSignatureHelpTriggerCharacters: () => string[]; getSignatureHelpRetriggerCharacters: () => string[]; format: (uri: string, options: vscode.FormattingOptions, range: vscode.Range | undefined, onTypeParams: { ch: string; position: vscode.Position; } | undefined, token?: vscode.CancellationToken | undefined) => Promise; getFoldingRanges: (uri: string, token?: vscode.CancellationToken | undefined) => Promise; getSelectionRanges: (uri: string, positions: vscode.Position[], token?: vscode.CancellationToken | undefined) => Promise; findLinkedEditingRanges: (uri: string, position: vscode.Position, token?: vscode.CancellationToken | undefined) => Promise; findDocumentSymbols: (uri: string, token?: vscode.CancellationToken | undefined) => Promise; findDocumentColors: (uri: string, token?: vscode.CancellationToken | undefined) => Promise; getColorPresentations: (uri: string, color: vscode.Color, range: vscode.Range, token?: vscode.CancellationToken | undefined) => Promise; doValidation: (uri: string, mode: "all" | "semantic" | "syntactic", token?: vscode.CancellationToken | undefined, response?: ((result: vscode.Diagnostic[]) => void) | undefined) => Promise; findReferences: (uri: string, position: vscode.Position, token?: vscode.CancellationToken | undefined) => Promise; findFileReferences: (uri: string, token?: vscode.CancellationToken | undefined) => import("@volar/language-service").NullableResult; findDefinition: (uri: string, position: vscode.Position, token?: vscode.CancellationToken | undefined) => Promise; findTypeDefinition: (uri: string, position: vscode.Position, token?: vscode.CancellationToken | undefined) => Promise; findImplementations: (uri: string, position: vscode.Position, token?: vscode.CancellationToken | undefined) => Promise; prepareRename: (uri: string, position: vscode.Position, token?: vscode.CancellationToken | undefined) => Promise | undefined>; doRename: (uri: string, position: vscode.Position, newName: string, token?: vscode.CancellationToken | undefined) => Promise; getEditsForFileRename: (oldUri: string, newUri: string, token?: vscode.CancellationToken | undefined) => Promise; getSemanticTokens: (uri: string, range: vscode.Range | undefined, legend: vscode.SemanticTokensLegend, token?: vscode.CancellationToken | undefined, reportProgress?: ((tokens: vscode.SemanticTokens) => void) | undefined) => Promise; doHover: (uri: string, position: vscode.Position, token?: vscode.CancellationToken | undefined) => Promise; doComplete: (uri: string, position: vscode.Position, completionContext?: vscode.CompletionContext | undefined, token?: vscode.CancellationToken | undefined) => Promise; doCodeActions: (uri: string, range: vscode.Range, codeActionContext: vscode.CodeActionContext, token?: vscode.CancellationToken | undefined) => Promise; doCodeActionResolve: (item: vscode.CodeAction, token?: vscode.CancellationToken | undefined) => Promise; doCompletionResolve: (item: vscode.CompletionItem, token?: vscode.CancellationToken | undefined) => Promise; getSignatureHelp: (uri: string, position: vscode.Position, signatureHelpContext?: vscode.SignatureHelpContext | undefined, token?: vscode.CancellationToken | undefined) => Promise; doCodeLens: (uri: string, token?: vscode.CancellationToken | undefined) => Promise; doCodeLensResolve: (item: vscode.CodeLens, token?: vscode.CancellationToken | undefined) => Promise; findDocumentHighlights: (uri: string, position: vscode.Position, token?: vscode.CancellationToken | undefined) => Promise; findDocumentLinks: (uri: string, token?: vscode.CancellationToken | undefined) => Promise; doDocumentLinkResolve: (item: vscode.DocumentLink, token?: vscode.CancellationToken | undefined) => Promise; findWorkspaceSymbols: (query: string, token?: vscode.CancellationToken | undefined) => Promise; doAutoInsert: (uri: string, position: vscode.Position, autoInsertContext: import("@volar/language-service").AutoInsertionContext, token?: vscode.CancellationToken | undefined) => Promise | undefined>; getInlayHints: (uri: string, range: vscode.Range, token?: vscode.CancellationToken | undefined) => Promise; doInlayHintResolve: (item: vscode.InlayHint, token?: vscode.CancellationToken | undefined) => Promise; callHierarchy: { doPrepare(uri: string, position: vscode.Position, token?: vscode.CancellationToken | undefined): Promise; getIncomingCalls(item: vscode.CallHierarchyItem, token: vscode.CancellationToken): Promise; getOutgoingCalls(item: vscode.CallHierarchyItem, token: vscode.CancellationToken): Promise; }; dispose: () => void; context: import("@volar/language-service").ServiceContext; }; getLanguageServiceDontCreate: () => { getTriggerCharacters: () => string[]; getAutoFormatTriggerCharacters: () => string[]; getSignatureHelpTriggerCharacters: () => string[]; getSignatureHelpRetriggerCharacters: () => string[]; format: (uri: string, options: vscode.FormattingOptions, range: vscode.Range | undefined, onTypeParams: { ch: string; position: vscode.Position; } | undefined, token?: vscode.CancellationToken | undefined) => Promise; getFoldingRanges: (uri: string, token?: vscode.CancellationToken | undefined) => Promise; getSelectionRanges: (uri: string, positions: vscode.Position[], token?: vscode.CancellationToken | undefined) => Promise; findLinkedEditingRanges: (uri: string, position: vscode.Position, token?: vscode.CancellationToken | undefined) => Promise; findDocumentSymbols: (uri: string, token?: vscode.CancellationToken | undefined) => Promise; findDocumentColors: (uri: string, token?: vscode.CancellationToken | undefined) => Promise; getColorPresentations: (uri: string, color: vscode.Color, range: vscode.Range, token?: vscode.CancellationToken | undefined) => Promise; doValidation: (uri: string, mode: "all" | "semantic" | "syntactic", token?: vscode.CancellationToken | undefined, response?: ((result: vscode.Diagnostic[]) => void) | undefined) => Promise; findReferences: (uri: string, position: vscode.Position, token?: vscode.CancellationToken | undefined) => Promise; findFileReferences: (uri: string, token?: vscode.CancellationToken | undefined) => import("@volar/language-service").NullableResult; findDefinition: (uri: string, position: vscode.Position, token?: vscode.CancellationToken | undefined) => Promise; findTypeDefinition: (uri: string, position: vscode.Position, token?: vscode.CancellationToken | undefined) => Promise; findImplementations: (uri: string, position: vscode.Position, token?: vscode.CancellationToken | undefined) => Promise; prepareRename: (uri: string, position: vscode.Position, token?: vscode.CancellationToken | undefined) => Promise | undefined>; doRename: (uri: string, position: vscode.Position, newName: string, token?: vscode.CancellationToken | undefined) => Promise; getEditsForFileRename: (oldUri: string, newUri: string, token?: vscode.CancellationToken | undefined) => Promise; getSemanticTokens: (uri: string, range: vscode.Range | undefined, legend: vscode.SemanticTokensLegend, token?: vscode.CancellationToken | undefined, reportProgress?: ((tokens: vscode.SemanticTokens) => void) | undefined) => Promise; doHover: (uri: string, position: vscode.Position, token?: vscode.CancellationToken | undefined) => Promise; doComplete: (uri: string, position: vscode.Position, completionContext?: vscode.CompletionContext | undefined, token?: vscode.CancellationToken | undefined) => Promise; doCodeActions: (uri: string, range: vscode.Range, codeActionContext: vscode.CodeActionContext, token?: vscode.CancellationToken | undefined) => Promise; doCodeActionResolve: (item: vscode.CodeAction, token?: vscode.CancellationToken | undefined) => Promise; doCompletionResolve: (item: vscode.CompletionItem, token?: vscode.CancellationToken | undefined) => Promise; getSignatureHelp: (uri: string, position: vscode.Position, signatureHelpContext?: vscode.SignatureHelpContext | undefined, token?: vscode.CancellationToken | undefined) => Promise; doCodeLens: (uri: string, token?: vscode.CancellationToken | undefined) => Promise; doCodeLensResolve: (item: vscode.CodeLens, token?: vscode.CancellationToken | undefined) => Promise; findDocumentHighlights: (uri: string, position: vscode.Position, token?: vscode.CancellationToken | undefined) => Promise; findDocumentLinks: (uri: string, token?: vscode.CancellationToken | undefined) => Promise; doDocumentLinkResolve: (item: vscode.DocumentLink, token?: vscode.CancellationToken | undefined) => Promise; findWorkspaceSymbols: (query: string, token?: vscode.CancellationToken | undefined) => Promise; doAutoInsert: (uri: string, position: vscode.Position, autoInsertContext: import("@volar/language-service").AutoInsertionContext, token?: vscode.CancellationToken | undefined) => Promise | undefined>; getInlayHints: (uri: string, range: vscode.Range, token?: vscode.CancellationToken | undefined) => Promise; doInlayHintResolve: (item: vscode.InlayHint, token?: vscode.CancellationToken | undefined) => Promise; callHierarchy: { doPrepare(uri: string, position: vscode.Position, token?: vscode.CancellationToken | undefined): Promise; getIncomingCalls(item: vscode.CallHierarchyItem, token: vscode.CancellationToken): Promise; getOutgoingCalls(item: vscode.CallHierarchyItem, token: vscode.CancellationToken): Promise; }; dispose: () => void; context: import("@volar/language-service").ServiceContext; } | undefined; getParsedCommandLine: () => ts.ParsedCommandLine; tryAddFile: (fileName: string) => void; askedFiles: { clear: () => void; values: () => IterableIterator; uriKeys: () => IterableIterator; uriDelete: (_uri: string) => boolean; uriGet: (_uri: string) => boolean | undefined; uriHas: (_uri: string) => boolean; uriSet: (_uri: string, item: boolean) => void; pathDelete: (path: string) => boolean; pathGet: (path: string) => boolean | undefined; pathHas: (path: string) => boolean | undefined; pathSet: (path: string, item: boolean) => void; }; dispose: () => void; }>; //# sourceMappingURL=project.d.ts.map