import { ChangeDetectorRef, ElementRef, EventEmitter, Injector, OnDestroy, OnInit, SimpleChanges, TemplateRef, WritableSignal } from '@angular/core'; import { NgtHttpService } from '../../services/http/ngt-http.service'; import { NgtTranslateService } from '../../services/http/ngt-translate.service'; import { NgtInputComponent } from '../forms/template-driven/ngt-input/ngt-input.component'; import { NgtModalComponent } from '../ngt-modal/ngt-modal.component'; import { NgtPaginationComponent } from '../ngt-pagination/ngt-pagination.component'; import { NgtStylizableService } from '../../services/ngt-stylizable/ngt-stylizable.service'; import * as i0 from "@angular/core"; export declare enum NgtDatatableType { REMOTE = "REMOTE", FIXED = "FIXED" } export declare enum NgtDatatableSearchType { DEFAULT = "DEFAULT", SILENT = "SILENT" } export declare enum NgtDatatableParam { STAY_IN_PAGE = 1, RESET_PAGE = 0, ENABLE_LOADER = 1, DISABLE_LOADER = 0 } export declare class NgtCheckedElement { id: string; checked: boolean; reference: any; } export declare class NgtCustomFilter { term: string; tagValue: string; tagLabel?: string; } export declare class NgtDatatableComponent implements OnInit, OnDestroy { private injector; private ngtHttpService; private changeDetector; ngtTranslateService: NgtTranslateService; table: ElementRef; ngtPagination: NgtPaginationComponent; searchModal: NgtModalComponent; remoteResource: any; type: NgtDatatableType; filterTagBgColor: string; filterTagMargin: string; paginationMargin: string; inputSearch: NgtInputComponent; searchDelay: number; searchTermMinLength: number; searchTermOnEnter: boolean; defaultFilters: any; filtersDescription: {}; canSelectAllRegisters: boolean; headBgColor: string; onDataChange: EventEmitter; onClearFilter: EventEmitter; onClearSelectedElements: EventEmitter; onSelectedElementsChange: EventEmitter>; onToogleAllCheckboxes: EventEmitter; onToogleCheckbox: EventEmitter; onSelectAllRegisters: EventEmitter; onOpenSearchModal: EventEmitter; onSearch: EventEmitter; searchModalTemplate: TemplateRef; data: any[]; cleaningFilter: boolean; componentReady: boolean; filtersTranslated: any[]; emptyStateVisible: boolean; columnCount: any[]; hasSelectedAllElements: boolean; selectedElements: Array; readonly loadingSignal: WritableSignal; filterModalStyle: NgtStylizableService; private searching; private searchTimeout; private subscriptions; private currentState; constructor(injector: Injector, ngtHttpService: NgtHttpService, changeDetector: ChangeDetectorRef, ngtTranslateService: NgtTranslateService); get loading(): boolean; set loading(value: boolean); ngOnInit(): void; ngOnDestroy(): void; setSearchModalTemplate(template: TemplateRef): void; openSearchModal(reference?: string): void; clearSelectedElements(): void; getCurrentState(): { filters: { defaultFilters: {}; silentFilters: {}; qualifiedFilters: {}; }; sort: { field: string; direction: string; }; }; init(): void; search(filters: Object, searchType?: NgtDatatableSearchType, applyDelayOnSearch?: boolean): Promise; sort(field: any, direction: any): Promise; refresh(stayInPage?: NgtDatatableParam, loader?: NgtDatatableParam): Promise; getData(): any[]; getCurrentSort(): { field: string; direction: string; }; setPerPage(perPage: number): void; applyFiltersDescription(): void; setFilterDescription(reference: string, description: string): void; removeFilter(reference?: string, refresh?: boolean): Promise; hasAppliedFilter(filter: Object | NgtCustomFilter | string): boolean; hasAppliedFilters(searchType?: NgtDatatableSearchType): boolean; ngOnChanges(changes: SimpleChanges): void; apply(page?: number, applyDelayOnSearch?: boolean, loader?: NgtDatatableParam): Promise; getTagFilterValue(filter: any): string; getTitle(filter: any): string; private getFiltersTagArray; private loadData; private getQualifiedFilters; private bindVisibilityAttributes; private proccessRemoteResponse; private initSearchWithInput; private initCheckboxEvent; private canApplyFilters; private isValidFilter; private destroySubscriptions; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }