declare interface Fn { (...arg: T[]): R } declare interface PromiseFn { (...arg: T[]): Promise } declare type RefType = T | null declare type LabelValueOptions = { label: string value: any [key: string]: string | number | boolean }[] declare type EmitType = (event: string, ...args: any[]) => void declare type TargetContext = '_self' | '_blank' declare interface ComponentElRef { $el: T } declare type ComponentRef = ComponentElRef | null declare type ElRef = Nullable