// 不能直接用 vue-demi 的 ExtractPropTypes, 编译后项目会找不到该类型 import type { ExtractPropTypes, Ref, UnwrapRef } from 'vue-demi'; import type { GetOptions, plainProps, wrapperProps } from './use/index'; export type BuiltInField = 'query' | 'uniqueValue' | 'parentQuery'; /** 获取实际值(去除 ref 引用) */ export type ToRaw = UnwrapRef; export interface WrapperProps extends Omit>, BuiltInField> {} /** */ export interface PlainProps, Option, OptionQuery extends Record> extends Omit>>, BuiltInField> { } export type OmitDefaultKey = T extends Record ? { [K in keyof T]: T[K] extends { default: any } ? Omit : T[K]; } : T; /** 交叉类型合并为一个对象 */ export type Merge> = { [K in keyof T]: T[K]; } & {};