import { EventEmitter, OnInit, OnDestroy } from '@angular/core'; import { QueueModel } from '../../models/queue.model'; import { QueueService } from '../../state/queue.service'; import { QueueStore } from '../../state/queue.store'; import { BaseContainerComponent } from '../../../shared/_base/base-container/base-container.component'; import { BaseStore } from '../../../shared/state/base.store'; import { QueueBusinessService } from '../../services/queue-business.service'; import { TableSecondaryModel } from '../../../shared/table-secondary/models/table-secondary.model'; import { MetaDataModel } from '../../../shared/models/meta-data.model'; import { QueueRecordTableBuilderService } from '../../services/queue-record-table-builder.service'; import { QueueFilterDropdownComponent } from '../queue-filter-dropdown/queue-filter-dropdown.component'; import { QueueFilterDropdownService } from '../../services/queue-filter-dropdown.service'; import { BaseQuery } from '../../../shared'; import * as i0 from "@angular/core"; /** * Container component for managing queue-related data and interactions. * Extends the BaseContainerComponent with a generic type of QueueModel. */ export declare class QueueContainerComponent extends BaseContainerComponent implements OnInit, OnDestroy { queueStore: QueueStore; private queueService; private baseStore; private queueBusinessService; private tableBuilder; private queueFilterDropdownService; private baseQuery; private destroy$; private searchSubject; queueList: QueueModel[]; selectedQueue: any; currentSearchTerm: string; selectedRows: any[]; /** Only while loading the queue list (sidebar); never tied to record pagination. */ queueListLoading: boolean; error: string | null; filteredQueueData: any[]; selectedStatus: string; userRole: boolean; selectedQueueId: string | null; table: TableSecondaryModel; metaData: MetaDataModel; currentPage: number; currentLimit: number; queryString: string; searchText: string; sortBy: string; sortOrder: number; isShowSkeleton: boolean; resetSort: boolean; appliedFilters: any; placeholder: string; /** Snapshot of the latest request; used to ignore stale responses. */ private latestRequestSnapshot; filterDropdown: QueueFilterDropdownComponent; set selectedRowsInput(rows: any[]); get selectedRowsInput(): any[]; assignmentComplete: EventEmitter<{ success: boolean; message: string; }>; userAssigned: EventEmitter<{ user: any; selectedRows: any[]; }>; selectedRowsData: EventEmitter; assignmentDataReady: EventEmitter<{ selectedRows: any[]; queueData: QueueModel; }>; rowClick: EventEmitter; selectionChange: EventEmitter; isAllRowSelected: EventEmitter; excludedApplicationIds: EventEmitter; constructor(queueStore: QueueStore, queueService: QueueService, baseStore: BaseStore, queueBusinessService: QueueBusinessService, tableBuilder: QueueRecordTableBuilderService, queueFilterDropdownService: QueueFilterDropdownService, baseQuery: BaseQuery); ngOnInit(): void; ngOnDestroy(): void; onQueueSelected(queueId: string): void; onStatusChanged(status: string): void; onInsertQueueRequested(): void; onSearchInputChanged(searchTerm: string): void; onSearchRequested(searchTerm: string): void; onSearchCleared(): void; onPaginationChanged(event: any): void; onFilterApplied(record: any): void; get hasActiveFilters(): boolean; onTableRowClick(record: any): void; onTableSelectionChange(selection: any[]): void; onAssignmentDataReady(event: { selectedRows: any[]; queueData: QueueModel; }): void; onSortApplied(event: any): void; onFilterDropdownApplied(filterData: any): void; onFiltersCleared(): void; onClearAllFilters(): void; private syncFilterDropdown; private initializeComponent; private setupSearchDebounce; private getAllQueueList; private handleQueueData; private resetSorting; private filterQueues; private getQueueRecordsData; private replaceWithLocalhost; private getSortOrderString; private resetPaginationState; private resetPage; private clearSelection; private clearFilters; private isReferredQueue; private getDefaultSortOrder; onSearchTermChanged(searchTerm: string): void; onSelectionChange(selection: any[]): void; onAssignmentComplete(event: { success: boolean; message: string; }): void; onUserAssigned(event: { user: any; selectedRows: any[]; }): void; isAssignButtonEnabled(): boolean; private getStoredQueueId; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }