import { HttpClient } from '@angular/common/http'; import { Observable } from 'rxjs'; import { BaseService, AppConfigService, BaseStore } from '../../shared'; import { ListService } from '../../shared/services/list.service'; import * as i0 from "@angular/core"; export type RiskRating = 'Low' | 'Medium' | 'High'; export type ApplicationType = 'BTL' | 'HPP'; export type PurchaseType = 'Purchase' | 'Refinance'; export type TaskStatus = 'Not Started' | 'In-progress' | 'Completed'; export type Category = 'UK' | 'Ex-Pat' | 'Intl'; export type EPC = 'A or B (Green)'; export interface QueueFilter { riskRating: RiskRating[]; applicationType: ApplicationType[]; purchaseType: PurchaseType[]; taskStatus: TaskStatus[]; category: Category[]; epc: EPC[]; vulnerableCustomer: boolean | null; financeMin: number | null; financeMax: number | null; pendingDays: number | null; assignedUnderwriter: string[]; } export interface UnderwriterOption { id: string; name: string; } /** * */ export declare class QueueFilterDropdownService extends BaseService { private configService; private searchSubject; constructor(http: HttpClient, configService: AppConfigService, store: BaseStore, listService: ListService); /** * Override apiUrl to use the main API URL instead of catQwUrl */ get apiUrl(): string; private filter; setRiskRating(rating: RiskRating): void; setApplicationType(type: ApplicationType): void; setPurchaseType(type: PurchaseType): void; setTaskStatus(status: TaskStatus): void; setCategory(category: Category): void; setEpc(epc: EPC): void; setVulnerableCustomer(value: boolean | null): void; setFinanceMin(min: number | null): void; setFinanceMax(max: number | null): void; setPendingDays(days: number | null): void; setAssignedUnderwriter(ids: string[]): void; setAllFilters(filters: QueueFilter): void; getFilters(): QueueFilter; hasFilters(): boolean; getFilterCount(): number; clearAll(): void; /** * Builds a query string for API calls based on the current filter values. * Maps UI filter values to API parameters. */ buildFilterQueryString(filters: QueueFilter): string; /** * Fetches underwriter options from the API based on search key * @param {string} searchKey - The search term to filter underwriters * @returns {Observable} Observable of underwriter options array */ getUnderwritersList(searchKey?: string): Observable; /** * Triggers a search for underwriters with debounce * @param {string} searchKey - The search term to filter underwriters */ searchUnderwriters(searchKey?: string): void; /** * Returns an Observable that emits underwriter options with debounce and distinctUntilChanged * @returns {Observable} Observable of underwriter options array */ getUnderwritersSearchObservable(): Observable; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }