import { TranslateService } from "@ngx-translate/core";
import { FormField } from "@seniorsistemas/angular-components";
import { WageTypePayrollService } from "../../core/entities/wage-type-payroll/wage-type-payroll.service";
import { EntityLookupConfigService } from "../../shared/services/entity-lookup-config.service";
import { Observable } from "rxjs";
import { Filter } from './../../shared/commons/filter-interface';
export declare class WageTypePayrollLookupService {
    private translate;
    private configService;
    private wageTypePayrollService;
    private wageTypePayrollLookupDisplayFields;
    wageTypePayrollLookupSeparator: string;
    private wageTypePayrollSerchSubject;
    private wageTypePayrollLookupSubject;
    private ngUnsubscribe;
    constructor(translate: TranslateService, configService: EntityLookupConfigService, wageTypePayrollService: WageTypePayrollService);
    onWageTypePayrollLookupRequest(event: string): void;
    onWageTypePayrollLookupRequestObservable(value: string, filter?: Filter[]): Observable<{
        contents: any[];
        totalElements: number;
    }>;
    onWageTypePayrollSearchRequest(event: any): void;
    onWageTypePayrollSearchRequestObservable(event: any, filter?: Filter[]): Observable<any>;
    getWageTypePayrollSearchFields(): FormField[];
    private getLabelForMapping;
    private mapToComponent;
    /**
     * Constrói uma query de filtros otimizada combinando filterData e filters adicionais.
     *
     * Este método agrupa filtros com a mesma key usando operador IN para melhor performance,
     * e conecta diferentes keys usando operador OR.
     *
     * @param filterData String de filtro base (ex: busca por texto)
     * @param filters Array de filtros estruturados com key/value
     * @returns String de query formatada para uso no backend
     */
    private getFilters;
}
