index.d.ts 1.4 KB

123456789101112131415161718192021222324252627282930313233
  1. import {Vue as _Vue} from "./vue";
  2. import * as Options from "./options";
  3. import * as Plugin from "./plugin";
  4. import * as VNode from "./vnode";
  5. // `Vue` in `export = Vue` must be a namespace
  6. // All available types are exported via this namespace
  7. declare namespace Vue {
  8. export type ComponentOptions<V extends Vue> = Options.ComponentOptions<V>;
  9. export type FunctionalComponentOptions = Options.FunctionalComponentOptions;
  10. export type RenderContext = Options.RenderContext;
  11. export type PropOptions = Options.PropOptions;
  12. export type ComputedOptions<V extends Vue> = Options.ComputedOptions<V>;
  13. export type WatchHandler<V extends Vue> = Options.WatchHandler<V>;
  14. export type WatchOptions = Options.WatchOptions;
  15. export type DirectiveFunction = Options.DirectiveFunction;
  16. export type DirectiveOptions = Options.DirectiveOptions;
  17. export type PluginFunction<T> = Plugin.PluginFunction<T>;
  18. export type PluginObject<T> = Plugin.PluginObject<T>;
  19. export type VNodeChildren = VNode.VNodeChildren;
  20. export type VNodeChildrenArrayContents = VNode.VNodeChildrenArrayContents;
  21. export type VNode = VNode.VNode;
  22. export type VNodeComponentOptions = VNode.VNodeComponentOptions;
  23. export type VNodeData = VNode.VNodeData;
  24. export type VNodeDirective = VNode.VNodeDirective;
  25. }
  26. // TS cannot merge imported class with namespace, declare a subclass to bypass
  27. declare class Vue extends _Vue {}
  28. export = Vue;