import { Type, Injector } from '@angular/core'; import { INgxGridColumn, INgxGridResult, INgxGridFilter, INgxGridInstance } from 'ngx-primeng-grid'; import { FormBaseComponent } from '../../core/_base/form.base'; import { INgxManageLayout, INgxManageLayoutAction, INgxManageLayoutSettingAddOption } from '../models/ngx-manage-layout.model'; import { Observable } from 'rxjs'; import { INgxResult, INgxFilter } from '../../core/public-api'; import { IBreadcrumb } from '../../ngx-wrapper-shared/models/breadcrumb'; export declare abstract class NgxManageLayoutBaseComponent extends FormBaseComponent { loading: boolean; layout: INgxManageLayout; columns: INgxGridColumn[]; result: INgxGridResult; filter: INgxFilter; breadcrumbs: IBreadcrumb[]; selectedRows: any[]; private manageDialog; private ngxLayoutBaseService; private activatedBaseRoute; protected abstract getSearchService(filter: INgxFilter): Observable>; protected abstract getDeleteService(model: TModel): Observable; protected abstract getChangeStatusService(model: TModel): Observable; protected abstract getManageDialogComponent(): Type; protected abstract handleRowAction(instance: INgxGridInstance): void; protected abstract getExtraDialogData(): any; constructor(manageInjector: Injector); protected prepareLayoutFromRouter(invokeSearch?: boolean, dataKey?: string): void; protected prepareLayoutFromService(jsonObjectService: Observable, successCallback: (jsonObject: any) => void, invokeSearch?: boolean): void; protected prepareLayout(jsonObject: any, invokeSearch: boolean): void; handleOnAction($action: INgxManageLayoutAction): void; handleOnFilter($filter: INgxGridFilter): void; private initFilter; handleOnSearch(text: string): void; handleOnRowSelected($event: any): void; private handleTableAction; private openManageDialog; protected handleDelete(model: TModel): void; protected handleStatusChange(model: TModel): void; protected doSearch(): void; protected overrideLayout($layout: INgxManageLayout): void; protected overrideFilter($filter: INgxFilter): void; protected overrideAction($option: INgxManageLayoutSettingAddOption): void; protected overrideHttpCallPreAction(model: TModel): void; protected overrideHttpCallPostAction(result: INgxResult): void; }