import DivaSet from '../Set/DivaSet';
import DivaArticle from '../Article/DivaArticle';
import ArticleOptionStateData from '../Article/ArticleOptionState';
import { GroupsData } from '@crystaldesign/basket-model';
import { SummaryItem } from '../../interface/Summary/SummaryItemType';
import { SummaryPaletteItemType } from '../../interface/Summary/SummaryPaletteItemType';
export type GroupedArticles = {
    [key: string]: {
        articles: {
            [basketId: string]: DivaArticle;
        };
        quantity: number;
    };
};
declare class SummaryHandler {
    constructor();
    buildSummaryItems(articlesPosNrs: {
        [basketId: string]: number;
    }, set: DivaSet, summaryForBasket: boolean): {
        [key: string]: SummaryItem;
    };
    private getSummaryItemsofArticle;
    private addAccessoires;
    /**Lück specific summary */
    buildSummaryItemsOfPartlistWithSpecialOptions(set: DivaSet): SummaryPaletteItemType;
    private newTabGroupSummaryItem;
    getSummaryItems(sets: {
        [setId: string]: DivaSet;
    }, doConfigure: (myValues: {
        [optCodex: string]: string;
    }, targetArticles: string[], dontUpdatePlannerView?: boolean) => Promise<void>): Promise<SummaryPaletteItemType[]>;
    getSummaryStepWarning(set: DivaSet, summaryItems: SummaryPaletteItemType[]): string | undefined;
    convertSummaryItemsToSummaryInfo(set: DivaSet): GroupsData[];
    private getSummaryType;
    private getOptionTreeSummary;
    private getGroupedArticlesForSummary;
    private geTabGroupFormOptionsForSummary;
    getTabgroupByOptionCodex(opt: string, articles: DivaArticle[]): string | undefined;
    getOptionCodexesOfTabGroupForSummary(article: DivaArticle, partListArticle: DivaArticle, usedOptionCodexes: string[], dontUpdateUsedOptionCodexes?: boolean): ArticleOptionStateData[];
    getVariantsSummary(doConfigure: (myValues: {
        [optCodex: string]: string;
    }, targetArticles: string[], dontUpdatePlannerView?: boolean) => Promise<void>, set: DivaSet): Promise<SummaryPaletteItemType>;
    private getArticlesPosNr;
    private getAdditionalPriceOfOption;
    private getArticlesPrice;
}
declare const summaryHandlerInstance: SummaryHandler;
export default summaryHandlerInstance;
//# sourceMappingURL=SummaryHandler.d.ts.map