import { FormControl } from '@angular/forms';
import { Observable } from 'rxjs';
import { ValidationAlerts } from '../validation-alert/validation-alert';
import { SmeAsyncValidator } from './sme-async-validator';
/**
 * Base class for form validation.
 */
export declare class FormAsyncValidatorBase implements SmeAsyncValidator {
    /**
     * Instantiates a new instance of FormValidatorBase
     */
    constructor();
    /**
     * Implementation of Validator interface.
     * Validates the value of this elements form control. Use the @see checkValidate event to hook into this function.
     * @param c The FormControl attached to this element
     * @return null when valid, otherwise returns a validation object in the form of "{ errorType: {valid: false} }".
     */
    validate(c: FormControl): Observable<ValidationAlerts | null>;
    /**
     * Checks if an alerts object has alerts and returns it, otherwise returns null.
     * @param alerts The alerts to check
     */
    protected alertsOrNull(alerts: ValidationAlerts): ValidationAlerts | null;
}
