import ArticleOptionStateData from '../logic/Article/ArticleOptionState';
import { AlternativeRendering } from './Rendering/AlternativeRendering';
export interface TabGroup {
    title: string;
    key: string;
    posNr: number;
    type: TabGroupTypes;
    icon?: string;
    options: Map<string, OptionStep>;
    singleOPVOnly: boolean;
    hidden?: boolean;
    alternateRenderings: AlternativeRendering[];
}
export type TabGroupTypes = 'PLANNER' | 'ACC' | 'ACC_PLANNER' | 'PLANNER_2.0' | 'OPTION' | 'SUMMARY' | 'STYLE_CONSULTANT' | 'STATICROOMLIST' | 'SHELFPLANNER' | 'DOORPLANNER' | 'PRODUCTS' | 'PROMOTED';
export interface OptionStep {
    title: string;
    codex: string;
    partOfGroup?: {
        groupName: string;
        position: 'l' | 'r' | undefined;
    };
    configSteps: Map<string, ConfigStep>;
    selectionmode: 1 | 2 | 3;
    mergesToOPG?: true | string;
    idmVariantType?: number;
    mergeToSameOption?: string[];
    isMultiselect: boolean;
}
export type TabGroupsMap = Map<string, TabGroup>;
export interface ConfigStep {
    targetArticles: string[];
    partlistArticles?: string[];
    configInfo?: string;
    option: string;
    ocd?: string;
    key: string;
    keyType: 'ALL' | 'BasketId';
    posNr: number;
    singleOPVOnly: boolean;
    notDisplayedInMainConfigTree?: boolean;
    displaySeparatOnTabgroup?: string;
    differentTabgroupType?: TabGroupTypes;
    accessoireArticleCodex?: string;
    parentShelfId?: string;
    warning?: string;
    isDefined: boolean;
    optionstate?: ArticleOptionStateData;
    isDisabledByDiverseParentOption?: boolean;
}
//# sourceMappingURL=ConfiguratorStructureDataType.d.ts.map