import { CatalogPlannerArticleViewDataType, PlannerPaletteViewDataType, PlannerElementData, DockingPoint } from '@crystaldesign/web-planner-logic';
import { PaletteItemsFilter } from '../../../types';
import UIState from '../../../States/UIState';
import SettingsState from '../../../States/UIState/Settings';
export default class PlannerPalette {
    private allCatalogPlannerArticleItems;
    startFilterType: string[];
    private startHideArticles;
    private doShowAdditionalPlannerElements;
    private doShowAdditionalPlannerElementsFirstTime;
    plannerStep: PlannerPaletteViewDataType;
    private settingsState;
    private uiState;
    private dpIsSelected;
    private elementIsSelected;
    planner2Dot0Active: boolean;
    pendingDockFilter?: string[];
    private selectedElementOnInit?;
    constructor(settingsState: SettingsState, uiState: UIState);
    setCatalogPlannerStep(plannerStep: PlannerPaletteViewDataType): void;
    get DoShowAdditionalPlannerElements(): boolean;
    get DoShowAdditionalPlannerElementsFirstTime(): boolean;
    set DoShowAdditionalPlannerElementsFirstTime(resetBool: boolean);
    get UpdatePaletteAfterPlanningChanged(): boolean | undefined;
    getAllItems(paletteId: number): CatalogPlannerArticleViewDataType[];
    doShowFilterTypes(): boolean;
    doShowFilterType(filterType: 'DockL' | 'DockLR' | 'DockR' | 'DockNone' | 'Accessoire'): boolean;
    isFilterActive(filter: 'DockL' | 'DockLR' | 'DockR' | 'DockNone' | 'Accessoire'): boolean;
    /**
     * This function checks if the docking Point filter do match.
     * @param filter1
     * @param filter2
     */
    private checkDPFilterDoMatch;
    updateSearchFreeText(searchText: string): void;
    changeDockFilter(filter: string): void;
    private setFilter;
    changeAllDockFilters(filter: string[]): void;
    /**
     * This function returns all articles in the list that are matching the plannerElemnts. This depends on the free docking Points and the DockingFilters
     * @param plannerElements
     * @param dp    When a dp is selected
     */
    calcMatchingArticles(plannerElements: PlannerElementData[], dp?: DockingPoint): void;
    private getArticleIdsOfSwitchPlannerElement;
    private getArticleIdsOfAddPlannerElement;
    clearFilters(doClearDockFilter: boolean): void;
    calcFilter(paletteId: number): PaletteItemsFilter;
    private searchFilter;
    private addShowAccOnDpOnlyFilter;
}
//# sourceMappingURL=PlannerItems.d.ts.map