import { IPropertyDeclaration } from './interfaces/property-declaration.interface'; import { Model } from './model'; import { PartialModelPropertiesOf } from './types/partial-model-properties-of.type'; export declare abstract class MutableModel extends Model { set(data: PartialModelPropertiesOf>): this; clone(deepClone?: boolean): T; freeze(): this; isFrozen(): boolean; protected cloneProperty(propertyMetadata: IPropertyDeclaration, value: any): any; protected freezeProperty(propertyMetadata: IPropertyDeclaration, value: any): void; protected defineProperty(propertyMetadata: IPropertyDeclaration, value: any): void; }