import Vue, { Component, ComponentOptions } from 'vue';
import { PluginObject } from 'vue/types/plugin';
import FaceAge from 'face-age';


export interface VueFaceAgeConfig {
  options?: any;
  onLoad?: any;
}

export interface VueFaceAgeComponent extends VueFaceAgeConfig, Vue {
  // data
  readonly analyzer?: FaceAge;

  // props (see: VueFaceAgeConfig)

  // methods
  init(): Promise<void>;
  refresh(): Promise<void>;
  destroy(): void;
}

declare const VueFaceAge: Component & ComponentOptions<Vue> & PluginObject<any>;

export default VueFaceAge;

declare module 'vue/types/vue' {
  interface Vue {
    $faceage: typeof FaceAge;
  }
}
