import { ElementRef, ViewContainerRef } from '@angular/core';
import { EventEmitter, Renderer } from '@angular/core';
import { ThfTableAction } from './thf-table-action.interface';
import { ThfTableColumn } from './thf-table-column.interface';
/**
* @description
*
* Este componente de tabela é utilizado para exibição de listas, com diferentes dados que podem ser datas e números com
* formatos personalizados ou também textos.
*
* É possivel criar uma tabela com ordenação de dados, coluna de seleção de linhas, coluna com menu com ações e
* também carregamento por demanda, com o botão "Carregar mais resultados".
*
* @example
*
*
*
*
*
*
*/
export declare class ThfTableComponent {
private viewRef;
/** Lista de objetos que representam as linhas da tabela. */
items: Array;
/** Lista das colunas de cabeçalho da tabela.
* Essa propriedade deve receber um array de objetos que implementam a interface ThfTableColumn.
*/
columns: Array;
/** Habilita na primeira coluna a opção de selecionar linhas,
* todos os itens da lista possuem a propriedade dinâmica $selected para identificar a linha está selecionada.
* - Exemplo: ```item.$selected``` ou ```item['$selected']```.
*/
checkbox: boolean;
/** Lista de ações exibidas no menu que aparece ao clicar na columa de ações de cada linha.
* Essa propriedade deve receber um array de objetos que implementam a interface ThfColumnAction, caso o
* array esteja vazio a coluna será escondida.
*/
actions: Array;
/** Habilita em todas colunas a opção de ordenação de dados. */
sort: boolean;
/** Habilita ou desabilita o botão "Carregar mais resultados" */
showMoreDisabled: boolean;
/** Recebe uma ação de clique para o botão "Carregar mais resultados", caso não seja definida uma ação, o botão
* não é visível.
*/
showMore?: EventEmitter<{}>;
selectAll: boolean;
clickListener: any;
parentRef: any;
myElement: ElementRef;
constructor(myElement: ElementRef, renderer: Renderer, viewRef: ViewContainerRef);
selectAllRows(): void;
selectRow(row: any): void;
toggleRowAction(row: any): void;
sortColumn(column: any): void;
clearSortingElement(column: any): void;
parseDate(input: any): Date;
sortValidate(leftSide: any, rightSide: any, asc: any): 1 | 0 | -1;
sortArray(column: any, asc: any): void;
onShowMore(): void;
}