import * as bt from '@babel/types'; import { Visitor } from '@babel/traverse'; export declare function buildModifiers(modifiers: any): any; export declare interface Options { optimizate?: boolean; source?: 'vue' | '@vue/runtime-dom' | '@vue/runtime-core'; jsxSource?: '@hcysunyang/babel-plugin-vue-next-jsx/dist/runtime.js'; } export declare type State = { opts: Required; } & { visitorContext: VisitorContext; }; export declare interface VisitorContext { helpers: Set; jsxHelpers: Set; addHelper(name: string): bt.Identifier; addJSXHelper(name: string): bt.Identifier; } declare function VueNextJSX(): { inherits: any; visitor: Visitor<{}>; }; export default VueNextJSX; export { } import 'vue' export type VModelModifiers = ObjectVModelModifiers | ArrayVModelModifiers export type ObjectVModelModifiers = { trim?: boolean lazy?: boolean number?: boolean } export type ArrayVModelModifiers = Array // Intrinaic vModel export type IntrinsicVModelArg = [any] | [any, VModelModifiers] // Component vModel export type ComponentVModelArg = | [any] | [any, 'modelValue'] | [any, 'modelValue', string[]] | [any, string] | [any, string, string[]] | [any, string, Record] declare module 'vue' { interface InputHTMLAttributes { vModel?: IntrinsicVModelArg } interface SelectHTMLAttributes { vModel?: IntrinsicVModelArg } interface TextareaHTMLAttributes { vModel?: IntrinsicVModelArg } // Components interface ComponentCustomProps { vModel?: ComponentVModelArg } }