/** * DevExpress Analytics (core\elements\elementViewModel.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 { IModelAction, IModelActionProvider } from '../../property-grid/widgets/internal/_utils'; import { ISerializationInfo, ISerializationInfoArray } from '../../serializer/serializationInfo'; import { IModelSerializer } from '../../serializer/serializer'; import { Disposable } from '../../serializer/disposable'; import { ISelectionTarget } from '../selection/_selection'; import { ControlsFactory } from '../utils/controlsFactory'; export interface IElementMetadata { info: ISerializationInfoArray; surfaceType: any; type?: any; nonToolboxItem?: boolean; isToolboxItem?: boolean; toolboxIndex?: number; defaultVal?: {}; group?: string; size?: string; isContainer?: boolean; isCopyDeny?: boolean; isPasteDeny?: boolean; isDeleteDeny?: boolean; popularProperties?: string[]; canDrop?: (dropTarget: ISelectionTarget, dragFrom?: ElementViewModel) => boolean; elementActionsTypes?: any; parentType?: string; displayName?: string; } export interface IElementViewModel { controlType: T; name: ko.Observable | ko.Computed; parentModel: ko.Observable>; addChild: (element: IElementViewModel) => void; addChilds: (array: IElementViewModel[]) => void; removeChild: (element: IElementViewModel) => void; removeChilds: (array: IElementViewModel[]) => void; getNearestParent: (dropTarget: IElementViewModel) => IElementViewModel; } export interface IControlPropertiesViewModel { isPropertyDisabled: (name: string) => boolean; isPropertyVisible: (name: string, isPopularProperty?: boolean) => boolean; isPropertyModified: (name: string) => boolean; controlType?: T; actions: IModelAction[]; actionProviders?: IModelActionProvider[]; } export declare class PropertyModificationModel extends Disposable { getInfo(): ISerializationInfoArray; getPropertyInfo(propertyName: string): ISerializationInfo; getPropertyDefaultValue(propertyName: string): any; isPropertyModified(name: string): any; } export declare class ElementViewModel extends PropertyModificationModel implements IElementViewModel, IControlPropertiesViewModel { protected _resetProperty(propertyName: string): void; getInfo(): ISerializationInfoArray; createControl(model: any, serializer?: IModelSerializer): IElementViewModel; dispose(): void; beforeDeserialize(model: any, parent: ElementViewModel, serializer?: IModelSerializer): void; afterDeserialize(model: any, parent: ElementViewModel, serializer?: IModelSerializer): void; constructor(model: any, parent: ElementViewModel, serializer?: IModelSerializer); getNearestParent(target: IElementViewModel): IElementViewModel; getControlInfo(): { [key in string | T]?: IElementMetadata; }[T | "Unknown"]; getMetaData(): { isContainer: boolean; isCopyDeny: boolean; isDeleteDeny: boolean; canDrop: (dropTarget: ISelectionTarget, dragFrom?: ElementViewModel) => boolean; isPasteDeny: boolean; }; _hasModifiedValue(name: any): any; name: ko.Observable | ko.Computed; controlType: T; createChild(info: {}): ElementViewModel; removeChilds(controls: ElementViewModel[]): void; addChilds(controls: ElementViewModel[]): void; removeChild(control: ElementViewModel): void; addChild(control: IElementViewModel): void; isPropertyVisible(name: string): boolean; isPropertyDisabled(name: string): boolean; getControlFactory(): ControlsFactory; resetValue: (propertyName: string) => void; isResettableProperty(propertyName: string): boolean; surface: any; parentModel: ko.Observable>; _getRoot(): ElementViewModel; get root(): ElementViewModel; rtl(): boolean; onDelete(): void; actions: IModelAction[]; actionProviders: any[]; update: ko.Observable; }