import { TccET_BIZOBJ } from '../../../odata/models/bizobj.model';
import { TccKeyValuePair, TccTranslation } from '../../../odata/models/shared.model';
import { TccDesktop } from '../../classes/tcc-desktop.class';
import { TccGetBoProperty } from '../../classes/tcc-get-bo-property.class';
import { TccSingleton } from '../../../core/models/tcc-singleton.model';
export declare class TccGetBoPropertyService extends TccDesktop implements TccSingleton, TccGetBoProperty.iHandler {
    private boPropMap;
    private current;
    set BusinessObject(BO: TccET_BIZOBJ.BusinessObject);
    constructor();
    init(): void;
    reset(): void;
    private initBo;
    generateBoProp(bo: string | TccET_BIZOBJ.BusinessObject): TccGetBoProperty.Handler;
    /**
     * Handler ohne BO. Hilfsobjekt
     */
    generateEmpty(): TccGetBoProperty.Handler;
    get Current(): TccGetBoProperty.Handler;
    setBusinessObject(businessObject: TccET_BIZOBJ.BusinessObject): void;
    get HeaderPropIds(): Array<string>;
    get HeaderProperties(): Array<TccGetBoProperty.SimpleTypes>;
    get TableProperties(): Array<TccGetBoProperty.SimpleTypes>;
    get TableProperty(): TccET_BIZOBJ.ComplexProperty;
    get AllTableProperties(): {
        prop: TccET_BIZOBJ.ComplexProperty;
        props: string[];
    }[];
    get ExpandableBoProperties(): TccGetBoProperty.ExpandableBoProperties;
    set SubTypeId(subtypeid: string);
    get SubTypeId(): string;
    get SubType(): TccET_BIZOBJ.SubType;
    hasProperty(id: string): boolean;
    getProperty(id: string, businessObject?: TccET_BIZOBJ.BusinessObject): TccGetBoProperty.returnType;
    getPropertyProp(id: string, businessObject?: TccET_BIZOBJ.BusinessObject): TccGetBoProperty.PropertyTypes;
    getPropertyByPath(path: string[] | string, name?: string): TccGetBoProperty.returnType;
    pathToId(path: string[] | string): string;
    getPropertyByName(name: string, path?: string[] | string, businessObject?: TccET_BIZOBJ.BusinessObject): TccGetBoProperty.returnType | TccGetBoProperty.returnType[];
    getPropertyIndex(id: string): number;
    get DefaultHeaderDesktop(): TccET_BIZOBJ.Container;
    get DefaultTableDesktop(): TccET_BIZOBJ.DesktopTable;
    generateDefaultDesktop(prop: TccGetBoProperty.SimpleTypes, row: number): TccET_BIZOBJ.DesktopItem;
    /**
     * Transformativ. Es ist erforderlich den BOPropertyService neu mit dem geänderten BO, über den Parameter init, zu initialisieren.
     */
    addProperty(type: TccET_BIZOBJ.AbstractType.ccAT_Complex, Name: string, parentId: string): TccET_BIZOBJ.ComplexProperty;
    addProperty(type: TccET_BIZOBJ.AbstractType.ccAT_Enumeration, Name: string, parentId: string): TccET_BIZOBJ.EnumerationProperty;
    addProperty(type: TccET_BIZOBJ.AbstractType.ccAT_Primitive, Name: string, parentId: string): TccET_BIZOBJ.PrimitiveProperty;
    addProperty(type: TccET_BIZOBJ.AbstractType, Name: string, parentId: string): TccGetBoProperty.PropertyTypes;
    addCompleteProperty(property: TccGetBoProperty.PropertyTypes, parentId: string, index?: number): void;
    /**
     * Transformativ. Es ist erforderlich den BOPropertyService neu mit dem geänderten BO, über den Parameter init, zu initialisieren.
     */
    deleteProperty(propId: string, init?: boolean): boolean;
    /**
     * Transformativ. Es ist erforderlich den BOPropertyService neu mit dem geänderten BO, über den Parameter init, zu initialisieren.
     */
    changePropertyType(propId: string, newType: TccET_BIZOBJ.AbstractType, init?: boolean): boolean;
    get AllComplexProperties(): {
        property: TccET_BIZOBJ.ComplexProperty;
        path: string[];
    }[];
    getAllPathsKeyValue(inverted?: boolean): TccKeyValuePair[];
    getAllProperties(businessObject?: TccET_BIZOBJ.BusinessObject): TccGetBoProperty.PropertyTypes[];
    getAllPropertiesWithPath(businessObject?: TccET_BIZOBJ.BusinessObject): TccGetBoProperty.returnType[];
    removeSubtype(SubtypeId: string): boolean;
    generateSubtype(DisplayName: TccTranslation, ParentId?: string, Description?: string): TccET_BIZOBJ.SubType;
    getSubType(subtypeId: string): TccET_BIZOBJ.SubType;
}
