import { BaseMethod, BaseData, BaseComputed } from '../base/interface'; import { Dictionary } from "vue-router/types/router"; import { HttpResponseType } from "../../configure/mapping/types/response"; import { AxiosError } from "axios"; export declare enum PageTypeEnum { PAGE = "page", DIALOG = "dialog" } export declare enum OperateTypeEnum { NEW = "new", EDIT = "edit", DETAIL = "detail" } export interface IFormData { visible: boolean; formData: any; submitMethod?: string; submitting: boolean; formPageType?: PageTypeEnum; operateType: OperateTypeEnum; parentParam: Dictionary; readonly: boolean; validRef?: string; triggerRefresh: boolean; autoAddLoading?: boolean; submitSuccessTipVisible: boolean; validFailShowTip: boolean; validMethod: string; hasCheckAttachment: boolean; inCacheAttachmentUploadState: Dictionary; triggerRefreshEventName: string | undefined; } export interface IFormMethod { __pageInit(this: V): void; __initForm(this: V, params: Dictionary): void; onOpen(this: V, params: Dictionary): void; __open(this: V, params: Dictionary): void; reloadForm(this: V): void; getDefFormData(this: V): Promise> | Dictionary; close(this: V): void; triggerParentRefresh(this: V, isCloseWindow: boolean): void; closeAfterHandler(this: V): void; submitHandler(this: V, isClose: boolean): void; validFormData(this: V, _formData: any): boolean | Promise; resetFormValid(this: V): void; getSubmitData(this: V): Dictionary | any[]; isExecuteSubmit(this: V, _params: Dictionary): boolean | Promise; beforeSubmitHandler(this: V): void; afterSubmitHandler(this: V): void; submitSuccessHandler(this: V, _responseInfo: HttpResponseType): void; submitErrorHandler(this: V, _errorResponse: AxiosError): void; } declare type FormCtx = V & FormData & FormMethod; export declare type FormMethod = IFormMethod> & BaseMethod>; export declare type FormData = IFormData & BaseData; export interface IFormComputed { dynamicSubmitMethod(this: V): any; } export declare type FormComputed = IFormComputed>> & BaseComputed; export {};