import { type EmitsOptions, type ObjectEmitsOptions } from 'vue'; import type { RecordToUnion, UnionToIntersection } from '@nzyme/types'; export declare function useEmitAsync(options: E): EmitFnAsync; export declare function useEmitAsync>(): ShortEmits; type ShortEmits> = UnionToIntersection Promise; }>>; type EmitFnAsync = Options extends Array ? (event: V, ...args: any[]) => void : {} extends Options ? (event: string, ...args: any[]) => void : UnionToIntersection<{ [key in Event]: Options[key] extends (...args: infer Args) => any ? (event: key, ...args: Args) => Promise | void : (event: key, ...args: any[]) => Promise | void; }[Event]>; export {};