import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, OnChanges, OnDestroy, OnInit, QueryList, SimpleChanges } from "@angular/core"; import { AnnaFilterService, AnnaGtHelperService, AnnaSortService, RadioButtonModel } from "@annalib/anna-core"; import { SectionRateConstants } from "./constants/section-rate.constant"; import { IWeekColumn, IWeekHeaderGroup } from "./models/section-rate.interface"; import { SectionRate, SectionRateTableConfig } from "./models/section-rate.model"; import { SectionRateTableService } from "./services/section-rate-table.service"; import * as i0 from "@angular/core"; export declare class SectionRateTableComponent implements OnInit, OnChanges, AfterViewInit, OnDestroy { private cdr; annaSortService: AnnaSortService; annaFilterService: AnnaFilterService; private sectionRateTableService; private annaGenericTableService; tableData: SectionRate[]; clonedTableData: SectionRate[]; weekColumns: IWeekColumn[]; weekHeaderGroup: IWeekHeaderGroup[]; config: SectionRateTableConfig; loading: boolean; noRatesMessage: string; disableRowsExpanssion: boolean; isExpandRowsChecked: boolean; expandAllClicked: EventEmitter; filterAppliedToTable: EventEmitter; sortingAppliedToTable: EventEmitter; resetFiltersClicked: EventEmitter; skeletonRows: number[]; skeletonCols: number[]; skeletonWeekCols: number[]; isScrolledLeft: boolean; tableContainer: ElementRef; headerRow: ElementRef; tooltip: any; showFilterTabs: boolean; radioButtons: RadioButtonModel[]; columnSortFiltersStates: { disableDP: boolean; disableTime: boolean; disableDays: boolean; disableInventoryCode: boolean; disableProgram: boolean; disableStartDate: boolean; disableEndDate: boolean; }; enableResetAllBtn: boolean; fixedColWidth: number; borderBottom: boolean; filterAlignment: string; disableExpandCheckbox: boolean; daysOrInventoryData: { weekNumbers: string; daysOrInventoryData: string; }[]; tooltipTableHeaders: string[]; tooltipType: "Days" | "InventoryCode"; daysOrInventoryCodeTooltip: any; Constants: typeof SectionRateConstants; renderedTableData: SectionRate[]; limit: number; start: number; end: number; thElements: QueryList; private destroy$; private resizeObserver; private resizeUpdatePending; constructor(cdr: ChangeDetectorRef, annaSortService: AnnaSortService, annaFilterService: AnnaFilterService, sectionRateTableService: SectionRateTableService, annaGenericTableService: AnnaGtHelperService); ngOnInit(): void; setFilterAlignmentBasedOnScreenResolution(): void; ngOnChanges(changes: SimpleChanges): void; setScrollToInitialPosition(): void; fillWeekColumns(): void; getFixedColWidth(): number; ngAfterViewInit(): void; /** * Sets up margin for filter icons when thElements are available or change */ private setupFilterIconMargins; /** * Sets up ResizeObserver to watch for header row width changes */ private setupResizeObserver; /** * Checks and updates column width if needed (fallback when ResizeObserver is not available) */ private checkAndUpdateColumnWidth; onTableContainerScroll(event: any): void; getTableData(start: number, end: number): SectionRate[]; updateIndex(): void; setInitialRowsForTable(): void; resetIndex(): void; removeTooltips(): void; expandRow(row: SectionRate): void; expandRowsClicked(): void; expandAllRows(): void; enableDisableExpandAllCheckbox(): void; private initFilters; setColumnHeadersInFiltersService(): void; bindTheValueToToolTip(tooltip: any, header: string[], isSortRequired: boolean[], isFilterRequired: boolean[]): void; private openTooltip; closeTooltip(): void; disableEnableTooltipIcon(): void; disableEnableEachColumnTooltipIcon(key: string, filterType?: "CHECKBOX" | "TIME" | "DATE"): boolean; isTooltipActive(header: string[]): boolean; filterApplied(tableData: any[]): void; sortingApplied(tableData: any[]): void; clearFilters(): void; showHideClearAllBtn(): void; bindTheValueTodaysOrInventoryTooltip(data: any, tooltipType: "Days" | "InventoryCode", tooltip: any): void; trackByTableData(index: number, item: SectionRate): string; trackByRevenueClass(index: number, item: any): string; trackByIndex(index: number): number; ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }