import ArticleOptionValueData from '../../../model/Options/ArticleOptionValueData';
import DivaArticle from '../DivaArticle';
import PartListArticleToLoad from '../../../interface/Articles/PartListArticleToLoadType';
import ArticleOptionStateData from '../ArticleOptionState';
import ArticleEngine from './ArticleEngine';
export default class DivaEngine implements ArticleEngine {
    private article;
    private decisionDebugStack;
    constructor(article: DivaArticle);
    updateArticleOptionTree(): string[];
    private checkItemVisibility;
    updateArtOPV(myItem: ArticleOptionValueData | null, OP: string, ops?: ArticleOptionStateData, freeText?: string): void;
    private updateIDMSpecificFeature;
    private evalVariablenInName;
    setOP(OptionCodex: string, myOPVItem: ArticleOptionValueData, freeText?: string | null, doDefine?: boolean): ArticleOptionStateData | undefined;
    private itemInfo;
    clearOP(optionCodex: string, keepEnalbed?: boolean): void;
    evalDecisions(onlyUpdateOnce?: boolean): void;
    evalAllDecisions(): void;
    private pushDecisionDebug;
    /**
     * @deprecated
     */
    private checkDisableDecision;
    updateIDMSpecificFeatures(): void;
    private evalCombi;
    private evalType2Decision;
    private setFeature;
    private setFeatureInvisible;
    private setFeatureDefault;
    private disableDecision;
    private enableDecision;
    private evalType1Decision;
    private checkIfDocIsValid;
    private evalType0Decision;
    private evalShowOnlyWhenHasPrice;
    /**
     * @deprecated
     */
    private evalType2Decisions;
    assignOptionValue(optionCodex: string, optionValue: string, setBy?: 'fix' | 'set' | 'default', freeText?: string): void;
    private getOptionTreeItem;
    evalSetFeatureDefaultDecisions(): {
        [codex: string]: string;
    };
    private pushPartlistDebugEntry;
    evalPartlist(newConfigValues?: {
        [optCodex: string]: string;
    }): PartListArticleToLoad[];
    private addPartilstToPartlistArticlesToLoad;
    private checkDecisionNumber;
    calcConfigPrice(maxPriceOfGroupCodex: string[], digits: number): void;
    private getPriceRefs;
    getValuesInfluencingOPT(opt: string, opv?: string): {
        [opt: string]: string;
    }[];
    private getOptionPrice;
    updateConfigDependentMedia(): void;
}
//# sourceMappingURL=DivaArticleEngine.d.ts.map