import { TccET_BIZOBJ } from '../../../odata/models/bizobj.model';
import { TccPlaceholder, TccPlaceholderService } from '../tcc-placeholder/tcc-placeholder.service';
import { TccBoPropValue } from '../../classes/tcc-bo-property-value.controller';
import { TccGetBoProperty } from '../../classes/tcc-get-bo-property.class';
import { TccGetBoPropertyService } from '../tcc-get-bo-property/tcc-get-bo-property.service';
import { TccBoProperty, TccClarcDate, TccPrimitiveValue } from '../../../odata/models/shared.model';
import { TccSingleton } from '../../../core/models/tcc-singleton.model';
import { TccManageSingletonsService } from '../../../core/services/tcc-manage-singletons/tcc-manage-singletons.service';
export declare class TccBoPropertyValueService implements TccSingleton {
    private getBoPropService;
    private placeholder;
    private controller;
    get Controller(): TccBoPropValue.Controller;
    constructor(getBoPropService: TccGetBoPropertyService, placeholder: TccPlaceholderService, manageSingletons: TccManageSingletonsService);
    init(): void;
    reset(): void;
    set BusinessObject(bo: TccET_BIZOBJ.BusinessObject);
    private get boProp();
    getTableProperty(tablePropertyId: string): TccGetBoProperty.returnType;
    private generateRowMetadata;
    getTableData(desktop?: TccET_BIZOBJ.Desktop): {
        [id: string]: {
            Value: TccPrimitiveValue;
            Confidence: number;
        };
    }[];
    private processMetadataRow;
    private joinComplexValueToString;
    private setMetaDataValues;
    setMetaDataTable(value: {
        [id: string]: string | number | boolean | Date;
    }[], tablePropertyId: string): void;
    setMetaDataTableRow(value: {
        [id: string]: string | number | boolean | Date;
    }, index: number, tablePropertyId: string): void;
    /**
     * Fügt dem Datenobjekt ggfs Defaults aus dem BO und Desktop hinzu.
     * @param transform
     * @param desktop
     */
    setDefaults(transform?: TccPlaceholder.transformFunction, desktop?: TccET_BIZOBJ.Desktop): void;
    /**
     * Fügt dem Datenobjekt eine neue Zeile hinzu und gibt die Werte für den Desktop zurück
     * @param transform
     * @param desktop
     * @returns
     */
    addRowWithDefaults(transform?: TccPlaceholder.transformFunction, desktop?: TccET_BIZOBJ.Desktop): {
        [propid: string]: {
            Value: TccPrimitiveValue;
            Confidence: number;
        };
    };
    /**
     * generates a new row
     * @param transform
     * @param desktop
     * @param addToDataObject if the new row should be added to the data object
     * @returns
     */
    private _generateRowWithDefaults;
    /**
     * generates a new row without adding it to the data object
     * @param transform
     * @param desktop
     * @returns
     */
    generateRowWithDefaults(transform?: TccPlaceholder.transformFunction, desktop?: TccET_BIZOBJ.Desktop): {
        [propid: string]: {
            Value: TccPrimitiveValue;
            Confidence: number;
        };
    };
    /**
     * Löscht eine Zeile aus dem Datenobjekt
     * @param index index of the row
     */
    deleteRow(index: number, tablePropertyId: string): void;
    /**
     * Löscht die angegebenen Zeilen aus dem Datenobjekt
     * @param indexes index of the row
     */
    deleteRows(indexes: number[], tablePropertyId: string): void;
    /**
     *
     * @param transform
     * @param desktop
     * @returns
     */
    getPositionMetadata(desktop?: TccET_BIZOBJ.Desktop): {
        [propid: string]: {
            Value: string | number | boolean | TccClarcDate | number[] | string[] | TccPrimitiveValue[] | TccBoProperty.EnumValue[];
            Confidence: number;
        };
    };
    private _getPositionMetadata;
    getHeaderDataValues(desktop?: TccET_BIZOBJ.Desktop): any;
    private getHeaderComplexValue;
    private getHeaderComplexCollectionValue;
    private generateDefaultValue;
}
