import { EventEmitter, OnInit } from '@angular/core'; import { EstructureBaseColumn } from '../../../..'; import { Subject, BehaviorSubject } from 'rxjs'; import { MatTableDataSource, MatDialog } from '@angular/material'; import { EvkOption } from '../form/select/component'; import { SelectionModel } from '@angular/cdk/collections'; export declare class EvkTableComponent implements OnInit { dialog: MatDialog; addContent: Subject; columns: EstructureBaseColumnGroup[]; metadata: any[]; height: string; width: string; columnsDefinition: string[]; dataSource: MatTableDataSource; delete: boolean; globalDelete: Subject; selection: SelectionModel; deleteSubject: Subject | BehaviorSubject; deleteEmitter: EventEmitter; deleteAllEmitter: EventEmitter; index: number; innerHTML: any; infoBtn: boolean; previewDialogTitle: string; ondelete: Function; deleteAll: Function; constructor(dialog: MatDialog); ngOnInit(): void; removeData(element: any): { index: number; row: any; }; initFromMetadata(): void; getColumnsDef(): void; getColumnValue(_element: any, _column: any): string; findIndex(_object: any, _index: any): any; findOptionValue(value: string | number, options: EvkOption[]): any; moreThanOneIndex(index: string): string[]; prepareOptionsSubjects(): void; preview(element: any): void; removeGlobalRow(): void; removeRow(element: any): void; /** * Metdodo para remplazar un atributo del componente con un metadato asignado * @param attribute atributo que se quiere reemplazar con el metadato */ setMetadata(attribute: any): void; } export interface EstructureBaseGroupTable { /** * Subject al que se suscribe la tabla para agregarle columnas */ addContent?: Subject; /** * Definición de la estructua de la tabla */ columns: EstructureBaseColumnGroup[]; /** * Data adicional para la estructura */ data?: any; globalDelete?: any; /** * Indicador para poder eliminar registtros */ delete?: boolean; /** * Subject para modificar la bandaera `delete` */ deleteSubject?: Subject | BehaviorSubject; /** * HTML para titulos o leyendas */ innerHTML?: any; /** * Handler para el evento de borrado de un registro */ ondelete: Function; /** * Handler para el evento de borrado de todos los registros */ deleteAll: Function; /** * Título del modal de detalle */ previewDialogTitle?: string; /** * Tipo de la estrutura (`group-table`) */ type: 'group-table'; width?: string; height?: string; } export interface EstructureBaseColumnGroup extends EstructureBaseColumn { isOption?: boolean; multiline?: boolean; options?: EvkOption[]; optionsSubject?: Subject | BehaviorSubject; visible?: boolean; } export declare function cleanArray(array: any[], deleteValue: any): any[];