import { OnChanges, SimpleChanges } from '@angular/core'; import { Observable } from 'rxjs'; import { Button, Property } from '../index'; import { Router } from '@angular/router'; import { CuiFormHelper } from '../../services/cui/cui-form.helper'; import { CuiModelHelper } from '../../services/cui/cui.helper'; export interface DataTableConfig { title?: string; additionalData?: () => { label: string; value: any; }[]; titleLevel?: 1 | 2 | 3 | 4; properties: Property[]; buttons: Button[]; filterCallback?: ((item: TYPE) => boolean); saveFunction?: ((item: TYPE) => Observable); newItem?: (() => Observable); addUrl?: any[]; complexUpdateFunction?: ((item: TYPE[]) => Observable); } export declare class CuiDataTableComponent implements OnChanges { private cuiFormHelper; cuiModelHelper: CuiModelHelper; private router; list: TYPE[]; config: DataTableConfig; additionalPropsList: { is_new: boolean; is_saved: boolean; }[]; constructor(cuiFormHelper: CuiFormHelper, cuiModelHelper: CuiModelHelper, router: Router); ngOnChanges(changes: SimpleChanges): void; SaveAllModels(): void; SaveModel(item: TYPE): void; AddItem(): void; PushToTable(item: TYPE, isNew: any, isSaved: any): void; FilterList(list: TYPE[]): TYPE[]; IsAvailableAdd(): boolean; IsAvailableSave(): boolean; IsAvailableComplexUpdate(): boolean; ResolveClasses(itemIndex: number): { 'animated fadeIn': boolean; 'table-secondary': boolean; 'table-info': boolean; }; MarkAsChanged(itemIndex: any): void; private CreateAdditionalPropsList(list); }