diff --git a/src/runtime/composables/useOverlay.ts b/src/runtime/composables/useOverlay.ts index 00634896..a607d2b5 100644 --- a/src/runtime/composables/useOverlay.ts +++ b/src/runtime/composables/useOverlay.ts @@ -1,7 +1,10 @@ import type { Component } from 'vue' import { reactive, markRaw, shallowReactive } from 'vue' import { createSharedComposable } from '@vueuse/core' -import type { ComponentProps } from 'vue-component-type-helpers' +import type { ComponentProps, ComponentEmit } from 'vue-component-type-helpers' + +// Extracts the first argument of the close event +type CloseEventArgType = T extends (event: 'close', args_0: infer R) => void ? R : never export type OverlayOptions> = { defaultOpen?: boolean @@ -19,7 +22,7 @@ type ManagedOverlayOptionsPrivate = { export type Overlay = OverlayOptions & ManagedOverlayOptionsPrivate interface OverlayInstance { - open: (props?: ComponentProps) => Promise + open: (props?: ComponentProps) => Promise>> close: (value?: any) => void patch: (props: Partial>) => void }