UNPKG

tdesign-vue

Version:
8 lines (7 loc) 672 B
import Vue, { VueConstructor, ComponentOptions } from 'vue'; declare type VueMixin = VueConstructor | ComponentOptions<never>; export declare type UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends (k: infer I) => void ? I : never; export declare type ExtractInstance<T> = T extends VueConstructor<infer V> ? V : T extends ComponentOptions<infer V> ? V : never; export declare type MixedVueConstructor<Mixins extends VueMixin[]> = Mixins extends (infer T)[] ? VueConstructor<UnionToIntersection<ExtractInstance<T>> & Vue> : never; export default function mixins<Mixins extends VueMixin[]>(...mixins: Mixins): MixedVueConstructor<Mixins>; export {};