import { MediaRef, MetaData } from '../Articles/CatalogArticleDataType';
import { AdditionalGroupFilter, ContentItemTeaser } from '../ViewTypes';
export type OptionLayoutType = 'IMAGE' | 'TEXT' | 'DROPDOWN_TEXT' | 'DROPDOWN_IMAGE' | 'NUMBER' | 'GAL_BIG' | 'GAL_GROUP_DROPDOWN' | 'GAL_SMALL_GROUP_DROPDOWN' | 'GAL_TEXT' | 'GAL_BIG_TEXT' | 'GAL_SMALL_TEXT' | 'GAL_VERY_SMALL_TEXT' | 'TOGGLE' | 'TOGGLE_NAME' | 'TEXTBOX';
export interface CatalogOptionDataType {
    codex: string;
    name: string;
    origName: string;
    name_locales: {
        [lang: string]: string;
    };
    headerPosVariationType: 'K' | 'P' | 'V' | 'I' | 'U';
    idmVariantenArt?: number;
    image?: string;
    description?: string;
    invisible: boolean;
    hiddenByMask?: boolean;
    layout: OptionLayoutType;
    maskTabgroup?: string;
    useMaxPriceOfGroup?: number;
    calcPercentOnOptions?: string;
    hideGroupNameInOrderText?: boolean;
    hideInOrderText?: boolean;
    showOPVCodex?: boolean;
    showOPVAsArticleNr?: boolean;
    sendToPIM?: boolean;
    property: any[];
    parentOptionCodex?: string;
    articlePlaceholder?: boolean;
    propertyObj: PropertyObj;
    measureKey?: string;
    sequenceNo?: number;
    isMultiselect?: boolean;
}
export interface PropertyObj {
    url?: string;
    ignoreGroups?: boolean;
    ignorePgrGroupPosition?: boolean;
    showSearchbar?: boolean;
    showFilter?: boolean;
    pdfUrl?: string;
    diameter?: boolean;
    partOfGroup?: {
        groupName: string;
        position: 'l' | 'r' | undefined;
    };
    requiresUserInput?: boolean;
    isDescribingState?: boolean;
    customDimension?: boolean;
    customDimensionText?: string;
    hideOptionInConfigurator?: boolean;
    mergeIDMToOPG?: string;
    onlyVisibleIfNotDocked?: string;
    onlyVisibleIfConfigSingle?: string;
    onlyVisibleIfConfigAll?: string;
    isDefaultValueForOptions?: string;
    checkForReversed?: {
        checkOnlyForOptions?: string[];
        checkForReversingChanges: 'BLOCK' | 'WARN';
    };
    freetextDefaultValue?: string;
    forceShowVariantDesc?: string;
    showOnSeparatTabgroup?: string;
    setName?: boolean;
    addOptionToTabgroupInPartlistSummary?: string;
    addToWWS?: boolean;
    isDefaultSiblingOption?: string;
    contentItemId?: string;
    contentItemTeaser?: ContentItemTeaser;
    sendToPIM?: boolean;
    requiredOption?: boolean;
    suggestedOption?: boolean;
    additionalGroupFilter?: AdditionalGroupFilter[];
    description?: string;
}
export interface HVSType {
    h: number;
    s: number;
    v: number;
}
export interface CatalogOptionValueDataType {
    codex: string;
    name: string;
    origName: string;
    name_locales: {
        [lang: string]: string;
    };
    groupName?: string;
    origGroupName?: string;
    groupName_locales?: {
        [lang: string]: string;
    };
    description?: string;
    description_locales?: {
        [lang: string]: string;
    };
    image?: string;
    hexColor?: string;
    zoomImage?: string;
    images?: ({
        fileName: string;
        functiontype: string;
        jsFormula: string;
        name: string;
        replaceMainImage: boolean;
    } | MediaRef)[];
    showroomImages?: any[];
    isTexture: boolean;
    useMapping?: number;
    textureName?: string;
    material?: string;
    hiddenByMask?: boolean;
    isOPVG?: boolean;
    vCodex?: string;
    showOnlyWhenHasPrice?: boolean;
    showOnlyWhenOPVGroupIsVisible?: boolean;
    isFreeText: boolean;
    rals?: string[];
    colorGroups?: string[];
    measureUnit?: string;
    measureMinimum?: string;
    measureMaximum?: string;
    measureStep?: string;
    priceUnit?: 'm' | 'cm' | 'm2' | 'cm2';
    value?: number;
    property?: any[];
    textbausteine?: any[];
    isCustomAttribute?: boolean;
    hideSubarticleDescription?: boolean;
    defaultQuantity?: number;
    metaData?: MetaData[];
    propertyObj: PropertyOptionObj;
}
export interface PropertyOptionObj {
    url?: string;
    pdfUrl?: string;
    sameopv?: string;
    onlyVisibleIfNotDocked?: string;
    defaultValue?: string;
    summaryCodex?: string;
    viewPointName?: string;
    hideInSummary?: boolean;
    setName?: string;
    setConfig?: string;
    customDimension?: boolean | number;
    onRule?: string;
    contentItemId?: string;
    isNotRelevant?: boolean;
    groupContentItemId?: string;
    setByRule?: string;
    addToMeasure?: {
        op: string;
        value: number;
        opt: string;
    }[];
    isPIMFlatValue?: boolean;
    isVariantAttribute?: boolean;
}
//# sourceMappingURL=CatalogOptionDataTypes.d.ts.map