/** * DevExpress Analytics (serializer\native\viewModels\viewModelGenerator.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 { DisposableViewModel } from '../../disposable'; import { EventManager } from '../../eventManager'; import { IModel, IViewModel } from '../models/interfaces.model'; export declare const ViewModelChangedEvent = "viewModelChanged"; type ViewModelChangedEventArgs = { propertyName: string | number; oldValue: any; newValue: any; }; type ViewModelEvents = { 'viewModelChanged': ViewModelChangedEventArgs; }; export type EventManagerHolder = T & { _viewModelEvents: EventManager; }; export type ViewModelGenerator = { createDefaultModel(model: IModel): ViewModelGenerator; generateProperty(propertyName: K, value?: T[K], suppressViewModelNotification?: boolean): ViewModelGenerator; configureProperty(propertyName: K, configure: (property: T[K]) => void): ViewModelGenerator; getViewModel(): T; }; export type ValueStorageFactory = (initialValue: any) => { getValue: () => any; setValue: (value: any) => void; explicitNotifySubscribers: () => void; }; export declare class ViewModel extends DisposableViewModel implements IViewModel { private _model; constructor(_model: any); getModel(): any; } export declare const viewModelGeneratorSettings: { customValueStorageFactory: ValueStorageFactory; ensureChangesImmutable: boolean; addTestFlag: boolean; }; export declare const createViewModelGenerator: (_viewModel?: Partial) => ViewModelGenerator; export {};