import { ValidationOptionsBuilder } from "./" ; import { Validatable } from "../shared" ; export interface CommonValidatorBuilder < T , TProperty > { /**
     * Checks if a property is defined.
     */ isDefined ( ) : this & ValidationOptionsBuilder < T > ; /**
     * Checks if a property is undefined.
     */ isUndefined ( ) : this & ValidationOptionsBuilder < T > ; /**
     * Checks if a property is null.
     */ isNull ( ) : this & ValidationOptionsBuilder < T > ; /**
     * Checks if a property is not null.
     */ isNotNull ( ) : this & ValidationOptionsBuilder < T > ; /**
     * Checks if a property is empty.
     *
     * Empty means either undefined, null, or an empty string.
     * Or in case of collections (e.g. Array, Set, Map) that they do not contain any element (length === 0, size === 0).
     */ isEmpty ( ) : this & ValidationOptionsBuilder < T > ; /**
     * Checks if a property is not empty.
     *
     * That is, neither null nor undefined and not an empty string.
     * If the property in question is a collection (e.g. Array, Set, Map) this method checks if the collection contains elements.
     */ isNotEmpty ( ) : this & ValidationOptionsBuilder < T > ; param comparison isEqualTo ( comparison ) : this & ValidationOptionsBuilder < T > ; param comparison isNotEqualTo ( comparison ) : this & ValidationOptionsBuilder < T > ; param iterable isIn ( iterable ) : this & ValidationOptionsBuilder < T > ; param iterable isNotIn ( iterable ) : this & ValidationOptionsBuilder < T > ; param validator fulfills ( validator ) : this & ValidationOptionsBuilder < T > ; param validationExpression fulfills ( validationExpression ) : this & ValidationOptionsBuilder < T > ; }