import type { LoaderContext } from 'webpack'; import type { TemplateCompiler, CompilerOptions, SFCTemplateCompileOptions, SFCScriptCompileOptions } from 'vue/compiler-sfc'; import VueLoaderPlugin from './plugin'; export { VueLoaderPlugin }; export interface VueLoaderOptions { babelParserPlugins?: SFCScriptCompileOptions['babelParserPlugins']; transformAssetUrls?: SFCTemplateCompileOptions['transformAssetUrls']; compiler?: TemplateCompiler | string; compilerOptions?: CompilerOptions; /** * TODO remove in 3.4 * @deprecated */ reactivityTransform?: boolean; /** * @experimental */ propsDestructure?: boolean; /** * @experimental */ defineModel?: boolean; customElement?: boolean | RegExp; hotReload?: boolean; exposeFilename?: boolean; appendExtension?: boolean; enableTsInTemplate?: boolean; experimentalInlineMatchResource?: boolean; isServerBuild?: boolean; } export default function loader(this: LoaderContext, source: string): string | void;