import Vue, { Component, PluginFunction, VueConstructor, DirectiveOptions } from 'vue' import './lib' import './alacarte' import './colors' // Services import { Application } from './services/application' import { Breakpoint } from './services/breakpoint' import { Icons } from './services/icons' import { Lang } from './services/lang' import { Theme } from './services/theme' // Service Options import { GoToOptions } from './services/goto' import { VuetifyPreset } from './presets' declare const Vuetify: Vuetify export default Vuetify export interface Vuetify { install: PluginFunction version: string framework: Framework new (preset?: Partial): Vuetify } export type ComponentOrPack = Component & { $_vuetify_subcomponents?: Record } export interface VuetifyUseOptions { transitions?: Record directives?: Record components?: Record } export interface Framework { readonly breakpoint: Breakpoint readonly goTo: (target: T, options?: GoToOptions) => Promise application: Application theme: Theme icons: Icons lang: Lang rtl: boolean } declare module 'vue/types/vue' { export interface Vue { $vuetify: Framework } } declare module 'vue/types/options' { export interface ComponentOptions< V extends Vue, Data=DefaultData, Methods=DefaultMethods, Computed=DefaultComputed, PropsDef=PropsDefinition, Props=DefaultProps> { vuetify?: Vuetify } }