import ArticleOptionData from '../../model/Options/ArticleOptionData';
import CatalogPlannerArticleData from '../../model/Articles/CatalogPlannerArticleData';
import { AccessoireItemType } from './AccessoireItemType';
import { ArticleOptionValueView } from '../OptionTypes/ArticleOptionValueView';
import { ArticlePrefix } from './ArticlePrefixesType';
import { Decision, PartlistPos } from '../OptionTypes/DecisionType';
import BundleRule from '../Rules/BundleRules';
import { IDMPrices, Partlist } from '../IDM/ArticleApi';
import { IDMDecision } from '../IDM/Decision';
import { MetaDataFeature, MetaDataOption } from '../AdditionalModelInfos';
export type MetaData = {
    codex: string;
    name: string;
    values: string[];
    values_locales?: {
        [lang: string]: string;
    }[];
};
export interface MediaRef {
    url: string;
    detailInfoNo: number;
    decisionNos?: number[];
    avl?: number;
    avn?: number;
    avc?: number;
    avo?: number;
    avr?: number;
    avs?: number;
    avu?: number;
}
export default interface CatalogArticleDataType {
    articleCodex: string;
    catalogPlannerArticle?: CatalogPlannerArticleData;
    catalogName: string;
    catalogCodex: string;
    typeNr: string;
    articleType: "OPTIONTREE" | "FLAT";
    sendToSap?: string;
    areOptionsLoaded: boolean;
    arePricesLoaded: boolean;
    articleOptions: {
        [optCodex: string]: ArticleOptionData;
    };
    articleReferencedDecisions: Decision[];
    decisions: Decision[];
    hasArticleRelations: boolean;
    articleRelations?: AccessoireItemType[];
    partListArticles?: {
        PartListPos: PartlistPos[];
    }[];
    bundleRules?: BundleRule[];
    accPosPrio?: number;
    groupedPartlists?: {
        [decisionNr: string]: PartlistPos[];
    };
    decisionsUsedForPartlist?: number[];
    partlistDecisions?: {
        [decisionNumber: string]: Decision;
    };
    articlePrices?: any;
    useEkPrices: boolean;
    overwriteParentWidth?: boolean;
    overwriteParentHeight?: boolean;
    overwriteParentDepth?: boolean;
    doNotDelAccIfNotDocked?: boolean;
    heightHasPrice?: boolean;
    depthHasPrice?: boolean;
    widthHasPrice?: boolean;
    basicUnitPrice?: number;
    invalidAccessoires?: string[];
    onConfigOption?: string;
    onSetConfigOtpion?: string;
    orderPosNr?: string;
    maxPlanningCount?: number;
    contentItemId?: string;
    groupContentItemId?: string;
    isVisualized?: boolean;
    optionsForPrint?: string[];
    heightGridUsed?: number;
    heightGridAbove?: number;
    heightGridBelow?: number;
    articleEAN?: string;
    configArticleCodex?: string;
    guid: string;
    name: string;
    origName: string;
    name_locales?: {
        [lang: string]: string;
    };
    shortName?: string;
    origShortName?: string;
    shortName_locales?: {
        [lang: string]: string;
    };
    groupName?: string;
    origGroupName?: string;
    groupName_locales?: {
        [lang: string]: string;
    };
    longDescription?: string;
    longDescription_locales?: {
        [lang: string]: string;
    };
    properties: any[];
    optionProperties?: MetaDataOption[];
    featureProperties?: MetaDataFeature[];
    metaData?: MetaData[];
    image?: string;
    showroomImages?: any[];
    mainCategory?: string;
    width?: number;
    height?: number;
    depth?: number;
    widthFrom?: number;
    heightFrom?: number;
    depthFrom?: number;
    widthTo?: number;
    heightTo?: number;
    depthTo?: number;
    weight?: number;
    volume?: number;
    templateCodex?: string;
    price: number;
    ekPrice?: number;
    priceGroup?: string;
    modelName3D?: string;
    isHidden: boolean;
    svgs?: MediaRef[];
    images?: MediaRef[];
    partListExclusive: boolean;
    hideInPlannerStep?: boolean;
    hasPartlistArticle: boolean;
    retailArticleNr?: string;
    retailPrefix?: ArticlePrefix;
    retailTypeNr?: string;
    usePRGasOPVArticleNr?: boolean;
    retailMainCategoryNr?: string;
    retailSubCategoryNr?: string;
    hasType1Dependencies: boolean;
    j3D?: any;
    modifiedJ3D?: any;
    optiontreeDefault?: string;
    tabGroup?: string;
    tabGroupOption?: string;
    mergesToOPG?: {
        [opt_opv: string]: {
            [variantvalues: string]: ArticleOptionValueView[];
        };
    };
    idmPrices?: IDMPrices;
    idmDecisions: IDMDecision[];
    decisionsRefs?: number[];
    featureClassRefNo?: number;
    idmPartlist?: Partlist;
}
//# sourceMappingURL=CatalogArticleDataType.d.ts.map