import { Language } from '@volar/language-core'; import type * as ts from 'typescript'; import type { TypeScriptExtraServiceScript } from '../..'; import type { createSys } from './createSys'; export interface TypeScriptProjectHost extends Pick { } declare module 'typescript' { interface LanguageServiceHost { /** * @internal */ getModuleResolutionCache?(): ts.ModuleResolutionCache; } } export declare function createLanguageServiceHost(ts: typeof import('typescript'), sys: ReturnType | ts.System, language: Language, asScriptId: (fileName: string) => T, projectHost: TypeScriptProjectHost): { languageServiceHost: ts.LanguageServiceHost; getExtraServiceScript: (fileName: string) => TypeScriptExtraServiceScript | undefined; };