import { ViewModel, ViewModelState, FlattenedControlError } from '@farris/devkit-vue';
import { BaseDataService } from './data-services/base-data.service';
import { VerifyDetailOptions } from './verify-detail.service';

export declare class ValidationService extends BaseDataService {
    private static readonly VALIDATION_STATE;
    /**
     * 表单错误格式化器
     */
    private formErrorFormatter;
    /**
     * 错误提示服务
     */
    private verifyDetailService;
    /**
     * 构造函数
     */
    constructor(viewModel: ViewModel<ViewModelState>);
    /**
     * 表单验证
     */
    validate(): void;
    /**
     * 验证当前行
     */
    validateCurrentRow(): Promise<null>;
    /**
     * 验证全部表单
     */
    validateAll(): Promise<FlattenedControlError[] | null>;
    private validateEntitiesByResponseValidator;
    private validateViewModels;
    private buildValidationErrors;
    /**
     * 重置验证
     */
    resetValidation(): void;
    private setValidationState;
    private clearValidationErrors;
    /**
     * 重置表单验证错误
     */
    private resetFormControlErrors;
    /**
     * 验证指定视图模型内的表单
     */
    private validateByViewModel;
    private updateFormControlErrors;
    /**
     * 构造错误提示配置
     */
    buildVerifyDetailOptions(errors: FlattenedControlError[]): VerifyDetailOptions;
    /**
     * 根据表达式进行验证
     */
    private validateEntitiesByExpressionValidator;
    /**
     * 获取目标实体列表
     */
    private getTargetEntities;
    private getRenderEngineService;
}
