declare interface Fn { (...arg: T[]): R; } declare interface PromiseFn { (...arg: T[]): Promise; } declare type RefType = T | null; declare interface PageParam { pageSize?: number; pageNo?: number; } declare interface PageResult { list: T[]; total: number; } 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;