import ArticleOptionData from '../model/Options/ArticleOptionData';
import ArticleOptionValueData from '../model/Options/ArticleOptionValueData';
export default interface ArticleOptionStateDataType {
    option: ArticleOptionData;
    val?: ArticleOptionValueData;
    multiSelects?: ArticleOptionValueData[];
    name: string;
    origName: string;
    visibleOPVs: Map<string, ArticleOptionValueData>;
    visibleOPVKeys: string[];
    visibleOPVsImages: Map<string, string>;
    favoriteOPVs: {
        [opvCodex: string]: ArticleOptionValueData;
    };
    imageOPVs: {
        [codex: string]: string;
    };
    disabled: boolean;
    doShow: boolean;
    invisible: boolean;
    invisibleWithoutMaskeInfluence: boolean;
    usedCalcPrice: number;
    calcPrice: number;
    defaultOPV?: string;
    constructionRules: {
        [opvCodex: string]: ConstructionRule;
    };
    isDefined: boolean;
    valueWasSet: boolean;
    freeText?: string;
    measureValue?: number;
    freeTextLang?: {
        [lang: string]: string;
    };
    isVisibleFreeText: boolean;
    isAccessoirArtNr?: string;
    retailArticleNr?: string;
    showWarningForRequiresUserInput?: boolean;
    definedBySetFeatureFixed: boolean;
    isDifferentOption?: boolean;
    inspectInfo?: OpsInspectInfo;
}
export interface OpsInspectInfo {
    visible: boolean;
    hiddenByDecisionNo?: number;
    headerPosVariationType?: 'K' | 'P' | 'V' | 'I' | 'U';
    visibleHistory?: {
        decisionNo: number;
        visible: boolean;
    }[];
}
export interface ConstructionRule {
    type: 'WARNING' | 'DISABLE';
    message: {
        [lang: string]: string;
    };
}
//# sourceMappingURL=ArticleOptionStateType.d.ts.map