import { AfterViewInit, OnInit, OnChanges, SimpleChange } from '@angular/core';
import { BehaviorSubject } from 'rxjs';
import { services } from 'typescript-angular-utilities';
import __validation = services.validation;
import __object = services.object;
import __array = services.array;
import __guid = services.guid;
import { InputComponent, baseOutputs } from './input';
import { FormComponent } from '../form/form';
import { ComponentValidator } from '../../services/componentValidator/componentValidator.service';
export declare const validationInputs: string[];
export { baseOutputs };
export interface IInputChanges {
    [key: string]: SimpleChange;
    value: SimpleChange;
}
export declare class ValidatedInputComponent<T> extends InputComponent<T> implements AfterViewInit, OnInit, OnChanges {
    value$: BehaviorSubject<T>;
    validator: __validation.IObservableValidationHandler;
    validators: __validation.IObservableValidationHandler[];
    rlRequired: string;
    protected componentValidator: ComponentValidator;
    protected array: __array.IArrayUtility;
    constructor(rlForm: FormComponent, componentValidator: ComponentValidator, object: __object.IObjectUtility, array: __array.IArrayUtility, guid: __guid.IGuidService);
    ngOnInit(): void;
    ngAfterViewInit(): void;
    ngOnChanges(changes: IInputChanges): void;
}
