import { TccDataType, TccKeyValuePair } from '../../../odata/models/shared.model';
import { TccET_BIZOBJ } from '../../../odata/models/bizobj.model';
import { TccTranslationPipe } from '../../pipes/tcc-translation/tcc-translation.pipe';
import { TccInputMask } from '../../models/inputMask.model';
import { TccValidators } from '../../models/form-error.model';
import { TccGetBoPropertyService } from '../tcc-get-bo-property/tcc-get-bo-property.service';
import { TccET_BPI } from '../../../odata/models/bpi.model';
import { TccGetBoProperty } from '../../classes/tcc-get-bo-property.class';
import { TccSingleton } from '../../../core/models/tcc-singleton.model';
export declare namespace TccDesktopToMask {
    interface tableElement {
        Id: string;
        Name: string;
        Type: TccInputMask.elementtype;
        DataType: TccDataType;
        Selections?: Array<TccKeyValuePair>;
        Value?: any;
        Validators?: Array<TccValidators>;
        ReadOnly?: boolean;
        Userexit?: boolean;
        DecimalPlaces?: number;
        BoProp: TccET_BIZOBJ.PrimitiveProperty | TccET_BIZOBJ.EnumerationProperty;
        Hide?: boolean;
        ChildDesktop?: TccInputMask.SectionContent[];
        Position?: TccET_BIZOBJ.ItemPosition;
    }
    interface propertyList {
        [propname: string]: TccET_BIZOBJ.EnumerationProperty | TccET_BIZOBJ.PrimitiveProperty;
    }
    type tableElements = Array<tableElement>;
    type possibleMaskTypes = TccInputMask.elementtype.checkbox | TccInputMask.elementtype.select | TccInputMask.elementtype.input | TccInputMask.elementtype.datepicker | TccInputMask.elementtype.textfield;
    type possibleInputMaskElements = TccInputMask._DisplayCheckboxElement | TccInputMask._DisplayDatepickerfieldElement | TccInputMask._DisplayInputElement | TccInputMask._DisplaySelectElement | TccInputMask._DisplayTextfieldElement;
    interface elementDataSet {
        row: number;
        index: number;
        element: TccInputMask.DisplayElement;
        dataType?: TccDataType;
    }
}
export declare class TccDesktopToMaskService implements TccSingleton {
    private translationpipe;
    private getBoPropertyService;
    constructor(translationpipe: TccTranslationPipe, getBoPropertyService: TccGetBoPropertyService);
    init(): void;
    reset(): void;
    private _bizObj;
    private set bizObj(value);
    private get bizObj();
    setBusinessObject(bizObj: TccET_BIZOBJ.BusinessObject): void;
    getTableProperty(): TccGetBoProperty.returnType;
    getProperty(id: string, businessobject?: TccET_BIZOBJ.BusinessObject): TccGetBoProperty.returnType;
    getPropertyByName(name: string): TccGetBoProperty.returnType[];
    getPropertyByName(name: string, path: string[], businessobject?: TccET_BIZOBJ.BusinessObject): TccGetBoProperty.returnType;
    getAllProperties(): TccGetBoProperty.PropertyTypes[];
    getAllHeaderProperties(): TccGetBoProperty.SimpleTypes[];
    getInputMaskObject(desktop?: TccET_BIZOBJ.Desktop, bizObj?: TccET_BIZOBJ.BusinessObject): TccInputMask.SectionElements;
    /**
     * Funktion für PosTable
     * @param desktop
     * @param bizObj
     * @returns
     */
    getTableObject(desktop?: TccET_BIZOBJ.Desktop, bizObj?: TccET_BIZOBJ.BusinessObject): TccDesktopToMask.tableElements;
    getTableElementsFromHeaderDesktop(desktop?: TccET_BIZOBJ.Desktop, bizObj?: TccET_BIZOBJ.BusinessObject): TccDesktopToMask.tableElements;
    getTableElementsFromHitlist(bizObj: TccET_BIZOBJ.BusinessObject, hitlist: string[]): TccDesktopToMask.tableElements;
    getTableElementsFromDatabaseQuery(colums: TccET_BPI.DatabaseQueryColumn[], hitlist: string[]): TccDesktopToMask.tableElements;
    private buildTableItem;
    private buildTableItemFromDesktopContainer;
    private getSection;
    private getRow;
    private getDesktopItemsInSortedRows;
    private createMaskField;
    private getComplexChildSection;
    private getValidators;
    private getDatatypeValidators;
    private getSelections;
    private getItemType;
    private createRow;
}
