import { Severity , ValidationFailure } from "../shared" ; export interface ValidationOptionsBuilder < T > { param code withFailureCode ( code ) : ValidationOptionsBuilder < T > ; param message withFailureMessage ( message ) : ValidationOptionsBuilder < T > ; param severity withSeverity ( severity ) : ValidationOptionsBuilder < T > ; param name withPropertyName ( name ) : ValidationOptionsBuilder < T > ; /**
     * Validation is performed when the property under validation is not `undefined`.
     */ whenDefined ( ) : ValidationOptionsBuilder < T > ; /**
     * Validation is performed when the property under validation is neither `undefined` nor `null`.
     */ whenNotNull ( ) : ValidationOptionsBuilder < T > ; param expression when ( expression ) : ValidationOptionsBuilder < T > ; param expression unless ( expression ) : ValidationOptionsBuilder < T > ; param callback onFailure ( callback ) : ValidationOptionsBuilder < T > ; }