import Vue, { VueConstructor } from 'vue'; export default function mixins(...args: T): ExtractVue extends infer V ? (V extends Vue ? VueConstructor : never) : never; export default function mixins(...args: VueConstructor[]): VueConstructor; /** * Returns the instance type from a VueConstructor * Useful for adding types when using mixins().extend() */ export declare type ExtractVue = T extends (infer U)[] ? UnionToIntersection ? V : never> : T extends VueConstructor ? V : never; declare type UnionToIntersection = (U extends any ? (k: U) => void : never) extends ((k: infer I) => void) ? I : never; export {};