diff --git a/lib/rules/valid-define-emits.js b/lib/rules/valid-define-emits.js
index 6f433a835..d7480d538 100644
--- a/lib/rules/valid-define-emits.js
+++ b/lib/rules/valid-define-emits.js
@@ -79,6 +79,7 @@ module.exports = {
variable.defs.length &&
variable.defs.every(
(def) =>
+ def.type !== 'ImportBinding' &&
utils.inRange(scriptSetup.range, def.name) &&
!utils.inRange(defineEmits.range, def.name)
)
diff --git a/lib/rules/valid-define-props.js b/lib/rules/valid-define-props.js
index 3a084dd68..849437b1e 100644
--- a/lib/rules/valid-define-props.js
+++ b/lib/rules/valid-define-props.js
@@ -80,6 +80,7 @@ module.exports = {
variable.defs.length &&
variable.defs.every(
(def) =>
+ def.type !== 'ImportBinding' &&
utils.inRange(scriptSetup.range, def.name) &&
!utils.inRange(defineProps.range, def.name)
)
diff --git a/tests/lib/rules/valid-define-emits.js b/tests/lib/rules/valid-define-emits.js
index 557101d67..dd0b1f88f 100644
--- a/tests/lib/rules/valid-define-emits.js
+++ b/tests/lib/rules/valid-define-emits.js
@@ -117,6 +117,16 @@ tester.run('valid-define-emits', rule, {
});
`
+ },
+ {
+ filename: 'test.vue',
+ code: `
+ `
}
],
invalid: [
diff --git a/tests/lib/rules/valid-define-props.js b/tests/lib/rules/valid-define-props.js
index 10894e069..2d866274b 100644
--- a/tests/lib/rules/valid-define-props.js
+++ b/tests/lib/rules/valid-define-props.js
@@ -120,6 +120,16 @@ tester.run('valid-define-props', rule, {
});
`
+ },
+ {
+ filename: 'test.vue',
+ code: `
+ `
}
],
invalid: [