import { CodeGen } from '@volar/code-gen';
import * as SourceMaps from '@volar/source-map';
import type * as templateGen from '../generators/template';
import type { ScriptRanges } from '../parsers/scriptRanges';
import type { ScriptSetupRanges } from '../parsers/scriptSetupRanges';
import { collectCssVars, collectStyleCssClasses } from '../plugins/vue-tsx';
import { Sfc } from '../sourceFile';
import type { EmbeddedFileMappingData, TeleportMappingData, _VueCompilerOptions } from '../types';
/**
 * TODO: rewrite this
 */
export declare function generate(ts: typeof import('typescript/lib/tsserverlibrary'), fileName: string, sfc: Sfc, lang: string, scriptRanges: ScriptRanges | undefined, scriptSetupRanges: ScriptSetupRanges | undefined, cssVars: ReturnType<typeof collectCssVars>, cssModuleClasses: ReturnType<typeof collectStyleCssClasses>, cssScopedClasses: ReturnType<typeof collectStyleCssClasses>, htmlGen: ReturnType<typeof templateGen['generate']> | undefined, compilerOptions: ts.CompilerOptions, vueCompilerOptions: _VueCompilerOptions, codeGen?: CodeGen<EmbeddedFileMappingData>, teleports?: SourceMaps.Mapping<TeleportMappingData>[]): {
    codeGen: CodeGen<EmbeddedFileMappingData>;
    teleports: SourceMaps.Mapping<TeleportMappingData>[];
};
