import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';
import { ColumnModel } from '../models/components/column.model';
import * as i0 from "@angular/core";
export declare class ValidatorService {
    static invalid(control: AbstractControl | undefined): boolean;
    static getErrorMessage(control: AbstractControl | undefined, errorMessages: Map<string, (e?: any) => string>): string;
    static getErrorMessageV1(control?: AbstractControl, errorMessages?: Map<string, (e?: any) => string>): any;
    static generateNsMultiSelectValidators(conditions: {
        required?: boolean | (() => boolean);
        multiple?: boolean;
    }): ValidatorFn[];
    static generateNsInputValidators(conditions: {
        required: boolean | (() => boolean);
        minLength: number | undefined;
        maxLength: number | undefined;
        pattern: string | undefined;
    }): ValidatorFn[];
    static generateNsAutocompleteValidators(conditions: {
        required: boolean | (() => boolean);
    }): ValidatorFn[];
    static getMinMaxDynamic(minOrMax: (() => number) | number | null): number;
    static generateNsCounterInputValidators(conditions: {
        required?: boolean | (() => boolean);
        min: (() => number) | number | null;
        max: (() => number) | number | null;
        isDecimal?: boolean | null;
    }): ValidatorFn[];
    static generateNsDatePickerValidators(conditions: {
        required?: boolean | (() => boolean);
        min: Date | null;
        max: Date | null;
    }): ValidatorFn[];
    static getRequiredDynamic(isRequired?: boolean | (() => boolean)): boolean;
    static generateNsDateRangePickerValidators(conditions: {
        requiredFromDate: boolean | (() => boolean);
        requiredToDate: boolean | (() => boolean);
    }): ValidatorFn[];
    static customMinDateValidatorControl(value: string | any, minDate: Date | null): ValidationErrors | null;
    static customMaxDateValidatorControl(value: string | any, maxDate: Date | null): ValidationErrors | null;
    static getRequired(column: ColumnModel): boolean;
    static getIsDecimal(column: ColumnModel): boolean;
    static customMinValueNsCounterInput(value: number | any, min: number | null): ValidationErrors | null;
    static customMaxValueNsCounterInput(value: number | any, max: number | null): ValidationErrors | null;
    static generateNsSmartTableValidators(conditions: {
        columns: ColumnModel[];
        minRow: number;
        maxRow: number;
    }): ValidatorFn;
    static ɵfac: i0.ɵɵFactoryDeclaration<ValidatorService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<ValidatorService>;
}
