import { OnDestroy, OnInit, QueryList } from '@angular/core'; import { ActivatedRoute, ActivatedRouteSnapshot, Router, RouterStateSnapshot } from '@angular/router'; import { Observable } from 'rxjs'; import { AppContextService } from '../../service/app-context.service'; import { ConfirmationDialogOptions } from '../dialog/confirmation-dialog/confirmation-dialog.component'; import { DialogService } from '../dialog/dialog.service'; import { ObjectPropertySchemaFieldLoaderComponent, SchemaFieldHostComponent } from './schema-field-host.component'; import { DataSchema } from './schema-models'; import * as i0 from "@angular/core"; export declare class TabbedFormLoaderComponent extends ObjectPropertySchemaFieldLoaderComponent implements OnInit, OnDestroy { private appContextService; private activatedRoute; private router; private dialogService; private cancelNextRouteGuard; private subscriptions; private originalData; protected fieldHostComponents: QueryList; private navLinkElements; baseUrl: string; activeFormName: string; constructor(appContextService: AppContextService, activatedRoute: ActivatedRoute, router: Router, dialogService: DialogService); static registerDataType(): void; ngOnInit(): void; ngOnDestroy(): void; setupSchema(schema: DataSchema): void; switchForm(formName: string): void; setFormOriginalData(formName: any, data: any): void; isFormBusy(formName: string): boolean; isFormDirty(formName: string): boolean; getFooterButtonHideOption(formName: string): boolean; getFooterButtonText(formName: string, button: string): string; isFormValid(formName: string): boolean; onSaveClick(formName: string): void; onDiscardClick(formName: string): void; canDeactivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot, confirmationDialogOptions: ConfirmationDialogOptions): Observable | Promise | boolean; onCloseClick(): void; private getBaseUrl; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } export declare class TabbedFormController { controller: { [formName: string]: TabbedFormItemController; }; } export declare abstract class TabbedFormItemController { private isBusyInternal; private isDisabledInternal; abstract loadData(): Promise; abstract convertDataModelToViewModel(dataModel: TDataModel): TViewModel; abstract mergeViewModelToDataModel(viewModel: TViewModel, dataModel: TDataModel): TDataModel; abstract submitData(dataModel: TDataModel): Promise; abstract onSaving(viewModel: TViewModel): void; abstract onFetchError(error: any): void; abstract onSaveError(error: any): void; abstract onSaveSuccess(viewModel: TViewModel): void; isBusy(): boolean; isDisabled(): boolean; initialize(): Promise; saveData(viewModel: TViewModel): Promise; }