import { OnChanges, SimpleChange } from '@angular/core'; import { OnDestroy } from '@angular/core'; import { ChangeDetectorRef, ElementRef, EventEmitter, OnInit } from '@angular/core'; import { ControlContainer, ControlValueAccessor, ValidatorFn } from '@angular/forms'; import { FormControl } from '@angular/forms'; import { Subscription } from 'rxjs'; import { IField } from '../config/interfaces/config.interface'; import { IError } from '../types/interfaces/error.interfaces'; import * as i0 from "@angular/core"; export declare class ControlBaseComponent implements OnInit, ControlValueAccessor, OnChanges, OnDestroy { protected changeDetectorRef: ChangeDetectorRef; private controlContainer; elementRef?: ElementRef; formControl?: FormControl; formControlName?: string; isDisabled?: boolean; set disabled(disabled: boolean); set validators(validators: ValidatorFn | ValidatorFn[]); get control(): FormControl; valueChange: EventEmitter; private valueChange$?; set value(value: any); type?: string; config?: IField; required?: boolean; readOnly?: boolean; id: string; errors?: IError; protected __RECYCLE__: Subscription[]; protected controlUpdateView: boolean; constructor(changeDetectorRef: ChangeDetectorRef, controlContainer: ControlContainer); ngOnInit(): void; ngOnChanges(values: { [key: string]: SimpleChange; }): void; ngOnDestroy(): void; private createTwoWay; onChange: (_: any) => void; onTouched: () => void; writeValue(obj: any): void; registerOnChange(onChange: any): void; registerOnTouched(onTouched: any): void; setDisabledState(isDisabled: boolean): void; static ɵfac: i0.ɵɵFactoryDeclaration, [null, { optional: true; }]>; static ɵcmp: i0.ɵɵComponentDeclaration, "ng-control-base", never, { "formControl": "formControl"; "formControlName": "formControlName"; "isDisabled": "isDisabled"; "disabled": "disabled"; "validators": "validators"; "valueChange$": "valueChange$"; "value": "value"; "type": "type"; "config": "config"; "required": "required"; "readOnly": "readOnly"; "id": "id"; "errors": "errors"; }, { "valueChange": "valueChange"; }, never, never>; }