import { ExtractPropTypes, PropType } from 'vue'; import { FormGroupInstance } from './group'; import { RuleItem } from 'async-validator'; type Arrayable = T | T[]; export interface FormGroupRule extends RuleItem { [x: string]: any; trigger?: Arrayable; } export type FormRules = Record; interface FormGroupField { (fg: FormGroupInstance): void; } export declare const formProps: { readonly layout: { readonly type: PropType<"vertical" | "horizontal" | "inline">; readonly default: "horizontal"; }; readonly labelWidth: { readonly type: any; readonly default: 80; }; readonly rules: { readonly type: PropType>; readonly default: undefined; }; readonly model: { readonly type: PropType>; readonly default: undefined; }; }; export type FormProps = ExtractPropTypes; export interface FormInstance { model: any; rules: any; removeField: FormGroupField; addField: FormGroupField; blur: Function; change: Function; } export {};