/**
 * This file is part of the MedSafe application which is commercial software created by MedVision360 B.V.
 * The source code is proprietary and confidential.
 *
 * Unauthorized copying of this file, via any medium is strictly prohibited.
 *
 * Copyright (c) by MedVision360 B.V. All rights reserved.
 *
 * For the application name: io.medrecord.medsafe
 */
import { FormControl } from '@angular/forms';
import * as Forms from '@angular/forms';
import { TranslateService } from '@ngx-translate/core';
declare type ValidationErrorsType = Forms.ValidationErrors | null;
declare function replaceWithMessage(validationResult: ValidationErrorsType, message?: string): ValidationErrorsType;
declare type ValidationCb = typeof replaceWithMessage;
export declare class FormValidatorsService {
    private translateService;
    readonly emailPattern = "^[a-z0-9._%+-]+@[a-z0-9.-]+.[a-z]{2,4}$";
    constructor(translateService: TranslateService);
    get email(): ValidationCb;
    get required(): ValidationCb;
    get requiredTrue(): ValidationCb;
    get number(): ValidationCb;
    get phoneNumber(): ValidationCb;
    get twoFactorAuthCode(): ValidationCb;
    get float(): ValidationCb;
    max(num: number): ValidationCb;
    min(num: number): ValidationCb;
    maxLength(num: number, errorMsg?: string): ValidationCb;
    minLength(num: number): ValidationCb;
    futureDate(startDateFieldName: string, dueDateFieldName: string): ValidationCb;
    get passwordComplexity(): ValidationCb;
    get dateFormat(): (formControl: FormControl) => {
        dateFormat: string;
    } | null;
    limitItemsCount(limit: number): ValidationCb;
}
export {};
