/** * DevExpress Analytics (serializer\native\models\base.model.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 { EventPropertyManager } from '../../eventManager'; import { ArrayPropertyChangedEventArgs, PropertyChangedEventArgs, PropertyChangedEvents } from '../../propertyChangedEvents'; import { ISerializableModel } from '../../serializationInfo'; import { Disposable } from '../../disposable'; import { ComputedOptions, SubscribableProperty, Unwrapped, MultiplatformEngine } from '../multiplatformEngine'; import { IModelSerializer } from '../serializer'; import { IModel, IRenderingModel, IViewModel } from './interfaces.model'; export interface IMutableOptions { rateLimit?: { timeout?: number; method?: string; }; deferred?: boolean; notify?: 'always' | never; } export declare abstract class BaseModel extends Disposable implements ISerializableModel, IModel { deferredUpdateViewModel(): boolean; assignProperty(propertyName: K, value: this[K], options?: IMutableOptions): void; assignArrayProperty(propertyName: K, value: this[K], options?: IMutableOptions): void; deserialize(model: object, serializer: IModelSerializer): void; dispose(): void; _needInitializeModel(): boolean; _initializeModel(model: object, serializer: IModelSerializer): void; constructor(model?: object, serializer?: IModelSerializer); events: EventPropertyManager; _model?: any; __decorators?: Array<(model: this) => void>; abstract onPropertyChanged(args: PropertyChangedEvents['propertyChanged']): void; } export declare function mutable(defaultVal?: (() => any) | any, options?: IMutableOptions): (target: BaseModel, propertyKey: string) => any; export declare function mutableArray(defaultVal?: () => any[], options?: IMutableOptions): (target: BaseModel, propertyKey: string) => any; export declare class BaseEmptyModel extends BaseModel { onPropertyChanged(args: PropertyChangedEventArgs | ArrayPropertyChangedEventArgs): void; } export declare class BaseRenderingModel extends BaseModel implements IRenderingModel, ISerializableModel { __viewModel: TViewModel | undefined; getViewModel(): TViewModel; onPropertyChanged(args: PropertyChangedEvents['propertyChanged']): void; initializeViewModel(): void; updateViewModel(args: PropertyChangedEvents['propertyChanged']): void; setProperty(propertyName: string, value: unknown): void; getProperty(propertyName: string): unknown; createViewModel(): TViewModel; } type GetType = 'unwrap' | 'peek' | 'wrapped'; type GetFunctionReturnType = Type extends 'unwrap' | 'peek' ? Unwrapped : Model[K]; export type EngineType = 'multiplatform' | 'native'; export declare class BaseRenderingMultiplatformModel extends BaseRenderingModel { _engineType: EngineType; constructor(model?: object, serializer?: IModelSerializer, _engineType?: EngineType); private _propertiesSubscriptions; _needInitializeModel(): boolean; _getEngine(): MultiplatformEngine; onPropertyChanged(args: PropertyChangedEventArgs | ArrayPropertyChangedEventArgs): void; subscribeOnChanges(viewModel: IViewModel, propertyNames: Array): void; _get(propertyName: K | string, unwrap?: GetType): GetFunctionReturnType; _set(propertyName: K | string, value: Unwrapped | any): void; assignProperty(propertyName: K, value: this[K], options?: IMutableOptions): void; assignArrayProperty(propertyName: K, value: this[K], options?: IMutableOptions): void; createComputedProperty(propertyName: K, computedOptions: ComputedOptions, properties: SubscribableProperty[], options?: IMutableOptions, pure?: boolean): () => void; subscribeProperty(propertyName: K, callback: (newVal: this[K]) => void, onDispose?: () => void): () => void; unwrap(value: T): Unwrapped; peek(value: T): Unwrapped; destroyPropertySubscription(propertyName: string): void; dispose(): void; } export {};