import { EventEmitter, OnChanges, OnInit, SimpleChanges, OnDestroy, ChangeDetectorRef, TemplateRef } from '@angular/core'; import { DynamicFilterItem, DynamicFilterComponent } from '../filters/dynamic-filter/dynamic-filter.component'; import { DynamicTableColumn } from '../table/dynamic-table/dynamic-table.component'; import { ColumnVisibilityConfig } from '../column-visibility/column-visibility.component'; import { TableAction } from '../table-action-toolbar/table-action-toolbar.component'; import { EmptyStateConfig } from '../empty-state/empty-state-config.interface'; import * as i0 from "@angular/core"; export declare class TableTemplateComponent implements OnInit, OnChanges, OnDestroy { private cdr; searchPlaceholder: string; searchValue: string; showClear: boolean; showSearchBar: boolean; showExportButton: boolean; isExporting: boolean; onSearchChange: EventEmitter; onExportClick: EventEmitter; onApplyFilterClick: EventEmitter; onResetFilterClick: EventEmitter; onClearAll: EventEmitter; removeChip: EventEmitter; filterConfig: DynamicFilterItem[]; filterModel: Record; showFilterPanel: boolean; showFilterButton: boolean; otherButtons: TemplateRef[]; otherDropDownButtons: TemplateRef[]; otherSelectDropDownButtons: TemplateRef[]; /** @deprecated Use otherButtons array instead */ otherButtonLabel: string; /** @deprecated Use otherButtons array instead */ otherButtonVariant: 'filled' | 'outlined' | 'text' | 'elevated' | 'tonal' | 'grey-solid'; /** @deprecated Use otherButtons array instead */ showOtherButton: boolean; showActionButton: boolean; showSettingsButton: boolean; showAutoRefreshButton: boolean; showViewModeToggle: boolean; viewMode: 'list' | 'modular'; viewModeLabels: { list: string; modular: string; }; viewModeChange: EventEmitter<"list" | "modular">; viewModeSegments: Array<{ label: string; value: string; icon?: string; }>; onViewModeChange(value: string): void; data: any[]; isEmptyState: boolean; emptyStateConfig: EmptyStateConfig; actions: TableAction[]; chips: Array<{ key?: string; label?: string; text: string; fullText?: string; hasMore?: boolean; }>; filterApplied: boolean; columns: DynamicTableColumn[]; rowSelectable?: (row: any) => boolean; selectedAutoRefreshInterval: number; pageIndex: number; pageSize: number; pageSizeOptions: number[]; pageSizeMenuDirection: 'auto' | 'up' | 'down'; serverSidePagination: boolean; totalElements: number; pageChange: EventEmitter<{ pageIndex: number; pageSize: number; }>; /** * When false, header sort does not reorder rows locally (use with serverSidePagination + sortChange). * Default true for backward compatibility. */ enableLocalSort: boolean; sortChange: EventEmitter<{ fieldId: string; fieldValue?: string; direction: 'asc' | 'desc' | null; }>; isTableLoading?: boolean; isTableDataLoading?: boolean; cellJsonPathGetter?: (rowIndex: number, colId: string, row: any) => string; onJsonPathCopiedHandler?: (event: { path: string; source: string; }) => void; selectedItems: any[]; /** When true, the action toolbar renders the "Select all" affordance. */ showSelectAllInToolbar: boolean; /** When true, the action toolbar renders the dismiss (×) affordance. */ showDismissInToolbar: boolean; /** Bound to the toolbar's "Select all" checkbox — drives the checked state. */ allSelectedInToolbar: boolean; private _columnVisibility; private _cachedVisibilityColumns; filteredRows: any[]; pagedRows: any[]; constructor(cdr: ChangeDetectorRef); private pendingFilters; private appliedFilters; private autoRefreshTimer?; onReload: EventEmitter; onAutoRefreshClick: EventEmitter; columnVisibilityChange: EventEmitter; autoRefreshIntervalChange: EventEmitter; /** Fires when a bulk action (delete / edit / tag / …) is invoked on the selection. */ bulkActionClick: EventEmitter<{ id: string; selected: any[]; }>; /** Fires when the toolbar's "Select all" affordance is toggled (requires `showSelectAllInToolbar`). */ bulkSelectAllChange: EventEmitter; /** Fires when the toolbar's dismiss (×) affordance is clicked (requires `showDismissInToolbar`). */ bulkDismiss: EventEmitter; /** Fires whenever the component internally mutates `selectedItems` (e.g. dismiss clears it). */ selectedItemsChange: EventEmitter; dynamicFilterComponent?: DynamicFilterComponent; computedColumns: DynamicTableColumn[]; visibilityColumns: Array<{ id: string; label: string; }>; private updateComputedColumns; private updateVisibilityColumns; set columnVisibility(cfg: ColumnVisibilityConfig | undefined); get columnVisibility(): ColumnVisibilityConfig; ngOnInit(): void; ngOnChanges(changes: SimpleChanges): void; private initializeComponent; /** * Get selected IDs from selectedItems (objects) */ private getSelectedIds; private restoreSelectionState; private initializeColumnVisibility; get anyRowSelected(): boolean; get currentSelectedItems(): any[]; /** Toolbar `actionClick` handler — emits upward as `bulkActionClick`. */ actionClick(event: { id: string; selected: any[]; }): void; /** Toolbar `selectAllChange` handler — selects every filtered row locally and emits. */ onToolbarSelectAll(checked: boolean): void; /** Toolbar `dismiss` handler — clears selection locally so the toolbar closes. */ onToolbarDismiss(): void; view(id: number | string): void; edit(row: any): void; delete(row: any): void; toggleFilter(): void; onColumnVisibilityChange(cfg: ColumnVisibilityConfig): void; onAutoRefreshChange(intervalMs: number): void; valueChange(value: string): void; search(value: string): void; cleared(): void; onEmptyAction(action: any): void; onFiltersChanged(current: any): void; onFiltersApplied(applied: any): void; handleResetFilterClick(): void; handleRefreshClick(): void; private triggerReload; private setupAutoRefresh; private clearAutoRefresh; ngOnDestroy(): void; onPaginate(e: { pageIndex: number; pageSize: number; }): void; onPageSizeChange(size: number): void; onRemoveChip(chip: any): void; onClearAllChips(): void; private applyPagination; private mapVisibilityColumns; private normalizeDate; private passFilters; trackByTemplateRef(index: number): number; trackByDropdownTemplateRef(index: number): number; trackBySelectDropdownTemplateRef(index: number): number; isExportModalOpen: boolean; exportCodeClick(): void; closeExportModal(): void; onExportModalExport(result: { type: 'local' | 'email'; emails?: string[]; framework: 'WEBDRIVER_IO' | 'SELENIUM_JAVA'; }): void; get selectedCasesForExport(): Array<{ id?: number; name?: string; }>; get arrowClasses(): string; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }