import { Weapp } from './weapp'; type RecordToAny = { [K in keyof T]: any }; export type CombinedComponentInstance< Data, Props, Methods > = Methods & WechatMiniprogram.Component.TrivialInstance & Weapp.FormField & { data: Data & RecordToAny; }; export interface VantComponentOptions { data?: Data; field?: boolean; classes?: string[]; mixins?: string[]; props?: Props & Weapp.PropertyOption; watch?: Weapp.WatchOption; relation?: Weapp.RelationOption & { name: string }; relations?: { [componentName: string]: Weapp.RelationOption; }; methods?: Methods & Weapp.MethodOption; // lifetimes beforeCreate?: (this: Instance) => void; created?: (this: Instance) => void; mounted?: (this: Instance) => void; destroyed?: (this: Instance) => void; }