import { RxValidator, RxAsyncValidator, UpdateOn } from '..';
import { ControlMetadata } from './control-metadata';
import { ControlVisitor } from './control-visitor';
export interface ValidationOpts {
    validators?: RxValidator | RxValidator[];
    asyncValidators?: RxAsyncValidator | RxAsyncValidator[];
    updateOn?: UpdateOn;
}
export declare abstract class ValidableMetadata implements ControlMetadata {
    private _validators;
    private _asyncValidators;
    private _updateOn;
    abstract accept<T>(visitor: ControlVisitor<T>): T;
    setValidators(opts?: ValidationOpts): void;
    get validators(): RxValidator[];
    get asyncValidators(): RxAsyncValidator[];
    get updateOn(): UpdateOn;
}
