import { Action, IAction, MatrixDynamicRowModel, QuestionMatrixDynamicModel, SurveyModel } from "survey-core";
import { SurveyCreatorModel } from "survey-creator-core";
import { CreatorPresetEditableList } from "./presets-editable-list";
export declare class CreatorPresetEditableCaregorizedListConfigurator extends CreatorPresetEditableList {
    protected defaultCategories: any;
    protected get defaultCategoriesMap(): any;
    protected getDefaultItems(question?: QuestionMatrixDynamicModel): any;
    protected get nameInnerMatrix(): string;
    protected get nameCategories(): string;
    getMainElementNames(): any;
    protected getMatrixKeyColumnName(question: QuestionMatrixDynamicModel): any;
    get questionNames(): string[];
    protected setupCategoryActions(model: SurveyModel, creator: SurveyCreatorModel, question: QuestionMatrixDynamicModel, row: MatrixDynamicRowModel, actions: IAction[]): void;
    protected ejectRowData(question: QuestionMatrixDynamicModel, row: MatrixDynamicRowModel, remove: boolean): any;
    private moveToCategory;
    protected itemMenuCategoriesEnabled(model: SurveyModel): boolean;
    protected setSubitemsToAction(action: Action, items: Action[]): void;
    protected getItemMenuActionsCore(model: SurveyModel, question: QuestionMatrixDynamicModel, row: MatrixDynamicRowModel): IAction[];
    protected getItemMenuActions(model: SurveyModel, question: QuestionMatrixDynamicModel, row: MatrixDynamicRowModel): IAction[];
    protected replaceRemoveAction(model: SurveyModel, question: QuestionMatrixDynamicModel, row: MatrixDynamicRowModel, actions: IAction[]): void;
    protected getQuestionCategories(model: SurveyModel): QuestionMatrixDynamicModel;
    protected isItemsMatrix(name: string): boolean;
    private resetCategory;
    protected findOrCreateCategory(categories: any, category?: string): any;
    protected needToSetActions(name: string): boolean;
    protected onGetMatrixRowActionsCore(model: SurveyModel, creator: SurveyCreatorModel, options: any): void;
    protected getExistingKeys(model: SurveyModel, key: string): any[];
    onMatrixRowRemoving(model: SurveyModel, creator: SurveyCreatorModel, options: any): void;
    onMatrixRowAdded(model: SurveyModel, creator: SurveyCreatorModel, options: any): void;
}
