/**
* DevExpress Analytics (core\utils\_designerCreator.d.ts)
* Version: 25.2.7
* Build date: May 5, 2026
* Copyright (c) 2012 - 2026 Developer Express Inc. ALL RIGHTS RESERVED
* License: https://www.devexpress.com/Support/EULAs/universal.xml
*/
///
///
import * as ko from 'knockout';
import { ObjectProperties } from '../../property-grid/propertygrid';
import { IPropertiesAccessibilityProvider } from '../../property-grid/_propertiesAccessibilityProvider';
import { ISerializationInfoArray } from '../../serializer/serializationInfo';
import { Disposable, DisposableType, IDisposable } from '../../serializer/disposable';
import { UndoEngine } from '../../undo-engine/undoengine';
import { IAction } from '../../widgets/utils';
import { DragDropHandler } from '../dragDrop/_dragDropHandler';
import { DragHelperContent } from '../dragDrop/_dragHelperContent';
import { SelectionDragDropHandler } from '../dragDrop/_selectionDragDropHandler';
import { ToolboxDragDropHandler } from '../dragDrop/_toolboxDragDropHandler';
import { DesignControlsHelper, IDesignControlsHelper } from '../internal/_controlsHelper';
import { InlineTextEdit } from '../internal/_inlineTextEdit';
import { ControlsStore } from '../internal/_stores';
import { SurfaceSelection } from '../selection/_selection';
import { SnapLinesHelper } from '../snapLines/_snapLinesHelper';
import { ToolboxItem } from '../tools/toolbox';
import { ActionLists } from '../tools/_actionList';
import { ControlProperties } from '../widgets/propertygrid/_controlProperties';
import { GroupObject } from '../widgets/propertygrid/_group';
import { IActionsProvider } from '../_actionsProvider.interface';
import { ControlsFactory } from './controlsFactory';
import { IGroupedItem } from './_utils';
import { IDesignerPart } from './_utils.designerPart';
import { TabPanel } from '../widgets/tabPanel';
import { TabInfo } from '../widgets/tabInfo';
import { ContextMenuProvider } from '../tools/contextMenuProvider';
export interface IDesignerContext {
model: ko.Observable | ko.Computed;
surface?: ko.Observable | ko.Computed;
undoEngine?: ko.Observable | ko.Computed;
}
export interface IDesignerModel extends IDisposable {
model: ko.Observable | ko.Computed;
rtl: boolean;
surface: ko.Observable | ko.Computed;
undoEngine: ko.Observable | ko.Computed;
selection: SurfaceSelection;
snapHelper: SnapLinesHelper;
editableObject: ko.Observable;
dragHelperContent: DragHelperContent;
dragDropStarted: ko.Observable | ko.Computed;
dragHandler: SelectionDragDropHandler;
toolboxDragHandler: ToolboxDragDropHandler;
resizeHandler: IResizeHandler;
toolboxItems: ToolboxItem[];
groupedToolboxItems: IGroupedItem[];
isLoading: ko.Observable | ko.Computed;
propertyGrid: ControlProperties;
popularProperties: ObjectProperties;
controlsHelper: DesignControlsHelper;
controlsStore: ControlsStore;
tabPanel: TabPanel;
contextActionProviders: IActionsProvider[];
contextActions: ko.Observable | ko.Computed;
contextGroupActions: ko.Computed[]>;
appMenuVisible: ko.Observable | ko.Computed;
toggleAppMenu: () => void;
getMenuPopupContainer: (el: HTMLElement) => JQuery;
getMenuPopupTarget: (el: HTMLElement) => JQuery;
inlineTextEdit: InlineTextEdit;
actionsGroupTitle: () => string;
updateFont: (values: {
[key: string]: string;
}) => void;
sortFont: () => void;
surfaceSize: ko.Observable | ko.Computed;
popularVisible: ko.Computed;
groupActionsVisible: ko.Computed;
actionLists: ActionLists;
parts: IDesignerPart[];
ContextMenusEnabled: ko.Observable;
surfaceClass: (elem: any) => string;
disposableContainer: Disposable;
addDisposables: (...elem: DisposableType[]) => void;
containerClass: string;
}
export declare class DesignerContextGeneratorInternal {
private _context;
private _rtl?;
constructor(_context: T, _rtl?: boolean);
addElement(propertyName: string, model: object): DesignerContextGeneratorInternal;
addUndoEngine(undoEngine?: ko.Observable | ko.Computed): DesignerContextGeneratorInternal;
addSurface(surface: ko.Observable | ko.Computed): DesignerContextGeneratorInternal;
getContext(): IDesignerContext;
}
export declare class DesignerContextGenerator {
private _rtl?;
constructor(_rtl?: boolean);
addModel(model: object): DesignerContextGeneratorInternal;
}
export interface IDesingerGeneratorSettings {
generate(): any;
}
export interface IResizeHandler {
starting: (event: any, element: any) => void;
resizing?: (diff: any) => void;
stopped: () => void;
disabled?: ko.Observable | ko.Computed;
snapHelper?: SnapLinesHelper;
}
export declare class ResizeSettings extends Disposable implements IDesingerGeneratorSettings {
private _handler;
get handler(): IResizeHandler;
set handler(newVal: IResizeHandler);
generate(): object;
}
export declare class ContextActionsSettings extends Disposable implements IDesingerGeneratorSettings {
private _actionProviders;
private _actions;
private _groupActions;
private _actionUndoEngineWrappingFunction;
private _collectActions;
get actionProviders(): IActionsProvider[];
set actionProviders(val: IActionsProvider[]);
get actions(): ko.Observable | ko.Computed;
set actions(val: ko.Observable | ko.Computed);
get groupActions(): ko.Observable[]> | ko.Computed[]>;
set groupActions(val: ko.Observable[]> | ko.Computed[]>);
createDefaultActions(editableObj: ko.Observable | ko.Computed, undoEngine: ko.Observable | ko.Computed): void;
createDefaultGroupAction(editableObj: ko.Observable | ko.Computed, undoEngine: ko.Observable | ko.Computed): void;
createDefaultContextMenuActions(editableObj: ko.Observable | ko.Computed, undoEngine: ko.Observable | ko.Computed): void;
generate(): object;
generateContextMenu(model: IDesignerModel): {
contextMenu: ContextMenuProvider;
};
}
export declare class DragDropSettings extends Disposable implements IDesingerGeneratorSettings {
private _model;
private _dragHelperContent;
private _dragDropStarted;
get dragHelperContent(): DragHelperContent;
set dragHelperContent(val: DragHelperContent);
get dragDropStarted(): boolean | ko.Observable;
set dragDropStarted(val: boolean | ko.Observable);
addDragDropHandler(propertyName: string, handler: DragDropHandler): void;
generate(): object;
}
export declare class ControlsHelperSettings extends Disposable implements IDesingerGeneratorSettings {
private _selection;
private _context;
private _model;
private controlsHelper;
constructor(_selection: SurfaceSelection, _context: IDesignerContext);
generate(): object;
addControlsHelper(helper?: IDesignControlsHelper): ControlsHelperSettings;
addControlsStore(store?: ControlsStore): ControlsHelperSettings;
}
export declare class MenuSettings extends Disposable implements IDesingerGeneratorSettings {
generate(): object;
_appMenuVisible: ko.Observable | ko.Computed;
toggleAppMenu: () => void;
stopPropagation: boolean;
getMenuPopupContainer: (el: HTMLElement) => JQuery;
getMenuPopupTarget: (el: HTMLElement) => JQuery;
get appMenuVisible(): ko.Observable | ko.Computed;
set appMenuVisible(val: ko.Observable | ko.Computed);
}
export declare class SelectionSettings extends Disposable implements IDesingerGeneratorSettings {
private _selection;
private _snapHelper;
private _editableObject;
private _dragDropSettings;
private _resizeSettings;
dispose(): void;
get selection(): SurfaceSelection;
set selection(val: SurfaceSelection);
get snapHelper(): SnapLinesHelper;
set snapHelper(val: SnapLinesHelper);
get editableObject(): ko.Observable | ko.Computed;
set editableObject(val: ko.Observable | ko.Computed);
addDragDrop(func: (settings: DragDropSettings) => void): void;
addResize(func: (settings: ResizeSettings) => void): void;
generate(): object;
}
export declare class CommonDesignerGenerator extends Disposable {
private _context?;
private _rtl?;
private _model;
private _selectionSettings;
private _createPopularProperties;
private _resetModel;
protected get rtl(): boolean;
protected set rtl(newVal: boolean);
dispose(): void;
constructor(_context?: IDesignerContext, _rtl?: boolean);
initializeContext(context: IDesignerContext): CommonDesignerGenerator;
getPropertyByName(propertyName: string): any;
addElement(propertyName: string, elementFunc: () => any): CommonDesignerGenerator;
mapOnContext(): CommonDesignerGenerator;
addSelection(func: (settings: SelectionSettings) => void): CommonDesignerGenerator;
addPropertyGrid(propertyGrid?: () => ObjectProperties, propertyName?: string): CommonDesignerGenerator;
addContextMenu(contextMenu: ContextMenuProvider): void;
addDisposableContainer(): CommonDesignerGenerator;
addControlProperties(editors: ISerializationInfoArray, groups: GroupObject, accessibilityProvider?: IPropertiesAccessibilityProvider): CommonDesignerGenerator;
createControlProperties(editors: ISerializationInfoArray, groups: GroupObject, accessibilityProvider?: IPropertiesAccessibilityProvider): ControlProperties;
addPopularProperties(controlsFactory: ControlsFactory, accessibilityProvider?: IPropertiesAccessibilityProvider): CommonDesignerGenerator;
addToolboxItems(items?: () => ToolboxItem[]): CommonDesignerGenerator;
addGroupedToolboxItems(): CommonDesignerGenerator;
addTabPanel(panel?: () => TabPanel, addTabInfo?: () => TabInfo[]): CommonDesignerGenerator;
addIsLoading(isLoadingFunc?: () => ko.Observable): CommonDesignerGenerator;
addControlsHelper(func: (settings: ControlsHelperSettings) => void): CommonDesignerGenerator;
addMenu(func: (settings: MenuSettings) => void): CommonDesignerGenerator;
addContextActions(func: (contextActions: ContextActionsSettings) => void): CommonDesignerGenerator;
addParts(func?: (parts: any) => IDesignerPart[], useDefaults?: boolean): CommonDesignerGenerator;
getModel(): IDesignerModel;
addActionList(actionListsFunc?: () => ActionLists): CommonDesignerGenerator;
}