import { TccET_BIZOBJ } from '../../../odata/models/bizobj.model';
import { TccODataServiceFactory } from '../../../odata/factories/tcc-odata-service/tcc-odata-service.factory';
import { TccTranslation } from '../../../odata/models/shared.model';
import { TccDesktopToMask, TccDesktopToMaskService } from '../tcc-desktop-to-mask/tcc-desktop-to-mask.service';
import { Observable } from 'rxjs';
import { TccGetBoPropertyService } from '../tcc-get-bo-property/tcc-get-bo-property.service';
import { TccOdataFunctionsService } from '../../../odata/services/tcc-odata-functions/tcc-odata-functions.service';
import { TccSnackBarService } from '../../../core/services/tcc-snackbar/tcc-snackbar.service';
import { TccSingleton } from '../../../core/models/tcc-singleton.model';
import { TccManageSingletonsService } from '../../../core/services/tcc-manage-singletons/tcc-manage-singletons.service';
import { TccGetUserExitConfigService } from '../tcc-get-user-exit-config/tcc-get-user-exit-config.service';
export declare namespace TccGetUserExitData {
    interface dataRow {
        itemId: string;
        values: {
            [propId: string]: any;
        };
    }
    interface processResponse {
        displayedColumns: {
            propId: string;
            displayName: string | TccTranslation;
        }[];
        columnMetaInfo: {
            [propId: string]: TccDesktopToMask.tableElement;
        };
        dataSource: dataRow[];
    }
}
export declare class TccGetUserExitDataService implements TccSingleton {
    private getUserexitConfigService;
    private factory;
    private functionsservice;
    private boPropservice;
    private desktoptomask;
    private snackbar;
    private targetBo;
    private targetBoProp;
    private desktop;
    private BoPropValue;
    private currUEId;
    private currIsHeader;
    private _currDBResponse;
    private currDBFieldMap;
    private get currDBResponse();
    private set currDBResponse(value);
    private fillQuery;
    constructor(getUserexitConfigService: TccGetUserExitConfigService, factory: TccODataServiceFactory, functionsservice: TccOdataFunctionsService, boPropservice: TccGetBoPropertyService, desktoptomask: TccDesktopToMaskService, snackbar: TccSnackBarService, manageSingletons: TccManageSingletonsService);
    init(): void;
    reset(): void;
    get IsHeader(): boolean;
    resetMaps(): void;
    initTarget(TargetBo: TccET_BIZOBJ.BusinessObject, Desktop: TccET_BIZOBJ.Desktop, fillQuery: (propId: string) => any): void;
    getCurrUserexit(): TccET_BIZOBJ.Userexit;
    getUserExit(userexitId?: string, isHeader?: boolean): Observable<TccET_BIZOBJ.Userexit>;
    processUserexit(propId: string, search?: {
        field?: string;
        value: any;
    }): Observable<TccGetUserExitData.processResponse>;
    private noQuerySetMessage;
    private configSearchFieldBehavior;
    mapItem(itemId: string): TccGetUserExitData.dataRow;
    mapItems(itemIds: string[]): TccGetUserExitData.dataRow[];
    private _mapItems;
    private mapTableElements;
    private get FillQuery();
    private normalizeMatches;
    private generateSearchFromHitlist;
    /**
     * Masterdata Userexit
     */
    private processMasterDataUserexit;
    private processMdUserexitData;
    private processMasterDataUserexitData;
    private generateMdDataSource;
    private getMasterDataObservable;
    private _mapMDItem;
    private getMdFilter;
    /**
     * Database Userexit
     */
    private processDBUserexit;
    private processDbUserexitData;
    private buildDbHitlist;
    private generateDBDataSource;
    private filterDBSourceMappings;
    private filterTargetMappings;
    private _mapDBItem;
    private getDbFilter;
}
