import { ExtractPropTypes, ComponentPublicInstance } from 'vue'; import { ISharedRenderlessFunctionParams, ISharedRenderlessParamUtils, ITinyVm } from '../../../shared.type'; import { IFormItemInstance, IFormItemRule } from '../../form-item/src/form-item'; import { updateTip, computedAutoLabelWidth, computedHideRequiredAsterisk, computedValidateIcon, computedIsErrorInline, computedIsErrorBlock, created, resetFields, clearValidate, validate, validateField, getLabelWidthIndex, registerLabelWidth, deregisterLabelWidth, watchRules, showTooltip, hideTooltip } from './renderless'; export declare const formProps: { model: ObjectConstructor; rules: ObjectConstructor; inlineMessage: { type: BooleanConstructor; default: undefined; }; messageType: StringConstructor; statusIcon: BooleanConstructor; showMessage: { type: BooleanConstructor; default: boolean; }; validatePosition: { type: StringConstructor; default: string; }; size: StringConstructor; disabled: BooleanConstructor; validateOnRuleChange: { type: BooleanConstructor; default: boolean; }; hideRequiredAsterisk: { type: BooleanConstructor; default: undefined; }; labelPosition: { type: StringConstructor; default: string; validator: (value: string) => boolean; }; labelWidth: { type: StringConstructor; default: string; }; labelAlign: { type: BooleanConstructor; default: boolean; }; contentOffset: NumberConstructor; labelSuffix: { type: StringConstructor; default: string; }; inline: { type: BooleanConstructor; default: boolean; }; responsiveLayout: { type: BooleanConstructor; default: boolean; }; validateType: { type: StringConstructor; default: string; validator(value: string): boolean; }; validateIcon: ObjectConstructor; manual: { type: BooleanConstructor; default: boolean; }; appendToBody: { type: BooleanConstructor; default: undefined; }; popperOptions: { type: ObjectConstructor; default: () => {}; }; displayOnly: { type: BooleanConstructor; default: boolean; }; showAutoWidth: { type: BooleanConstructor; default: boolean; }; showEmptyValue: { type: BooleanConstructor; default: boolean; }; validateTag: { type: BooleanConstructor; default: boolean; }; overflowTitle: { type: BooleanConstructor; default: boolean; }; }; export interface IFormRules { [prop: string]: IFormItemRule; } export interface IFormState { showAutoWidth: boolean; fields: IFormItemInstance[]; timer: number; tooltipVisible: boolean; displayedValue: string; potentialLabelWidthArr: number[]; autoLabelWidth: string; isDisplayOnly: boolean; hasRequired: boolean; hideRequiredAsterisk: boolean; validateIcon: object | null; isErrorInline: boolean; isErrorBlock: boolean; labelWidth: string; tooltipType: string; } export type IFormProps = ExtractPropTypes; export type IFormRenderlessParams = ISharedRenderlessFunctionParams & { state: IFormState; props: IFormProps; api: IFormApi; dialog: ITinyVm | null; }; export interface IFormApi { state: IFormState; updateTip: ReturnType; computedAutoLabelWidth: ReturnType; computedHideRequiredAsterisk: ReturnType; computedValidateIcon: ReturnType; computedIsErrorInline: ReturnType; computedIsErrorBlock: ReturnType; created: ReturnType; resetFields: ReturnType; clearValidate: ReturnType; validate: ReturnType; validateField: ReturnType; getLabelWidthIndex: ReturnType; registerLabelWidth: ReturnType; deregisterLabelWidth: ReturnType; watchRules: ReturnType; showTooltip: ReturnType; hideTooltip: ReturnType; } export type IFormRenderlessParamUtils = ISharedRenderlessParamUtils; export type IFormInstance = ComponentPublicInstance & IFormProps & IFormApi;