import { ElementRef, EventEmitter, QueryList } from '@angular/core'; import { ApiService, FieldDefineGroup, LanguagesService, MessageService } from '../../../core'; import { FormDefine, FormStatus } from '../../../core'; import { UserFieldDirective } from '../../directive'; export declare abstract class BaseFormComponent { protected api: ApiService; protected message: MessageService; lang: LanguagesService; protected el: ElementRef; protected constructor(api: ApiService, message: MessageService, lang: LanguagesService, el: ElementRef); changeToViewAfterUpdate: boolean; priorInlineUpdate: boolean; get apiUrl(): string; set apiUrl(v: string); loading: boolean; status: FormStatus; editCache: { [key: number]: { delete: boolean; edit: boolean; data: { [key: string]: any; }; }; }; define: FormDefine; data: Array; extra: any; formHeight: any; links: { [field: string]: (record: any) => any; }; validators: { [field: string]: ((record: any) => string)[]; }; protected myApiUrl: string; auto: boolean; showButtons: boolean; showBackButton: boolean; params: { [key: string]: any; }; height: number; bottomDistance: number; userFieldDirectives: QueryList; userFields: { [key: string]: UserFieldDirective; }; loaded: EventEmitter; defined: EventEmitter; updated: EventEmitter<{ [key: string]: any; }[]>; inserted: EventEmitter<{ [key: string]: any; }[]>; deleted: EventEmitter; defineLoaded: () => void; dataLoaded: () => void; dataDeleted: (data: number) => void; dataUpdated: (data: any[]) => void; dataInserted: (data: any[]) => void; protected init(): void; load(OnLoaded?: () => void, params?: { [key: string]: any; }): void; protected loadFieldGroups(): FieldDefineGroup[]; updateEditCache(): void; countEditCache(deleteMark?: boolean): number; clearEditCache(deleteMark?: boolean): void; protected loadUserFields(): void; isInsert(data: any): boolean; private getSelectedData; protected clearValidate(): void; protected validate(data: { [key: string]: any; }[]): boolean; save(serial: number, OnSaved: (code: number, message: string) => void): void; action(action: string, inputData: any, OnCompleted?: (code: number, message: string, data: any) => void): void; protected initDefaultValue(item: { [key: string]: any; }): void; delete(serial: number, OnDeleted: (code: number, message: string) => void): void; editable(): boolean; protected serial(): number; info(message: string): void; warning(message: string, closeable?: boolean): void; error(message: string, width?: number): void; protected clearFileInput(serial: number): void; protected isVisible(): boolean; resize(): void; }