diff --git a/packages/radix-vue/src/Select/SelectArrow.vue b/packages/radix-vue/src/Select/SelectArrow.vue
index 8a394a65c..0fb4050a4 100644
--- a/packages/radix-vue/src/Select/SelectArrow.vue
+++ b/packages/radix-vue/src/Select/SelectArrow.vue
@@ -1,16 +1,19 @@
diff --git a/packages/radix-vue/src/Select/SelectContent.vue b/packages/radix-vue/src/Select/SelectContent.vue
index 58902ef95..b9730f7bc 100644
--- a/packages/radix-vue/src/Select/SelectContent.vue
+++ b/packages/radix-vue/src/Select/SelectContent.vue
@@ -2,19 +2,26 @@
import { inject } from "vue";
import SelectContentImpl, {
type SelectContentImplProps,
+ type SelectContentImplEmits,
} from "./SelectContentImpl.vue";
import { Presence } from "@/Presence";
import { SELECT_INJECTION_KEY } from "./SelectRoot.vue";
+import { useEmitAsProps } from "@/shared";
+
interface SelectContentProps extends SelectContentImplProps {}
+interface SelectContentEmits extends SelectContentImplEmits {}
const context = inject(SELECT_INJECTION_KEY);
const props = defineProps();
+const emits = defineEmits();
+
+const emitsAsProps = useEmitAsProps(emits);
-
+
diff --git a/packages/radix-vue/src/Select/SelectContentImpl.vue b/packages/radix-vue/src/Select/SelectContentImpl.vue
index a0a42bf8d..7461e1006 100644
--- a/packages/radix-vue/src/Select/SelectContentImpl.vue
+++ b/packages/radix-vue/src/Select/SelectContentImpl.vue
@@ -28,6 +28,20 @@ export const SELECT_CONTENT_INJECTION_KEY =
export interface SelectContentImplProps extends PopperContentProps {
position?: "item-aligned" | "popper";
}
+
+export interface SelectContentImplEmits {
+ (e: "closeAutoFocus", event: Event): void;
+ /**
+ * Event handler called when the escape key is down.
+ * Can be prevented.
+ */
+ (e: "escapeKeyDown", event: KeyboardEvent): void;
+ /**
+ * Event handler called when the a `pointerdown` event happens outside of the `DismissableLayer`.
+ * Can be prevented.
+ */
+ (e: "pointerDownOutside", event: PointerDownOutsideEvent): void;
+}