import Vue, { ComponentOptions } from 'vue'; import { VueClass } from './declarations'; export declare const noop: () => void; export declare const hasProto: boolean; export interface VueDecorator { (Ctor: typeof Vue): void; (target: Vue, key: string): void; (target: Vue, key: string, index: number): void; } export declare function createDecorator(factory: (options: ComponentOptions, key: string, index: number) => void): VueDecorator; export declare type UnionToIntersection = (U extends any ? (k: U) => void : never) extends (k: infer I) => void ? I : never; export declare type ExtractInstance = T extends VueClass ? V : never; export declare type MixedVueClass[]> = Mixins extends (infer T)[] ? VueClass>> : never; export declare function mixins(CtorA: VueClass): VueClass; export declare function mixins(CtorA: VueClass, CtorB: VueClass): VueClass; export declare function mixins(CtorA: VueClass, CtorB: VueClass, CtorC: VueClass): VueClass; export declare function mixins(CtorA: VueClass, CtorB: VueClass, CtorC: VueClass, CtorD: VueClass): VueClass; export declare function mixins(CtorA: VueClass, CtorB: VueClass, CtorC: VueClass, CtorD: VueClass, CtorE: VueClass): VueClass; export declare function mixins(...Ctors: VueClass[]): VueClass; export declare function mixins[]>(...Ctors: T): MixedVueClass; export declare function isPrimitive(value: any): boolean; export declare function warn(message: string): void;