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