/** @packageDocumentation * @module PropertyGrid */ import { PropertyData } from "../PropertyDataProvider"; import { IMutableGridItemFactory } from "./flat-items/MutableGridItemFactory"; import { IMutablePropertyGridModel, IPropertyGridModel } from "./PropertyGridModel"; import { PropertyGridModelChangeEvent } from "./PropertyGridModelChangeEvent"; /** @beta */ export interface IPropertyGridModelSource { onModelChanged: PropertyGridModelChangeEvent; setPropertyData: (data: PropertyData) => void; modifyModel(callback: (model: IMutablePropertyGridModel) => void): void; getModel(): IPropertyGridModel | undefined; } /** * Controls property grid model. * It is used to modify property grid model model and inform when the model changes. * @beta */ export declare class PropertyGridModelSource implements IPropertyGridModelSource { private _gridFactory; private _model?; /** Event that is emitted every time property model is changed. */ onModelChanged: PropertyGridModelChangeEvent; constructor(_gridFactory: IMutableGridItemFactory); private getFullModelMap; private moveOldModelState; setPropertyData(data: PropertyData): void; /** * Modifies property grid model using provided callback. * If changes to model are detected, onModelChanged emits an event to all subscribers. */ modifyModel(callback: (model: IMutablePropertyGridModel) => void): void; /** Returns property grid model. */ getModel(): IPropertyGridModel | undefined; } //# sourceMappingURL=PropertyGridModelSource.d.ts.map