import DivaSet from '../Set/DivaSet';
import DivaConfigTreeData from './DivaConfigTree';
import DivaArticle from '../../logic/Article/DivaArticle';
import { PlannerStepsType } from '../../interface/API/ViewConfigDataType';
import { ArticleOptionValueView } from '../../interface/OptionTypes/ArticleOptionValueView';
import { TabGroup } from '../../interface/ConfiguratorStructureDataType';
import { AccessoireItemType } from '../../interface/Articles/AccessoireItemType';
import { ShelfAccessoriesView } from '../../interface/ShelfPlanner/ShelfAccessoiresView';
declare class DivaConfigTreeHandler {
    buildConfigTree(set: DivaSet, curPlannerType: PlannerStepsType): void;
    private addConfigurationToConfigTree;
    private checkForMergableSelectionModes;
    private addOptionsStateToConfigTree;
    private createTabGroup;
    private createOptionStep;
    private createConfigStep;
    private addShelfPlannerToConfigTree;
    private isDisabledByDiverseParentOption;
    private addDoorPlannerToConfigTree;
    fillConfigStepKeysInAccessoireItem(articles: DivaArticle[], configTree: DivaConfigTreeData, items: (AccessoireItemType | ShelfAccessoriesView)[]): (AccessoireItemType | ShelfAccessoriesView)[] | undefined;
    getConifgItemsForView(set: DivaSet, configStepKey: string): Promise<{
        configItems: ArticleOptionValueView[];
        option: import("../../model/Options/ArticleOptionData").default | undefined;
        selectedItems: ArticleOptionValueView[];
        notTotallyMatichingOPVs: boolean | undefined;
    } | {
        configItems: ArticleOptionValueView[];
        selectedItems: never[];
        option?: undefined;
        notTotallyMatichingOPVs?: undefined;
    }>;
    private getConfigItems;
    /**
     * diese Funktion überprüft bei der öffnung eines Baskets ob ConfigSingle true sein soll. Dies is abhängig davon ob es eine Option gib mit
     * headerPosVariationType == "K" wo die selektierten OptionValueCodex sich unterhalb der Artikel unterscheiden
     * @param optionStatesOfArticles Konfiguration der Artikel
     */
    checkIfLoadedArticlesAreConfigSingle(set: DivaSet): boolean;
    private getOpsInspectInfo;
    private setOpsInspectInfo;
    private getSnapshotOpt;
    private getArticleWithOption;
    private getOpvInspectInfo;
    private prepareConfigItemsForView;
    private getGroupContentItemIdObject;
    getProductList(): Map<string, TabGroup>;
    getHiddenOptions(set: DivaSet): DivaConfigTreeData;
}
declare const configTreeHandler: DivaConfigTreeHandler;
export default configTreeHandler;
//# sourceMappingURL=DivaConfigTreeHandler.d.ts.map