import * as _babel_types from '@babel/types'; import { Statement, Expression, TSType, Program, Node, ObjectPattern, TSModuleDeclaration, TSPropertySignature, TSMethodSignature, TSCallSignatureDeclaration, TSFunctionType } from '@babel/types'; import { CompilerOptions, CodegenResult, ParserOptions, RootNode, CompilerError, SourceLocation, ElementNode, BindingMetadata as BindingMetadata$1 } from '@vue/compiler-core'; export { BindingMetadata, CompilerError, CompilerOptions, extractIdentifiers, generateCodeFrame, isInDestructureAssignment, isStaticProperty, walkIdentifiers } from '@vue/compiler-core'; import { RawSourceMap } from 'source-map-js'; import { ParserPlugin } from '@babel/parser'; export { parse as babelParse } from '@babel/parser'; import { Result, LazyResult } from 'postcss'; import MagicString from 'magic-string'; export { default as MagicString } from 'magic-string'; export { shouldTransform as shouldTransformRef, transform as transformRef, transformAST as transformRefAST } from '@vue/reactivity-transform'; export interface AssetURLTagConfig { [name: string]: string[]; } export interface AssetURLOptions { /** * If base is provided, instead of transforming relative asset urls into * imports, they will be directly rewritten to absolute urls. */ base?: string | null; /** * If true, also processes absolute urls. */ includeAbsolute?: boolean; tags?: AssetURLTagConfig; } export interface TemplateCompiler { compile(template: string, options: CompilerOptions): CodegenResult; parse(template: string, options: ParserOptions): RootNode; } export interface SFCTemplateCompileResults { code: string; ast?: RootNode; preamble?: string; source: string; tips: string[]; errors: (string | CompilerError)[]; map?: RawSourceMap; } export interface SFCTemplateCompileOptions { source: string; filename: string; id: string; scoped?: boolean; slotted?: boolean; isProd?: boolean; ssr?: boolean; ssrCssVars?: string[]; inMap?: RawSourceMap; compiler?: TemplateCompiler; compilerOptions?: CompilerOptions; preprocessLang?: string; preprocessOptions?: any; /** * In some cases, compiler-sfc may not be inside the project root (e.g. when * linked or globally installed). In such cases a custom `require` can be * passed to correctly resolve the preprocessors. */ preprocessCustomRequire?: (id: string) => any; /** * Configure what tags/attributes to transform into asset url imports, * or disable the transform altogether with `false`. */ transformAssetUrls?: AssetURLOptions | AssetURLTagConfig | boolean; } export declare function compileTemplate(options: SFCTemplateCompileOptions): SFCTemplateCompileResults; export interface SFCScriptCompileOptions { /** * Scope ID for prefixing injected CSS variables. * This must be consistent with the `id` passed to `compileStyle`. */ id: string; /** * Production mode. Used to determine whether to generate hashed CSS variables */ isProd?: boolean; /** * Enable/disable source map. Defaults to true. */ sourceMap?: boolean; /** * https://babeljs.io/docs/en/babel-parser#plugins */ babelParserPlugins?: ParserPlugin[]; /** * A list of files to parse for global types to be made available for type * resolving in SFC macros. The list must be fully resolved file system paths. */ globalTypeFiles?: string[]; /** * Compile the template and inline the resulting render function * directly inside setup(). * - Only affects `