interface ExternalPluginOptionsBase { locales: string[]; checkSyntax?: boolean; virtualModuleName?: string; } interface ExternalPluginOptionsFolder extends ExternalPluginOptionsBase { baseDir: string; ftlDir: string; } interface ExternalPluginOptionsFunction extends ExternalPluginOptionsBase { getFtlPath: (locale: string, vuePath: string) => string; } type ExternalPluginOptions = (ExternalPluginOptionsFolder | ExternalPluginOptionsFunction) & { /** * Whether to parse the ftl syntax before injecting it into component */ parseFtl?: boolean; }; interface SFCPluginOptions { /** * Whether to parse the ftl syntax before injecting it into component */ parseFtl?: boolean; /** * Vue custom block name */ blockType?: string; /** * Whether to check for syntax errors in the ftl source */ checkSyntax?: boolean; } export type { ExternalPluginOptionsFolder as E, SFCPluginOptions as S, ExternalPluginOptionsFunction as a, ExternalPluginOptions as b };