import { TccET_BIZOBJ } from '../../../odata/models/bizobj.model';
import { TccOdataHelperService } from '../../../odata/services/tcc-odata-helper/tcc-odata-helper.service';
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';
export declare namespace TccGetUserExit {
    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 TccGetUserExitService implements TccSingleton {
    private helper;
    private factory;
    private functionsservice;
    private boPropservice;
    private desktoptomask;
    private snackbar;
    private reposervice;
    private boservice;
    private profileservice;
    private targetBo;
    private targetBoProp;
    private desktop;
    private UEMap;
    private RepoMap;
    private DatabaseMap;
    private BoMap;
    private RepoBoProp;
    private BoPropValue;
    private currUEId;
    private currIsHeader;
    private currItems;
    private _currDBResponse;
    private currDBFieldMap;
    private get currDBResponse();
    private set currDBResponse(value);
    private fillQuery;
    constructor(helper: TccOdataHelperService, 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;
    processUserexit(propId: string): Observable<TccGetUserExit.processResponse>;
    private processDBUserexit;
    private processDbUserexitData;
    private buildDbHitlist;
    private generateDBDataSource;
    private processRepoUserexit;
    mapItem(itemId: string): TccGetUserExit.dataRow;
    mapItems(itemIds: string[]): TccGetUserExit.dataRow[];
    private _mapItems;
    private filterDBSourceMappings;
    private filterRepoSourceMappings;
    private filterTargetMappings;
    private _mapItem;
    private _mapDBItem;
    private processUserexitData;
    private buildRepoHitlist;
    private mapTableElements;
    private generateDataSource;
    private get currUserexit();
    private get FillQuery();
    private get currRepo();
    private get currBo();
    private get currDBProfile();
    private getUserExit;
    private getRepository;
    private getRepoBo;
    private getItems;
    private getRepoFilterString;
    private getDbFilter;
    private normalizeMatches;
    /**
     * wird irgendwie nicht gebraucht
     * @returns
     */
    private get SourceType();
    /**
     * wird irgendwie nicht gebraucht. Query braucht nur die id
     * @returns
     */
    private getDatabaseProfile;
}
