import { type Language, type VueCompilerOptions } from '@vue/language-core';
import type * as ts from 'typescript';
export declare function preprocessLanguageService(languageService: ts.LanguageService, getLanguage: () => Language<any> | undefined): ts.LanguageService;
export declare function postprocessLanguageService<T>(ts: typeof import('typescript'), language: Language<T>, languageService: ts.LanguageService, vueOptions: VueCompilerOptions, asScriptId: (fileName: string) => T): ts.LanguageService;
export declare function resolveCompletionResult<T>(ts: typeof import('typescript'), language: Language<T>, asScriptId: (fileName: string) => T, vueOptions: VueCompilerOptions, fileName: string, position: number, result: ts.CompletionInfo): void;
export type VueCompletionData = (ts.CompletionEntryData & {
    __vue__componentAutoImport?: {
        oldName: string;
        newName: string;
    };
    __vue__autoImport?: {
        fileName: string;
    };
    __vue__autoImportSuggestions?: {
        fileName: string;
        position: number;
        entryName: string;
        source: string | undefined;
    };
}) | undefined;
export declare function resolveCompletionEntryDetails(language: Language<any>, details: ts.CompletionEntryDetails, data: VueCompletionData): void;
