nuxt3 で nuxt アプリケーション全体にemitするための方法


nuxt2 から nuxt3 に移行しています。  
下記のコードを nuxt3 に移行するにはどうすればいいのでしょうか？

[code]

    <script lang="ts">
    async someFnc() {
     await this.$nuxt.$emit("hoge/fuga")
     // someImpl
    }
    </script>
    
[/code]

off するための実装は下記です。  
pages/sample2.vue

[code]

    <script lang="ts">
    beforeDestroy():void {
     this.$nuxt.$off("hoge/fuga")
    }
    </script>
    
[/code]

* * *

追記  
下記のようなコードは

[code]

    <script lang="ts">
    async someFnc() {
     this.$emit('hoge')
    }
    </script>
    
[/code]

このように移行できました。しかし、上記のコードは「アプリケーション全体」への発行のため、違うアプローチが必要だと考えています。

[code]

    <script setup lang="ts">
    const emit = defineEmit(['hoge'])
    const someFnc = () => {
     emit('hoge')
    }
    </script>
    
[/code]

