import { Injector, ElementRef } from '@angular/core'; import { FormControl, FormGroup } from '@angular/forms'; import { ValidatorFn } from '@angular/forms/src/directives/validators'; import { OBaseComponent, IComponent } from './o-component.class'; import { OFormComponent } from './form/o-form.component'; import { OFormValue } from './form/OFormValue'; export interface IFormDataTypeComponent extends IComponent { getSQLType(): number; } export interface IFormControlComponent extends IComponent { getControl(): FormControl; getFormControl(): FormControl; hasError(error: string): boolean; } export interface IFormDataComponent { data(value: any): any; isAutomaticBinding(): Boolean; } export declare class OFormDataComponent extends OBaseComponent implements IFormControlComponent, IFormDataTypeComponent, IFormDataComponent { protected sqlType: string; autoBinding: boolean; protected value: OFormValue; protected defaultValue: any; protected _SQLType: number; protected _defaultSQLTypeKey: string; protected _fControl: FormControl; protected elRef: ElementRef; protected form: OFormComponent; constructor(form: OFormComponent, elRef: ElementRef, injector: Injector); getFormGroup(): FormGroup; getFormControl(): FormControl; hasError(error: string): boolean; getErrorValue(error: string, prop: string): string; initialize(): void; registerFormListeners(): void; destroy(): void; unregisterFormListeners(): void; data: any; isAutomaticBinding(): Boolean; getValue(): any; setValue(val: any): void; ensureOFormValue(value: any): void; getControl(): FormControl; resolveValidators(): ValidatorFn[]; getSQLType(): number; readonly isValid: boolean; isEmpty(): boolean; }